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

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

alt

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

alt

负载均衡器

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

CDN(内容分发网络)

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

API 网关

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

身份验证

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

服务注册和发现

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

管理组件

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

微服务

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

中间件 - 消息队列

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

缓存

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

微服务的优势

  • 可以快速设计、部署和横向扩展。
  • 每个域都可以由专门的团队独立维护。
  • 业务需求可以在每个域中定制,从而得到更好的支持。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ByteByteGo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值