配置规则

2019-04-22  本文已影响0人  张大胆_6a19

consul部分

1、一个consul的serviceName由两部分组成:group/device

group就是服务组名称,比如mall,sms,work等等
device就是比如mysql,redis,business(业务代码)等等

比如一个sms代码服务器,则serviceName为sms/business
比如一个sms数据库服务器,则serviceName为sms/mysql

当然,一个mysql可能支撑多个group,那么,设置多个json,多个服务serviceName即可

2、一个consul的kv

key:serviceName/valuekey
value:json
a)如果是账户密码,则key为serviceName/account,value为{"userName":"root","password":"000000"},其中userName和password为固定写死
b)如果是token,则key为serviceName/token,value为{"token":"root"},其中token为固定写死
c)如果是其他,再议
d)value必须为json格式

business部分,workerman + tp + workerman-json-rpc

1、统一对内提供rpc服务(tcp,无头),serviceName(非consul serviceName)由module(group)/control组成,action为method,请求参数为action的参数,action需要默认参数
参考workerman-json-rpc client

RpcClient::config($queen);
$client = RpcClient::instance('mall/order');//mall/order,对应的tp5的module/control
 $client->create($token, $mallID);//该方法对应的tp5的action方法

2、统一对外提供http api服务,其中url必须严格按照module(group)/control/action方式,参考tp5,可选择合理的提交方式。返回结果为头部必须为application/json格式

上一篇 下一篇

猜你喜欢

热点阅读