微服务架构概述

人生难得几回搏,此时不搏待何时。这篇文章主要讲述微服务架构概述相关的知识,希望能为你提供帮助。
微服务架构(microservicearchitecture)是一种架构设计理念,旨在通过将功能分解到各个分散的服务中来实现对解决方案的解耦。服务化是将企业资源以业务能力的形式组织起来,通过一定的技术架构对这些业务能力进行封装,形成易于消费的服务,从而实现业务能力粒度的复用、组装、维护和管理,以灵活迅捷地构筑特定业务目的的企业应用。
微服务架构特点技术架构的目标是实现对业务发展提供有力支持,比如业务敏捷、应用弹性、持续交付。相比单体架构,微服务架构具有如下特点。

  • 每个微服务应用独立部署、独立运行(独立的进程),可以针对每一个微服务应用独立扩缩容。
  • 一个微服务应用内包括若干服务,服务粒度无特别标准,综合考虑复用性以及功能完整性,保持组织内部理解一致即可。
  • 微服务之间通过轻量级通信协议进行交互(基于HTTP,而不是SOAP)。协议风格分为RPC和REST两种。
  • 微服务应用之间通过标准的接口以及契约进行交互,每个微服务应用可以采用不同的技术栈实现。
  • 每个微服务应用都可以独立发布、独立升级,而不会影响其他的微服务应用,这种方式更容易实现对业务需求的快速响应。
  • 去中心化架构,服务注册中心只在应用启动时用以注册及推送服务,服务调用过程无须通过服务注册中心,而采用更高效的点对点调用(或通过第三方的服务网关路由)。
微服务治理微服务治理的好坏决定了企业实施分布式微服务架构的成败。总体来说,微服务治理包括服务目录、服务路由、服务管控、服务监控4个部分的内容。服务治理的手段是从不同角度来确保服务调用的成功率。
  • 服务目录
服务治理领域最重要的问题就是服务发现与注册。绝大部分微服务框架中引入了一个服务注册中心的概念,服务的注册与发现主要依赖这个服务注册中心。服务注册中心还需实时监听所有服务节点的健康状态,以及节点的上下线消息,及时更新推送服务地址信息。
  • 服务路由
根据配置中心配置的路由规则进行服务的路由指向,既可以在调用方本地路由,也可以由专门的组件(如负载均衡)进行路由处理。服务调用并不总是一定成功的,可能的原因包括服务提供者节点自身死机、进程异常退出或者服务消费者与提供者之间的网络出现故障等。对于服务调用失败的情况,需要有手段自动恢复,来确保调用成功。
  • 服务管控
【微服务架构概述】提供不同环境(如开发、测试、生产)的服务隔离机制,以及不同租户之间的服务隔离。限流和降级是保护自身服务正常运行的两方面的手段。限流指的是当外部请求量太大时,进行主动拒绝(或者放入缓冲队列),确保系统不被压垮;降级指的是当依赖的第三方系统性能异常(或不可用)时,为了不被第三方系统拖垮。
  • 服务监控
记录每一次服务请求的审计日志,以不同维度生成服务报表(调用量、调用时长、状态分布、错误率等)。服务追踪系统可以跟踪记录一次用户请求发起了哪些调用,经过哪些服务处理,并且记录每一次调用所涉及的服务的详细信息,通过日志快速定位是调用失败的环节。

    推荐阅读