Skip to content

Commit 7d289d1

Browse files
MrwenMrwen
Mrwen
authored and
Mrwen
committed
doc: 编写文档
1 parent 21b20e0 commit 7d289d1

File tree

6 files changed

+65
-20
lines changed

6 files changed

+65
-20
lines changed

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -47,25 +47,25 @@ spring-boot-demo
4747

4848
**示例代码与概述**
4949

50-
- [spring-boot-elasticsearch](https://github.com/WENZIZZHENG/spring-boot-demo/tree/master/spring-boot-elasticsearch)
50+
- [spring-boot-elasticsearch](spring-boot-elasticsearch/README.md)
5151

5252
1. elasticsearch 6.x,7.x版本示例
5353
2. 原生elasticsearch操作
5454
3. Spring Data ElasticSearch操作示例,ORM操作,聚合操作
5555

56-
- [spring-boot-mybatis-plus示例](https://github.com/WENZIZZHENG/spring-boot-demo/tree/master/spring-boot-mybatis-plus)
56+
- [spring-boot-mybatis-plus示例](spring-boot-mybatis-plus/README.md)
5757

5858
1. mybatis-plus 快速入门
5959
2. mybatis-plus 代码生成器,自定义模板
6060
3. mybatis-plus 多租户,自动分页,乐观锁,防止全表更新与删除,动态表名,sql性能规范,自定义ID生成器,数据填充,枚举等
6161
4. mybatis-plus 多数据源
6262

63-
- [spring-boot-sharding-jdbc示例](https://github.com/WENZIZZHENG/spring-boot-demo/tree/master/spring-boot-sharding-jdbc)
63+
- [spring-boot-sharding-jdbc示例](spring-boot-sharding-jdbc/README.md)
6464

6565
1. 分库分表快速入门(4.1.1版本以及5.0.0版本)
6666
2. 自定义分库分表规则,自定义自增主键
6767
3. 与mybatis-plus整合,解决更新时触发分片规则报错问题
6868
4. spring-boot-starter-jooq整合sharding-jdbc常见问题及解决方案
6969

70-
* [spring-boot-swagger示例](https://github.com/WENZIZZHENG/spring-boot-demo/tree/master/spring-boot-swagger)
70+
* [spring-boot-swagger示例](spring-boot-swagger/README.md)
7171

spring-boot-elasticsearch/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
### 1.1 版本选择
66

7-
[参考地址](https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#preface.versions)
7+
参考地址https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#preface.versions
88

99
| Spring Data Release Train | Spring Data Elasticsearch | Elasticsearch | Spring Framework | Spring Boot |
1010
| :----------------------------------------------------------: | :----------------------------------------------------------: | :-----------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
@@ -31,11 +31,11 @@
3131

3232
### 1.2 中文分词
3333

34-
[elasticsearch-analysis-ik](https://github.com/medcl/elasticsearch-analysis-ik)
34+
elasticsearch-analysis-ikhttps://github.com/medcl/elasticsearch-analysis-ik
3535

3636

3737

3838
### 1.3 Mysql数据同步
3939

40-
[alibaba](https://github.com/alibaba)/**[canal](https://github.com/alibaba/canal)**
40+
[alibaba](https://github.com/alibaba)/canalhttps://github.com/alibaba/canal
4141

spring-boot-mq-rocketmq/README.md

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# RocketMQ
2+
3+
## 1 如何保障消息可靠生产(消息100%投递成功)
4+
5+
官网描述,参考最佳实践:https://github.com/apache/rocketmq/blob/master/docs/cn/best_practice.md
6+
7+
#### 3 日志的打印
8+
9+
消息发送成功或者失败要打印消息日志,务必要打印SendResult和key字段。**send消息方法只要不抛异常,就代表发送成功**。发送成功会有多个状态,在sendResult里定义。以下对每个状态进行说明:
10+
11+
- **SEND_OK**
12+
13+
消息发送成功。要注意的是消息发送成功也不意味着它是可靠的。要确保不会丢失任何消息,还应启用**同步Master服务器或同步刷盘,即SYNC_MASTER或SYNC_FLUSH。**
14+
15+
- **FLUSH_DISK_TIMEOUT**
16+
17+
消息发送成功但是服务器刷盘超时。此时消息已经进入服务器队列(内存),只有服务器宕机,消息才会丢失。消息存储配置参数中可以设置刷盘方式和同步刷盘时间长度,如果Broker服务器设置了刷盘方式为同步刷盘,即FlushDiskType=SYNC_FLUSH(默认为异步刷盘方式),当Broker服务器未在同步刷盘时间内(默认为5s)完成刷盘,则将返回该状态——刷盘超时。
18+
19+
- **FLUSH_SLAVE_TIMEOUT**
20+
21+
消息发送成功,但是服务器同步到Slave时超时。此时消息已经进入服务器队列,只有服务器宕机,消息才会丢失。如果Broker服务器的角色是同步Master,即SYNC_MASTER(默认是异步Master即ASYNC_MASTER),并且从Broker服务器未在同步刷盘时间(默认为5秒)内完成与主服务器的同步,则将返回该状态——数据同步到Slave服务器超时。
22+
23+
- **SLAVE_NOT_AVAILABLE**
24+
25+
消息发送成功,但是此时Slave不可用。如果Broker服务器的角色是同步Master,即SYNC_MASTER(默认是异步Master服务器即ASYNC_MASTER),但没有配置slave Broker服务器,则将返回该状态——无Slave服务器可用。
26+
27+
**小结:**
28+
29+
**只要sendResult为SEND_OK状态,且同步Master服务器或同步刷盘,就可确认成功。**
30+
31+
32+
33+
## 2 消息可靠消费
34+
35+
相对RabbitMQ,RocketMQ的可靠消费并不需要我们做过多的处理。会自动把消费失败的消息扔到死信队列中。只需要做好消息预警即可。
36+
37+
[Consumer示例](spring-boot-rocketmq/rocketmq-consumer/src/main/java/com/example/service/ConsumerCluster.java)
38+
39+
40+
41+
42+
43+
## 3: 参考资料
44+
45+
官方中文文档:https://github.com/apache/rocketmq/tree/master/docs/cn

spring-boot-mybatis-plus/README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212

1313
Mybatis-Plus官网相关文档已经很完善,有问题强烈建议阅读官方文档
1414

15-
1. [Mybatis-Plus官网文档](https://mp.baomidou.com/)
16-
2. [代码生成器](https://mp.baomidou.com/guide/generator-new.html)
17-
3. [多数据源dynamic-datasource项目](https://github.com/baomidou/dynamic-datasource-spring-boot-starter)
18-
4. [多数据源dynamic-datasource详细文档](https://www.kancloud.cn/tracy5546/dynamic-datasource/2264611)
15+
1. [Mybatis-Plus官网文档]https://mp.baomidou.com/
16+
2. [代码生成器]https://mp.baomidou.com/guide/generator-new.html
17+
3. [多数据源dynamic-datasource项目]https://github.com/baomidou/dynamic-datasource-spring-boot-starter
18+
4. [多数据源dynamic-datasource详细文档]https://www.kancloud.cn/tracy5546/dynamic-datasource/2264611
1919

spring-boot-sharding-jdbc/README.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414

1515

1616

17-
详情参考: [官网](https://shardingsphere.apache.org/index_zh.html)
17+
详情参考: [官网]https://shardingsphere.apache.org/index_zh.html
1818

1919
## 2 注意事项
2020

2121
1. 版本问题:Sharding-JDBC不同版本之间配置文件差异很大,请确定好自身需要的版本
22-
2. 常见的问题,[详情参考官网FAQ](https://shardingsphere.apache.org/document/5.0.0/cn/reference/faq/)
22+
2. 常见的问题,[详情参考官网FAQ]https://shardingsphere.apache.org/document/5.0.0/cn/reference/faq/
2323

2424

2525

@@ -38,7 +38,7 @@
3838
2:使用mybatis-plus的雪花算法 可以设为IdType.ASSIGN_ID,只有当插入对象ID 为空,才自动填充,在某些场景下可以自定义id。
3939
```
4040

41-
**[雪花算法ID到前端之后精度丢失问题,全局解决方案](https://github.com/WENZIZZHENG/spring-boot-demo/blob/master/spring-boot-sharding-jdbc/spring-boot-sharding-jdbc-5.0.0/sharding-jdbc-5.0.0-db-table/src/main/java/com/example/config/JacksonConfig.java)**
41+
**[雪花算法ID到前端之后精度丢失问题,全局解决方案](spring-boot-sharding-jdbc-5.0.0/sharding-jdbc-5.0.0-db-table/src/main/java/com/example/config/JacksonConfig.java)**
4242

4343
#### **3.1.2 redis自增主键**
4444

@@ -51,16 +51,16 @@ Service Provider Interface (SPI) 是一种为了被第三方实现或扩展的 A
5151
与分布式主键 KeyGenerateAlgorithm 接口相同,其他 ShardingSphere 的扩展功能也需要用相同的方式注入才能生效。
5252
```
5353

54-
[4.1.1版本参考](https://github.com/WENZIZZHENG/spring-boot-demo/blob/master/spring-boot-sharding-jdbc/spring-boot-sharding-jdbc-4.1.1/sharding-jdbc-4.1.1-db-table/src/main/java/com/example/config/sharding/key/ShardingTableKeyGenerator.java)
54+
[4.1.1版本参考](spring-boot-sharding-jdbc-4.1.1/sharding-jdbc-4.1.1-db-table/src/main/java/com/example/config/sharding/key/ShardingTableKeyGenerator.java)
5555

56-
[5.0.0版本参考](https://github.com/WENZIZZHENG/spring-boot-demo/blob/master/spring-boot-sharding-jdbc/spring-boot-sharding-jdbc-5.0.0/sharding-jdbc-5.0.0-db-table/src/main/java/com/example/config/sharding/key/ShardingTableKeyGenerator.java)
56+
[5.0.0版本参考](spring-boot-sharding-jdbc-5.0.0/sharding-jdbc-5.0.0-db-table/src/main/java/com/example/config/sharding/key/ShardingTableKeyGenerator.java)
5757

5858

5959

6060
### **3.2 mybatis-plus更新时,触发分片字段怎么办**
6161

6262
方案一: mybatis-plus更新前,把分片字段设为null。默认null时会跳过set。
63-
方案二: 使用自定义[mybatis拦截器](https://github.com/WENZIZZHENG/spring-boot-demo/blob/master/spring-boot-sharding-jdbc/spring-boot-sharding-jdbc-5.0.0/sharding-jdbc-5.0.0-db-table/src/main/java/com/example/config/MybatisPluginCustomInterceptor.java),在拦截器中把分片字段set为空即可。(注意,mybatis-plus自动填功在这里是不能解决这个问题的)
63+
方案二: 使用自定义[mybatis拦截器](spring-boot-sharding-jdbc-5.0.0/sharding-jdbc-5.0.0-db-table/src/main/java/com/example/config/MybatisPluginCustomInterceptor.java),在拦截器中把分片字段set为空即可。(注意,mybatis-plus自动填功在这里是不能解决这个问题的)
6464

6565

6666

@@ -97,7 +97,7 @@ public class JooqDao {
9797

9898
SQL示例:delete t0 from order_item t0 where t0.order_id = ?
9999

100-
[sharding-jdbc 中的issues](https://github.com/apache/shardingsphere/issues/13273)
100+
[sharding-jdbc 中的issues]https://github.com/apache/shardingsphere/issues/13273
101101

102102
解决方案,直接使用**5.0.0**以上版本
103103

@@ -165,7 +165,7 @@ guava版本冲突
165165

166166
## **4 其它参考**
167167

168-
1. [4.0.0-RC1版本Demo参考](https://github.com/yinjihuan/sharding-jdbc)
168+
1. [4.0.0-RC1版本Demo参考]https://github.com/yinjihuan/sharding-jdbc
169169

170170
## 5 待补充
171171

spring-boot-swagger/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,5 @@
3434

3535
项目更多Demo
3636

37-
[swagger-bootstrap-ui-demo](https://gitee.com/xiaoym/swagger-bootstrap-ui-demo)
37+
[swagger-bootstrap-ui-demo]https://gitee.com/xiaoym/swagger-bootstrap-ui-demo
3838

0 commit comments

Comments
 (0)