被折服,真的,。。。可能是我太菜了,我看不太懂,现在debug 差不多看懂了一些。
发起长轮询
刚发起长轮询,我就准备立马更新配置,这样就可以提前返回响应。
命中构造方法
我在 com.alibaba.nacos.config.server.model.event.LocalDataChangeEvent 类上,三个构造方法都打了断点,肯定会走其中一个,作为发布事件的。
创建事件
我只截图一些,更新触发事件的链路。
推送事件
接收事件
结束长轮询
书面总结(仅自己查看)
源码书签&修改
牛逼代码的思考
===> 2022-01-23 23:22:30 牛逼啊,这得要写多少代码,有多好的思路,各种线程池,各种 job,event,listener,request,…
今天是周日,已经很晚了,为了搞清楚这个长轮询到底怎么做的,昨天看了很久,今天又看了很久。牛逼啊,牛逼。准备洗漱睡觉了。
2022-01-24 12:10:20
原本啊,我以为代码写的可读性越好越牛逼。
读了这个我才发现,代码的风格好,固然重要。
但是后来我改变了这种看法,我认为:面对那些复杂的场景,可以写出来更高的性能的代码才是更牛逼的!!!(可读性可以放在一边稍息稍息。)
让我想到了,Igor 早起独自一个人从 02 年肝 Nginx 代码,一个人独自肝了 7 年的代码。自己一个人攻克 Nginx的各种问题,并解决了 C10K 的问题。并且验证,性能超出了 C10K,自己封装 sendfile(2) 并且融入了 Linux 内核。