Skip to content

Commit 84659b6

Browse files
committed
Merge branch 'feature/comment' into develop
2 parents 361b92b + 8c5f0fd commit 84659b6

File tree

3 files changed

+42
-7
lines changed

3 files changed

+42
-7
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -168,30 +168,30 @@ TCC资源协调器,其职责如下:
168168

169169
在项目根路径下执行脚本`build.sh`,该脚本会执行Maven的打包操作,并会迭代目录下的`*-compose.yml`进行容器构建。
170170

171-
构建完成后需要按照指定的顺序启动
171+
构建完成后需要按照指定的顺序启动,需要注意的一点是容器内服务的启动是需要备留预热时间,并非Docker容器启动后容器内的所有服务就能马上启动起来,要注意区分**容器的启动**和**容器内的服务的启动**,建议配合docker-compse logs来观察启动情况。而且容器之间的服务是有依赖的,如`account-ms`和`product-ms`此类业务服务的启动是会快速失败于`config-ms`的失联。所以建议按照以下顺序启动Docker容器,并且在一组Docker容器**服务完全启动**后,再启动下一组的Docker容器。
172172

173173
1. 启动MySQL,RabbitMQ等基础组件
174174

175175
```shell
176-
➜ solar git:(feature/cleanup) ✗ docker-compose -f infrastructure-compose.yml up -d
176+
docker-compose -f infrastructure-compose.yml up -d
177177
```
178178

179179
2. 启动Eureka Server与Config Server
180180

181181
```shell
182-
➜ solar git:(feature/cleanup) ✗ docker-compose -f basic-ms-compose.yml up -d
182+
docker-compose -f basic-ms-compose.yml up -d
183183
```
184184

185185
3. 启动监控服务
186186

187187
```shell
188-
➜ solar git:(feature/cleanup) ✗ docker-compose -f monitor-ms-compose.yml up -d
188+
docker-compose -f monitor-ms-compose.yml up -d
189189
```
190190

191191
4. 启动业务服务
192192

193193
```shell
194-
➜ solar git:(feature/cleanup) ✗ docker-compose -f business-ms-compose.yml up -d
194+
docker-compose -f business-ms-compose.yml up -d
195195
```
196196

197197
#### IDE运行
@@ -210,7 +210,7 @@ TCC资源协调器,其职责如下:
210210

211211
根据依赖关系,程序最好按照以下的顺序执行
212212

213-
docker mysql > docker rabbitmq > eureka server > config server > zipkin server > 其他微服务
213+
docker mysql > docker rabbitmq > eureka server > config server > zipkin server > 其他业务微服务(account-ms, product-ms, order-ms, tcc-coordinator-ms等)
214214

215215
## 示例
216216

event-driven-dps/src/main/java/com/github/prontera/EventDrivenPublisher.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@ public void fetchAndPublishToBroker(BatchFetchEventStrategy fetchStrategy) {
160160

161161
/**
162162
* 在Mandatory下,当exchange存在但无法路由至queue的情况下记录入库
163+
* <p>
164+
* basic.return(basic.return将会发生在basic.ack之前)
163165
*/
164166
private class RabbitReturnCallback implements RabbitTemplate.ReturnCallback {
165167
@Override
@@ -190,6 +192,8 @@ private void logReturnedFault(int replyCode, String replyText, String exchange,
190192

191193
/**
192194
* 确认Broker接收消息的状态
195+
* <p>
196+
* basic.ack
193197
*/
194198
private class RabbitConfirmCallback implements RabbitTemplate.ConfirmCallback {
195199
@Override

event-driven-dps/src/main/java/com/github/prontera/domain/type/EventStatus.java

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,38 @@
44
* @author Zhao Junjian
55
*/
66
public enum EventStatus {
7-
ERROR(-128), NOT_FOUND(-3), NO_ROUTE(-2), FAILED(-1), NEW(0), PENDING(1), DONE(2);
7+
/**
8+
* 当Publisher中当basic.return返回NO_ROUTE以外的状态时,将事件置为未知异常
9+
*/
10+
ERROR(-128),
11+
/**
12+
* 在Publisher中basic.ack中返回false,证明找不到exchange时事件状态变成NOT_FOUND
13+
* <p>
14+
* 在Subscriber中没有找到事件对应的Handler也会成为NOT_FOUND
15+
*/
16+
NOT_FOUND(-3),
17+
/**
18+
* 在Publisher中basic.return找到exchange但是找不到queue时会成为NO_ROUTE
19+
*/
20+
NO_ROUTE(-2),
21+
/**
22+
* 当Publisher没有注册business type而找到该发往哪个exchange和queue时的错误
23+
*/
24+
FAILED(-1),
25+
/**
26+
* 新建事件时的状态
27+
*/
28+
NEW(0),
29+
/**
30+
* 在Publisher中发送到Broker,但是还未收到publisher confirm时的状态
31+
*/
32+
PENDING(1),
33+
/**
34+
* 当Publisher成功收到publisher confirm消息时将事件转换为DONE
35+
* <p>
36+
* 当Subscriber将事件处理完成后也会置为DONE
37+
*/
38+
DONE(2);
839

940
private final int status;
1041

0 commit comments

Comments
 (0)