乐趣区

关于后端:典型的微服务架构是什么样的

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

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

负载均衡器

它将传入流量调配给多个后端服务,是高可用架构的要害组件。流量的调配个别遵循某种算法。比方轮询 (Round Robin),最小连贯 (Lest Connections) 等。

CDN(内容散发网络)

CDN 是一组散布在不同地区的服务器,用于保留动态内容以放慢响应速度。客户端首先在 CDN 服务器中查找内容,如果找不到再转到后端服务。

API 网关

它解决传入的申请,并将其路由到相干服务。它与身份验证模块和服务发现模块交互。

身份验证

解决用户的身份鉴权 (Authentication) 和受权 (Authorization)。

服务注册和发现

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

治理组件

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

微服务

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

中间件 – 音讯队列

微服务之间还能够通过音讯队列来进行异步交互和扇出 (Fan Out)。比方,领取服务会破费较长时间来实现付款,那么上游的交易系统就能够通过 Kafka 来发送申请,等到领取实现后再通过 Kafka 进行回调。

缓存

为了放慢热点数据的响应速度,微服务能够在拜访数据库前先查问缓存。架构中退出缓存后,咱们须要留神缓存和数据库的数据一致性。

微服务的劣势

  • 能够疾速设计、部署和横向扩大。
  • 每个域都能够由专门的团队独立保护。
  • 业务需要能够在每个域中定制,从而失去更好的反对。
退出移动版