微服务架构系列 - 基础篇:微服务架构总体设计概览

- 1 min

微服务架构系列(二)

看完微服务的定义后,接下来我们一起走进微服务架构,来看看它的总体设计和各个组成部分。

在具体介绍各个组件之前,我们先通过下面这张微服务设计整体架构图来看下一次完整的服务调用流程:

img

首先,服务提供者(用户、商品等微服务子模块)按照指定格式的服务接口描述,向注册中心注册服务,声明自己能够提供哪些服务以及对应的服务提供者地址,从而完成服务发布。

接下来,服务消费者(API 网关层或者相邻的其它微服务子模块)通过订阅注册中心,发现需要调用服务对应的服务提供者地址,然后以约定的通信协议(REST API 或 RPC)向服务提供者发起请求,得到请求结果后再按照约定的协议解析结果。

在服务调用过程中,服务的请求耗时、调用量以及成功率等指标都会被记录下来用作监控指标,整个调用所经过的链路信息也会被记录下来,用于故障定位和问题追踪。在这期间,如果调用失败,可以通过重试、熔断、隔离等服务治理手段来保证服务的可用性。

总结起来,在微服务架构下,服务调用主要依赖下面几个基本组件:

此外,从微服务部署角度来说,我们通常会基于容器编排技术实现微服务的运维。

上述组件基本上都有成熟的开源框架可供选择,接下来,我们会逐一介绍这些组件在微服务中的具体实现。

rss facebook twitter github gitlab youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora