浅谈微服务架构

微服务组成部分

  • 服务描述
  • 注册中心
  • 服务框架
  • 服务监控
  • 服务追踪
  • 服务治理

###服务描述
常见的服务描述方式包括RESTful API、XML配置以及IDL文件三种。

  • RESTful API方式通常用于HTTP协议的服务描述
  • XML配置方式多用作RPC协议的服务描述,通过*.xml配置文件来定义接口名、参数以及返回值类型等。
  • IDL文件方式通常用作Thrift和gRPC这类跨语言服务调用框架

注册中心

服务提供者将自己提供的服务以及地址登记到注册中心,服务消费者则从注册中心查询所需要调用的服务的地址,然后发起请求。

工作流程

  1. 服务提供者在启动时,根据服务发布文件中配置的发布信息向注册中心注册自己的服务。
  2. 服务消费者在启动时,根据消费者配置文件中配置的服务信息向注册中心订阅自己所需要的服务。
  3. 注册中心返回服务提供者地址列表给服务消费者。
  4. 当服务提供者发生变化,比如有节点新增或者销毁,注册中心将变更通知给服务消费者。

服务框架

服务消费者从注册中心获取服务提供者的地址,有了地址就可以发起调用。

  • 服务通信采用协议的选择? TCP、UDP or HTTP协议
  • 数据传输采用方式? 同步 or 异步 单连接传输 or 多路复用