配置规则
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格式