⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 https://www.jianshu.com/p/20ddf3bc6f8e 「黄云斌」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

服务发现部分:

觉得不错的地方

1、自己实现了一个简单的raft,就是说不再依赖etcd这种分布式的东西,也不依赖redis或者mysql这种存储的东西。就是自己搞定。

2、变化的通知push采用的是udp,我觉得这种比tcp长连接好很多,比我们的http longpoling也要好,比grpc的http/2也要好。老实说通知真的不多,为什么当初我们就没想到用udp。

3、push用udp有什么不好的地方吗,不好地方就是sdk要开一个udp端口,感觉其实也还好吧。

4、代码的扩展性比较好,健康检查能方便的支持tcp,http和mysql,支持mysql这个挺有意思的,是不是可以理解为db也是一种服务。

配置中心部分

觉得不错的地方

1、存储还是mysql,不过判断数据是否有变化是根据updateTime,定时根据updateTime范围找有不有数据。

而我们的做法是每次配置变化就向事件表插一条数据,定时看事件表有不有新的数据。感觉没有nacos的做法好,nacos可以限定自己关心的范围,而事件必然是全局的,扩展性不是很好。

文章目录
  1. 1. 服务发现部分:
  2. 2. 配置中心部分