shipfi

Change Rules

...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
6 6
7 7
8 8
9 +---
10 +
9 ### 1. 各应用的定义 11 ### 1. 各应用的定义
10 12
11 为了能够让各应用在一个Topic中发布或订阅消息,就需要对各个应用作一个规范的定义。以下是针对现有的产品作出英文名称的定义: 13 为了能够让各应用在一个Topic中发布或订阅消息,就需要对各个应用作一个规范的定义。以下是针对现有的产品作出英文名称的定义:
...@@ -31,57 +33,83 @@ ...@@ -31,57 +33,83 @@
31 33
32 #### 2.1 建立Topic 34 #### 2.1 建立Topic
33 35
34 -- Topic 命名方法:{客户编号}-{环境编号},表示不同的客户在不同的环境所使用的Topic; 36 +- 任何应用如果需要向Topic上发布消息,必须负责建立此Topic的责任(注:多个应用如果需要向一个Topic发布消息,则第一个发布的建立此Topic)
37 +
38 +- 任务应用建立Topic并使用其发布消息时,**必须**编写相关文档并说明消息的业务类型、消息体的结构说明和示例。
39 +
40 +- Topic 命名方法:**{企业编号}-{环境编号}**,表示不同的客户在不同的环境所使用的Topic;
35 41
36 -- 客户编号:取客户官方英文名并去掉除英文字母外的其他字符,然后转成大写; 42 +
37 43
38 - 例如:星期六的官方英文名是st-sat,因此星期六的客户编号为STSAT 44 +- 企业编号:取企业官方英文名并去掉除英文字母外的其他字符,然后转成大写
39 45
40 - ​ 兴记的官方英文名是stellafashion,因此兴记的官方编号是STELLAFASHION。 46 + > 例如:星期六的官方英文名是st-sat,因此星期六的企业编号为
47 + >
48 + > 兴记的官方英文名是stellafashion,因此兴记的企业编号是STELLAFASHION。
41 49
42 -- 环境编号:使用TEST代表测试环境,DEMO代表演示环境,PRODUCTION代表正式环境,DEV代表开发环境。 50 +- 环境编号:
51 +
52 + > 使用TEST代表测试环境,DEMO代表演示环境,PRODUCTION代表正式环境,DEV代表开发环境。
43 53
44 - 以下为Topic 名称的几个例子: 54 - 以下为Topic 名称的几个例子:
45 55
56 + ```
46 STSAT-TEST:星期六测试用Topic; 57 STSAT-TEST:星期六测试用Topic;
47 -
48 STELLAFASHION-PRODUCTION:兴记生产用Topic 58 STELLAFASHION-PRODUCTION:兴记生产用Topic
59 + ```
49 60
50 #### 2.2 删除Topic 61 #### 2.2 删除Topic
51 62
52 -- 遵循谁建立谁删除的原则; 63 +- 遵循谁发布谁删除的原则.
53 64
54 -### 3. 在Topic上发布消息
55 65
56 -- 在Topic上发布消息时,除了消息体外,一定要设置一个标签,以便其他应用能够过滤和识别消息类型;
57 66
58 -- 标签命名方法:{应用名称}-{业务名称}; 67 +---
68 +
69 +
70 +
71 +### 3. 在Topic上发布消息
72 +
73 +- 在Topic上发布消息时,消息**必须**标注标签,以便其他应用在收到消息时能够过滤和识别消息类型;
59 74
60 -- 应用名称:即 **1** 中所列出的产品英文名称 75 +- 标签命名方法:**{应用名称}-{业务名称}**
61 76
62 -- 业务名称:根据各应用自己的业务来定义,使用做多12为的大写英文字母 77 + * 应用名称:即 **1** 中所列出的产品英文名称
63 78
64 - 例如: 雇员相关的消息,业务名称可以定义为EMPLOYEE 79 + * 业务名称:根据各应用自己的业务来定义,最多12个字符的大写英文字母;
65 80
66 - ​ 账户相关的消息,业务名称可以定义为USER 81 + ```
82 + 示例:
83 + 雇员相关的消息,业务名称可以定义为EMPLOYEE
84 + 账户相关的消息,业务名称可以定义为USER
85 + ```
67 86
68 - 以下为标签的几个例子: 87 - 以下为标签的几个例子:
69 88
70 - POR-EMPLOYEE:门户发布的雇员信息 89 + ```
90 + POR-EMPLOYEE :门户发布的雇员信息
91 + CRM-POINT :CRM发布的积分信息
92 + ```
93 +
94 +- 发布消息的消息结构体,各个应用自定义,但是结构体必须发布出gitbook形式,以MD文档进行说明。
95 +
96 +
97 +
98 +---
99 +
71 100
72 - CRM-POINT:CRM发布的积分信息
73 101
74 ### 4. 在Topic上订阅消息 102 ### 4. 在Topic上订阅消息
75 103
76 #### 4.1 订阅名称 104 #### 4.1 订阅名称
77 105
78 -- 订阅名称命名方法:{环境编号}-{订阅者应用名称}-{客户编号}-{发布者应用名称}-{业务名称} 106 +- 订阅名称**建议**命名方法:**{环境编号}-{订阅者应用名称}-{企业编号}-{发布者应用名称}-{业务名称}**
79 107
80 - 环境编号:订阅者环境编号,其值与 **2.1** 中的环境编号一致; 108 - 环境编号:订阅者环境编号,其值与 **2.1** 中的环境编号一致;
81 109
82 -- 订阅者应用名称:即 **1** 中所列出的产品英文名称; 110 +- 订阅者应用或服务名称: **1** 中所列出的产品英文名称,或应用中的各服务模块名称。长度控制在20字符以内。
83 111
84 -- 客户编号:与 **2.1** 中的客户编号一致; 112 +- 企业编号:与 **2.1** 中的客户编号一致;
85 113
86 - 发布者应用名称:即 **1** 中所列出的产品英文名称; 114 - 发布者应用名称:即 **1** 中所列出的产品英文名称;
87 115
...@@ -89,27 +117,34 @@ ...@@ -89,27 +117,34 @@
89 117
90 - 以下为订阅名称的几个例子: 118 - 以下为订阅名称的几个例子:
91 119
120 + ```
92 DEV-YZ-STSAT-POR-EMPLOYEE:云助开发环境订阅了星期六门户发布的雇员消息 121 DEV-YZ-STSAT-POR-EMPLOYEE:云助开发环境订阅了星期六门户发布的雇员消息
93 -
94 PRODUCTION-DZ-STELLAFASHION-CRM-SITE:店助生产环境订阅了兴记CRM发布的网点消息 122 PRODUCTION-DZ-STELLAFASHION-CRM-SITE:店助生产环境订阅了兴记CRM发布的网点消息
123 + ```
124 +
125 +
95 126
96 #### 4.2 接收端地址 127 #### 4.2 接收端地址
97 128
98 -- 推送类型为http 129 +- 推送类型为http或https
99 130
100 131
101 - 可以理解为收到推送消息的回调地址,需要个应用自己开发API接口; 132 - 可以理解为收到推送消息的回调地址,需要个应用自己开发API接口;
102 133
103 -- 为了让回调地址可以最大程度重用,可以在创建订阅时在url上带上自己需要的参数; 134 +- 为了让回调地址可以最大程度重用,**建议**在创建订阅时在url上带上自己需要的参数;
135 +
136 + > http://emp.api.dev.qingger.com/mns/topic/stsat/por/employee
104 137
105 - 例如:http://emp.api.dev.qingger.com/mns/topic/stsat/por/employee 中, 138 + 以上,http://emp.api.dev.qingger.com 为接口域名,/mns/topic为接口路径,/stsat/por/employee为自定义参数,分别可以帮助各应用确定公司客户,发布者以及业务类型。
106 139
107 - http://emp.api.dev.qingger.com 为接口域名,/mns/topic为接口路径,/stsat/por/employee为自定义参数,分别可以帮助各应用确定公司客户,发布者以及业务类型。 140 +
108 141
109 #### 4.3 重试策略、消息推送格式 142 #### 4.3 重试策略、消息推送格式
110 143
111 -- 重试策略:使用退避重试 144 +- 重试策略:按照需求定义即可
112 -- 消息推送格式:统一使用JSON格式 145 +- 消息推送格式:建议使用JSON格式,但是如果为其它格式,则需要应用文档进行说明。
146 +
147 +
113 148
114 149
115 150
......