Showing
1 changed file
with
61 additions
and
26 deletions
... | @@ -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 | ... | ... |
-
Please register or login to post a comment