@@ -254,6 +254,14 @@ module.exports = {
254
254
link : '/md/risk-control/risk-control-engine-architecture-design.md'
255
255
} ]
256
256
} ,
257
+
258
+ {
259
+ text : 'Go微服务网关专栏概述' ,
260
+ items : [ {
261
+ text : 'Go微服务网关专栏概述' ,
262
+ link : '/md/go-gateway/00-Go微服务网关专栏概述.md'
263
+ } ]
264
+ } ,
257
265
]
258
266
} ,
259
267
@@ -289,26 +297,21 @@ module.exports = {
289
297
} ]
290
298
} ,
291
299
292
-
293
- {
294
- text : '消息队列基础' ,
295
- items : [ {
296
- text : '消息队列基础' ,
297
- link : '/md/mq/消息队列面试必问解析.md'
298
- } ]
299
- } ,
300
-
301
300
{
302
- text : 'Kafka ' ,
301
+ text : 'kafka ' ,
303
302
items : [ {
304
- text : 'Kafka基础 ' ,
303
+ text : 'kafka ' ,
305
304
link : '/md/kafka/00-Kafka专栏大纲.md'
306
- } , ]
305
+ } ]
307
306
} ,
308
307
309
308
{
310
309
text : 'RocketMQ' ,
311
310
items : [ {
311
+ text : '消息队列基础' ,
312
+ link : '/md/RocketMQ/消息队列面试必问解析.md'
313
+ } ,
314
+ {
312
315
text : 'RocketMQ基础' ,
313
316
link : '/md/RocketMQ/01-RocketMQ核心内容.md'
314
317
} ,
@@ -327,7 +330,7 @@ module.exports = {
327
330
{
328
331
text : 'RabbitMQ' ,
329
332
items : [ {
330
- text : '00- RabbitMQ' ,
333
+ text : 'RabbitMQ' ,
331
334
link : '/md/rabbitmq/00-RabbitMQ实战下载与安装.md'
332
335
} , ]
333
336
} ,
@@ -908,7 +911,6 @@ module.exports = {
908
911
"06-运营后台系统设计" ,
909
912
"07-大厂报价查询系统性能优化之道" ,
910
913
"08-视频推荐索引构建" ,
911
- "09-交易中台-如何防止订单二次重复支付?" ,
912
914
"小游戏的大促实践" ,
913
915
"事件中心架构概述" ,
914
916
]
@@ -966,6 +968,7 @@ module.exports = {
966
968
"00-如何防止订单二次重复支付?" ,
967
969
"01-扫码支付后都发生了啥?" ,
968
970
"02-大厂的第三方支付业务架构设计" ,
971
+ "wechat-pay-development-guide-avoid-pitfalls" ,
969
972
]
970
973
} ] ,
971
974
@@ -1078,6 +1081,7 @@ module.exports = {
1078
1081
sidebarDepth : 0 ,
1079
1082
children : [
1080
1083
"熔断限流" ,
1084
+ "11-RPC的负载均衡" ,
1081
1085
]
1082
1086
} ] ,
1083
1087
@@ -1116,7 +1120,8 @@ module.exports = {
1116
1120
collapsable : false ,
1117
1121
sidebarDepth : 0 ,
1118
1122
children : [
1119
- "07-MQTT发布订阅模式介绍.md"
1123
+ "MQTT与Kafka在物联网消息与流数据集成实践" ,
1124
+ "07-MQTT发布订阅模式介绍"
1120
1125
]
1121
1126
} ] ,
1122
1127
"/md/spider/" : [ {
@@ -1217,13 +1222,11 @@ module.exports = {
1217
1222
collapsable : false ,
1218
1223
sidebarDepth : 0 ,
1219
1224
children : [
1220
- "01-SpringMVC的AsyncHandlerInterceptor异步的处理器拦截器" ,
1221
- "02-实现http请求的异步长轮询" ,
1222
- "03-SpringMVC拦截处理器" ,
1223
1225
"Spring之BeanNameAware和BeanFactoryAware接口" ,
1224
1226
"这次彻底搞懂IoC容器依赖注入的源码" ,
1225
1227
"别小看Spring过滤器,这些知识点你必须得掌握" ,
1226
1228
"Spring框架使用了哪些设计模式" ,
1229
+ "阿里四面:你知道Spring AOP创建Proxy的过程吗?" ,
1227
1230
]
1228
1231
} ,
1229
1232
@@ -1232,6 +1235,9 @@ module.exports = {
1232
1235
collapsable : false ,
1233
1236
sidebarDepth : 0 ,
1234
1237
children : [
1238
+ "01-SpringMVC的AsyncHandlerInterceptor异步的处理器拦截器" ,
1239
+ "02-实现http请求的异步长轮询" ,
1240
+ "03-SpringMVC拦截处理器" ,
1235
1241
"SpringMVC-service-doDispatch" ,
1236
1242
"SpringMVC-DispatcherServlet-doDispatch" ,
1237
1243
]
@@ -1244,6 +1250,7 @@ module.exports = {
1244
1250
children : [
1245
1251
"00-可能是全网最全的SpringBoot启动流程源码分析" ,
1246
1252
"01-HelloSpringBoot应用程序" ,
1253
+ "SpringBoot默认线程池" ,
1247
1254
]
1248
1255
} ,
1249
1256
] ,
@@ -1358,6 +1365,9 @@ module.exports = {
1358
1365
sidebarDepth : 0 ,
1359
1366
children : [
1360
1367
"00-Spring响应式编程" ,
1368
+ "响应式编程的适用场景" ,
1369
+ "01-想让系统更具有弹性?了解背压机制和响应式流的秘密!" ,
1370
+ "04-Spring为何偏爱Reactor响应式编程框架" ,
1361
1371
"05-流式操作:如何使用 Flux 和 Mono 高效构建响应式数据流?" ,
1362
1372
]
1363
1373
} ] ,
@@ -1465,32 +1475,35 @@ module.exports = {
1465
1475
} ,
1466
1476
] ,
1467
1477
1468
- "/md/kafka" : [ {
1469
- title : "Kafka基础 " ,
1478
+ "/md/kafka/ " : [ {
1479
+ title : "kafka " ,
1470
1480
collapsable : false ,
1471
1481
sidebarDepth : 0 ,
1472
1482
children : [
1473
1483
"00-Kafka专栏大纲" ,
1484
+ "01-为何大厂都选择Kafka作为消息队列" ,
1474
1485
"Kafka门派知多少" ,
1475
- "kafka-versions" ,
1476
1486
"08-全网最全图解Kafka适用场景" ,
1477
1487
"09-消息队列的消息大量积压怎么办?" ,
1478
1488
"15-基于kafka实现延迟队列" ,
1479
- "kafka-transaction-implementation"
1480
- ]
1481
- } , ] ,
1482
-
1483
- "/md/mq" : [ {
1484
- title : "消息队列基础" ,
1485
- collapsable : false ,
1486
- sidebarDepth : 0 ,
1487
- children : [
1488
- "消息队列面试必问解析" ,
1489
- "消息队列的事务消息" ,
1489
+ "kafka-transaction-implementation" ,
1490
+ "kafka-versions" ,
1490
1491
]
1491
1492
} , ] ,
1492
1493
1493
1494
"/md/RocketMQ/" : [ {
1495
+ title : "消息队列基础" ,
1496
+ collapsable : false ,
1497
+ sidebarDepth : 0 ,
1498
+ children : [
1499
+ "消息队列面试必问解析" ,
1500
+ "消息队列的事务消息" ,
1501
+ "避免无法克服的队列积压" ,
1502
+ "消息恰好被消费一次" ,
1503
+ ]
1504
+ } ,
1505
+
1506
+ {
1494
1507
title : "RocketMQ基础" ,
1495
1508
collapsable : false ,
1496
1509
sidebarDepth : 0 ,
@@ -1526,18 +1539,22 @@ module.exports = {
1526
1539
"RocketMQ在基金大厂的分布式事务实践" ,
1527
1540
]
1528
1541
} ,
1529
-
1530
1542
] ,
1531
- "/md/rabbitmq" : [ {
1543
+
1544
+ "/md/rabbitmq/" : [ {
1532
1545
title : "RabbitMQ" ,
1533
1546
collapsable : false ,
1534
1547
sidebarDepth : 0 ,
1535
1548
children : [
1536
1549
"00-RabbitMQ实战下载与安装" ,
1550
+ "04-RabbitMQ & Spring整合开发" ,
1537
1551
"RabbitMQ消费端幂等性概念及解决方案" ,
1538
1552
"用了这么久的RabbitMQ异步编程竟然都是错的" ,
1553
+ "RabbitMQ的 RPC 消息模式你会了吗?" ,
1554
+ "12-RabbitMQ实战-消费端ACK、NACK及重回队列机制" ,
1539
1555
]
1540
- } ] ,
1556
+ } , ] ,
1557
+
1541
1558
"/md/redis/" : [ {
1542
1559
title : "Redis" ,
1543
1560
collapsable : false ,
@@ -1549,7 +1566,8 @@ module.exports = {
1549
1566
"03-Redisson公平锁加锁源码分析" ,
1550
1567
"04-Redisson读写锁加锁机制分析" ,
1551
1568
"05-缓存读写策略模式详解" ,
1552
- "06-如何快速定位 Redis 热 key"
1569
+ "06-如何快速定位 Redis 热 key" ,
1570
+ "12-Redis 闭源?" ,
1553
1571
]
1554
1572
} ] ,
1555
1573
"/md/es/" : [ {
@@ -1703,6 +1721,16 @@ module.exports = {
1703
1721
]
1704
1722
} , ] ,
1705
1723
1724
+ "/md/go-gateway/" : [ {
1725
+ title : "Go微服务网关" ,
1726
+ collapsable : false ,
1727
+ sidebarDepth : 0 ,
1728
+ children : [
1729
+ "00-Go微服务网关专栏概述" ,
1730
+ "open-systems-interconnection-model" ,
1731
+ ]
1732
+ } , ] ,
1733
+
1706
1734
"/md/career/" : [ {
1707
1735
title : "职业规划" ,
1708
1736
collapsable : false ,
@@ -1740,6 +1768,8 @@ module.exports = {
1740
1768
children : [
1741
1769
"16-精益独立开发实践" ,
1742
1770
"17-用户画像都是怎么产生的?" ,
1771
+ "20-个人支付解决方案" ,
1772
+ "21-处理用户反馈和增长优化" ,
1743
1773
]
1744
1774
} ] ,
1745
1775
0 commit comments