微服务架构概述

Posted key_3_feng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务架构概述相关的知识,希望对你有一定的参考价值。

微服务架构(microservicearchitecture)是一种架构设计理念,旨在通过将功能分解到各个分散的服务中来实现对解决方案的解耦。服务化是将企业资源以业务能力的形式组织起来,通过一定的技术架构对这些业务能力进行封装,形成易于消费的服务,从而实现业务能力粒度的复用、组装、维护和管理,以灵活迅捷地构筑特定业务目的的企业应用。

微服务架构特点

技术架构的目标是实现对业务发展提供有力支持,比如业务敏捷、应用弹性、持续交付。相比单体架构,微服务架构具有如下特点。

  • 每个微服务应用独立部署、独立运行(独立的进程),可以针对每一个微服务应用独立扩缩容。
  • 一个微服务应用内包括若干服务,服务粒度无特别标准,综合考虑复用性以及功能完整性,保持组织内部理解一致即可。
  • 微服务之间通过轻量级通信协议进行交互(基于HTTP,而不是SOAP)。协议风格分为RPC和REST两种。
  • 微服务应用之间通过标准的接口以及契约进行交互,每个微服务应用可以采用不同的技术栈实现。
  • 每个微服务应用都可以独立发布、独立升级,而不会影响其他的微服务应用,这种方式更容易实现对业务需求的快速响应。
  • 去中心化架构,服务注册中心只在应用启动时用以注册及推送服务,服务调用过程无须通过服务注册中心,而采用更高效的点对点调用(或通过第三方的服务网关路由)。
微服务治理

微服务治理的好坏决定了企业实施分布式微服务架构的成败。总体来说,微服务治理包括服务目录、服务路由、服务管控、服务监控4个部分的内容。服务治理的手段是从不同角度来确保服务调用的成功率。

  • 服务目录

服务治理领域最重要的问题就是服务发现与注册。绝大部分微服务框架中引入了一个服务注册中心的概念,服务的注册与发现主要依赖这个服务注册中心。服务注册中心还需实时监听所有服务节点的健康状态,以及节点的上下线消息,及时更新推送服务地址信息。

  • 服务路由

根据配置中心配置的路由规则进行服务的路由指向,既可以在调用方本地路由,也可以由专门的组件(如负载均衡)进行路由处理。服务调用并不总是一定成功的,可能的原因包括服务提供者节点自身死机、进程异常退出或者服务消费者与提供者之间的网络出现故障等。对于服务调用失败的情况,需要有手段自动恢复,来确保调用成功。

  • 服务管控

提供不同环境(如开发、测试、生产)的服务隔离机制,以及不同租户之间的服务隔离。限流和降级是保护自身服务正常运行的两方面的手段。限流指的是当外部请求量太大时,进行主动拒绝(或者放入缓冲队列),确保系统不被压垮;降级指的是当依赖的第三方系统性能异常(或不可用)时,为了不被第三方系统拖垮。

  • 服务监控

记录每一次服务请求的审计日志,以不同维度生成服务报表(调用量、调用时长、状态分布、错误率等)。服务追踪系统可以跟踪记录一次用户请求发起了哪些调用,经过哪些服务处理,并且记录每一次调用所涉及的服务的详细信息,通过日志快速定位是调用失败的环节。

以上是关于微服务架构概述的主要内容,如果未能解决你的问题,请参考以下文章

.NET CORE开源 DDD微服务 支持 多租户 单点登录 多级缓存自动任务分布式日志授权和鉴权 网关 注册与发现 系统架构 docker部署

彻底理解微商城多租户Saas架构设计

什么是多租户saas架构设计

微服务架构概述

微服务架构概述

微服务架构概述