微服务交互可行解决方案

假设有独立程序A、B、C、D、E、F、G,它们之间经过http协议访问,那么怎样保证程序之间的访问高可用。设计

好比下图的状况:blog

t1时刻A程序访问B程序成功(正常),t2时刻A程序访问的B程序不可用(异常),t3时刻A程序访问可用的B程序(指望)。token

解决方案之一:接口

第1步:程序B一、B2启动时告诉“信息中心”它们的存在。io

第2步:程序A1向“信息中心”查询B程序的访问地址。cli

第3步:程序A1经过“信息中心”提供的地址访问程序B1。file

 

“信息中心”接口设计:高可用

/profile?action=&name=&client=&token=接口设计

参数action:register注册程序,query查询程序。程序

参数name:action值是"register"则是注册的程序名,值是"query"则是要查询的程序名。

参数client:当不为空的时候“信息中心”检测到“信息变化”会调用这个接口。

参数token:验证程序。

 

B1注册到“信息中心”

/profile?action=register&name=B

 

A1向“信息中心”查询

/profile?action=query&name=B

相关文章
相关标签/搜索