架构思维成长系列教程(十三)- 服务治理平台架构设计

背景

大型电商网站是基于 SOA 架构的,如此大规模的服务架构,需要一个高效、快速、优雅的服务治理平台,本文介绍如何搭建一个高效的服务治理平台。

内容

服务治理平台

服务治理平台,建立的初衷是:

  • 可实现对服务健康状况的管理、跟踪每个服务请求的全生命周期
  • 可实现故障隔离、优雅降级,快速响应和定位问题
  • 可管理服务之间的依赖关系

设计这个服务治理平台时,采用几个设计原则:

  1. 分布式架构
  2. 无中心
  3. 无单点

平台架构设计

服务治理平台架构

如图所示,这就是服务治理平台的架构设计,采用了 ZooKeeper、Detector、消息中间件、MySQL、MongoDB 等开源技术进行搭建。

工作流程:

  • 步骤1:服务提供方(Service Provider),首先要向 ZooKeeper Cluster 提交注册申请,注册成功后才可以对外提供服务。
  • 步骤2::ZooKeeper Cluster 把可用的服务提供方列表,推送给服务使用方(Service Consumer),服务使用方只能使用列表里认证的服务提供方。
  • 步骤3:服务使用方,向服务提供方请求服务。
  • 步骤4:服务提供方,成功回应服务请求方的请求。

其他流程:

  • 同时,服务提供方、服务使用方,都会推送一条调用日志给 Jumper Broker,信息的主要内容是调用频次、响应时间等,Jumper Broker 把这些信息经过分析和处理后,把结果发送给 Detector。
  • Detector 记录这些信息,并且把这些信息推送给 ZooKeeper Cluster。
  • 如果某个服务的响应时间越来越慢,ZooKeeper Cluster 就会发现,并且及时做出调整,比如,不再给这个服务分配那么多的调用量,直到它的状态恢复正常为止。

其他技术实现

  • 从上图中,可以注意到 ZooKeeper Cluster、Jumper Broker、Detector 都是集群部署,确保了服务治理平台本身的高可用性。
  • 在技术实现上,也采用异步消息机制、RPC 框架,使得架构本身无中心、无单点,可支持上万个节点。

整个平台,部署起来也非常简单,只要把服务治理平台的客户端,跟服务一起部署,做些简单配置就可以了。

推荐资料

【总结】我的十二个架构设计原则

上一章教程

架构思维成长系列教程(十二)- 云平台架构设计

该系列教程

架构思维成长系列教程

我的专栏

至此,全部介绍就结束了

-------------------------------

-------------------------------

我的CSDN主页

关于我(个人域名,更多我的信息)

我的开源项目集Github

期望和大家一起学习,一起成长,共勉,O(∩_∩)O谢谢

欢迎交流问题,可加个人QQ 469580884,

或者,加我的群号 751925591,一起探讨交流问题

不讲虚的,只做实干家

Talk is cheap,show me the code

猜你喜欢

转载自blog.csdn.net/hemin1003/article/details/114928680