孙玄到底搞技术培训挣了多少钱?
评论
顺便一说,在掘金后端生存艰难啊,用户前后端比例得有 10:1 吧?
评论
决定开个系列,总结一下系统可观测性的经验心得。根据我的观察,国内大部分互联网在这一块基本处于空白,就是闭着眼在跑应用。恰好我们在这一方面走的比较远,希望拿出来给大家一些启发。 甚至有新人问我为什么 Java Young Heap 一直在动啊?当然了,不动就见了鬼了。这是典型的没看过线上内存监控的,对真实世界发生的事一无所知。 公司里很少有专门管可观测性这块的,我希望这以后能成为标配。没有可观测性,工程师就很难在线上获得成长。
展开
3
最近高产似母猪。
1
简书太傻逼了,转战掘金。
3
惊闻 Skywalking 居然实现了动态配置,可喜可贺。 我半年前就实现了。而且是全配置参数,不像 Skywalking 只支持动态采样率。 说起动态采样率,我们还支持了采样率隔离,更精准地配置采样率。而且链路名称采样和采样数可以一块用。 说起采样,我们还做到了采样数之外的链路,依旧可以正常创建和传递。 除此之外我们真正解决了跨线程的链路问题,还有其他很多很多。。 SK 每次迭代有用的新特性,都是我做过的。我做过的,SK 再过半年也追不上…
展开
刘志国于2021-01-22 08:24发布的图片
4
我看 Apache 现在也不挑了,啥都接啥都能毕业。我看 Skywalking 和 ShardingSphere 就是一坨屎。不怕得罪这些写烂代码的人,写得又烂又不愿意承认。 代码本身并不烂,但很多设计和理念是烂的,真正用的时候发现像一坨屎一样烂泥扶不上墙。就这,Skywalking 还整天说这个抄袭它那个没遵守协议。 非常不客气地说,现在我司用的改过的 Skywalking 是最接近完美的版本。腾讯云的那个版本我也看了,基本就是原生的 SW,很简陋,跟我司的版本还差得远,但起码比 SW 做到了开箱即用。
展开
11
放弃用 Redissan 自旋锁。 互联网大部分场景下的分布式锁,都是不需要自旋的,是获取不到锁需要马上失败的。 而不理解 Redisson 锁原理的,会经常滥用它,导致表单重复提交得到了处理、至多执行一次的任务被反复执行等问题。 Redisson 锁可以近似理解成 Java 本身的锁或同步语句块,而实际上它也是实现了 Lock 接口。使用之前需要考虑清楚,这段代码确实要在分布式下同步执行?
展开
2
关于优雅停机,这是个看似简单,但实际应用中有很多细节需要考虑的功能。 大部分优雅停机只是实现了停掉 Tomcat 容器,停掉 Dubbo 服务,但实际上要停掉的可能不止这些。 比如用 @Scheduled 开启了定时任务,如果停机的时候恰好在执行任务怎么办?Elastic Job 实现的分布式任务同理。 比如 Kafka 或者用 Redis 实现的消费队列,消费到一半怎么办? 比如 Spring Cloud 这时有新的请求进来了怎么办,大部分上线脚本中,只会帮你把 Nginx 摘掉流量,但 Spring Cloud 这种流量没法帮你摘掉。等于流量没摘干净。 再比如 @Async 启动的异步线程池,Spring Event 异步事件线程池等,是不是要等待执行完成? 凡此种种。而且要做到关闭资源的先后顺序,比如不能停掉定时任务前关闭数据库资源。 只有做到彻底把项目变成没有代码运行的,与外界失联的孤岛,才真正是「优雅停机」的追求。 我们的实现可供参考:启动一个哨兵线程,哨兵中有可重入读写锁,在需要保护的任务前获取读锁,try/finally 中释放读锁。 哨兵线程监听 signal 信号,捕捉到信号后开始停机流程。第一步获取写锁,写锁会等待所有读锁释放。写锁成功取得后,开始关闭异步线程池、主动在 Eureka 下线(如果是 Spring Cloud),关掉 Dubbo 容器,关掉 Kafka 线程池。最后调用 Spring 容器的 shutdown,由 Spring 再去回收 bean 和资源关闭。 如果有更好的实现或建议,欢迎讨论。
展开
1
下一页
个人成就
文章被点赞266
文章被阅读15,371
掘力值419
收藏集
2
关注标签
6
加入于