典型的微服务架构是什么样的?

典型的微服务架构是什么样的?

 title=

典型的微服务架构是什么样的?下图列举了典型的微服务架构所包含的部件。

典型的微服务架构是什么样的?_第1张图片

负载均衡器

它将传入流量分配给多个后端服务,是高可用架构的关键组件。流量的分配一般遵循某种算法。比如轮询 (Round Robin),最小连接 (Lest Connections)等。

CDN(内容分发网络)

CDN 是一组分布在不同地域的服务器,用于保存静态内容以加快响应速度。客户端首先在 CDN 服务器中查找内容,如果找不到再转到后端服务。

API 网关

它处理传入的请求,并将其路由到相关服务。它与身份验证模块和服务发现模块交互。

身份验证

处理用户的身份鉴权 (Authentication) 和授权(Authorization)。

服务注册和发现

微服务注册和发现在此组件中进行,API 网关在此组件中寻找相关服务地址并发送请求到相关服务。

管理组件

该组件负责配置、线上监控和管理。

微服务

微服务分为不同的域,并在各个域中独立设计和部署。每个域都有自己的数据库。API 网关通过 REST API 或其他协议调用微服务,同一域内的微服务通过 RPC 来交互。

中间件 - 消息队列

微服务之间还可以通过消息队列来进行异步交互和扇出 (Fan Out)。比如,支付服务会花费较长时间来完成付款,那么上游的交易系统就可以通过Kafka来发送请求,等到支付完成后再通过Kafka进行回调。

缓存

为了加快热点数据的响应速度,微服务可以在访问数据库前先查询缓存。架构中加入缓存后,我们需要注意缓存和数据库的数据一致性。

微服务的优势

  • 可以快速设计、部署和横向扩展。
  • 每个域都可以由专门的团队独立维护。
  • 业务需求可以在每个域中定制,从而得到更好的支持。

你可能感兴趣的:(后端)