File tree Expand file tree Collapse file tree 1 file changed +5
-0
lines changed
Expand file tree Collapse file tree 1 file changed +5
-0
lines changed Original file line number Diff line number Diff line change 1515
1616* 灰度实例
1717![ 灰度实例] ( ../doc/img/u-case-service-instance.png )
18+
1819实例注册:服务实例添加到灰度管理中。
1920实例下线:服务实例下线,从灰度管理中删除。
2021灰度开关:调整服务实例的灰度状态,有启用、禁用两个状态,禁用的实例不纳入灰度列表中。
2324* 调用请求
2425
2526![ 调用请求] ( ../doc/img/u-case-call-request.png )
27+
2628灰度决策:根据请求的信息去匹配灰度服务实例的灰度策略,如果匹配上,会将服务实例加入到通过列表中。如果都没有匹配上,就按bamboo的路由规则去筛选非灰度的服务实例进行转发。
2729
2830
2931* 灰度客户端
3032
3133调用请求的服务消费者,和提供服务的服务提供者都可以是灰度客户端,因为微服务中,大多服务实例既是服务提供者,同时也是服务消费者。
3234![ 灰度客户端] ( ../doc/img/u-case-gray-client.png )
35+
3336灰度服务注册:服务实例在启动时,就会向灰度服务端发起请求,将实例自身的灰度开关打开。
3437灰度服务下线:在服务实例下线前,会触发钩子,向灰度服务端发起请求将实例自身从灰度列表中删除。
3538接收灰度实例调整消息:接收由灰度服务端推送过来的灰度列表更新消息比如新增灰度实例,删除灰度实例等,维护缓存在实例上的灰度列表。
3942
4043灰度服务端负表维护灰度列表,可以新增、删除、编辑灰度信息。
4144![ 灰度服务端] ( ../doc/img/u-case-gray-server.png )
45+
4246编辑灰度实例:新增灰度实例,删除灰度实例,修改实例灰度状态。
4347编辑灰度策略:新增实例灰度策略,删除实例灰度策略,修改灰度策略状态。
4448推送灰度服务调整消息:向灰度客户端推送灰度列表变动消息,比如新增灰度实例,删除灰度实例,修改实例灰度状态等。
4953##### 代码设计
5054根据上面的思路,设计以下对象和接口。共6个接口,4个模型对象。
5155![ 灰度代码设计] ( ../doc/img/cd-gray.png )
56+
5257对象:
5358* GrayService: 灰度服务
5459* GrayInstance: 灰度实例,有状态属性
You can’t perform that action at this time.
0 commit comments