大家好,我是伟伟。前几天在github上冲浪的时候,发现了两个宝物。我也不隐瞒了,拿出来分享给大家。这两个宝物是关于arthas和SOFARegistry的,都是阿里的开源项目。arthas大家应该不陌生,知道它是阿里自创的Java诊断工具。什么是SOFARegistry?好像没听说过?好久没接触这个东西了,但大概知道是什么东西。我认为它是一个轮子,但是这个轮子非常强大。别担心,我稍后会告诉你。Arthasarthas,我什至不记得它在我以前的文章中出现过多少次。基本上都是关于它的实际用例或官方动手演示。它的用途还是很广泛的:那么,我在它的github上找到了哪些宝藏呢?隐藏在其issue的Labels中:点击Labels,会发现一个叫user-case的标签:这个标签下的issues是我要说的第一个宝藏:https://github.com/alibaba/ar...我给你截图第一页,看你有没有欲望点进去看看是什么:比如我给你看工行的用户案例:https://github.com/lyghzh/pub...其实我一直认为人们会认为在生产环境中运行Arthas实际上是一件非常危险的事情。这是一把双刃剑。如果用得好,可以早点下班。如果使用不当,可能会发生生产事故。所以采取因噎废食的方法,干脆不用。工行作为一家银行,在这方面肯定考虑得比较多。就他们的落地难点而言,首当其冲的就是“信息安全”的问题,这是他们的基本红线,也是银行的根本:那么它在生产中是如何使用Arthas的呢?在这种情况下,给出了这个问题的答案。我们设计了一套轻量级的架构,让开发者以WebUI的形式方便直观的使用各种在线诊断能力。那么我们该怎么做呢?基于Arthas的功能,再次封装了一个webUI页面。隐藏在这个页面后面的接口可以对执行结果进行裁剪修改,处理成json格式数据返回给平台展示。文章除了介绍整体架构外,还提供了实际使用效果。比如控制面板,看起来很眼熟:它是一个基于Arthas原生响应的展示页面。页面上的这些数据都是Arthas返回的:还有反编译功能:但是我没有在文章中看到热加载相关的内容。我猜想一定是为了这种危险的功能,从网页屏蔽进行。在这个issue下,我还发现还有人提到了另一个类似的项目:这是一个去哪儿开源的Java应用诊断工具:不扩展就学不会。又比如这个案例:https://github.com/alibaba/ar...然后他用Trace跟踪了一个有点耗时的方法,然后一点点修复。经过四次优化,同一个请求的调用链路时间从开始的343ms减少到27ms。你不觉得不好吗?然后,他给出了一个结论,就是这个优化的重点:你可以发现,它并不是一个特别大的优化,而是一些我们平时用到的琐碎的东西。最后,他还写了一篇“强烈推荐”:浅谈动态追踪技术。嗯,这也是我很久以前收藏的网站,就不藏了。我也拿出来一起分享:https://blog.openresty.com.cn...这个博客的文章质量很高。博客的主人是张一纯。他是开源项目OpenResty的创始人,也是OpenRestyInc.创始人兼CEO。就说一句,大boss背书,放心阅读。这里我只是从第一个宝物中随机抽取了两个箱子,剩下的大家可以自行挖掘。SOFARegistry什么是SOFARegistry?其实我理解就是注册中心的一个轮子。或者更具体地说,具有阿里特色的Eureka。这是它的github地址:https://github.com/sofastack/...看到里面的soap了吗?SOFARegistry只是一个棋子,而sofaack是棋盘。这是一个Stack,一个技术栈,一个金融领域的架构解决方案。它下面有很多项目。从xxxBoot、xxxRPC、xxxRegistry等主要项目的名称可以看出,我们可以用这些项目构建一个完整的项目:关于SOFARegistry的宝藏也藏在它的Labels中:https://github.com/sofastack/...这个Label叫做event/source-code-analyze,虽然看的东西不多,但是里面全是源码分析。而且是官方活动,文章内容会有专人审核,确保准确无误:本次共发布9个源码分析任务:任务难度由高到低。根据任务难度有不同的奖励:有机会成为社区的Contributor或直接成为member是相当有吸引力的。比如我们看一下这个关于数据倒排索引的任务:https://github.com/sofastack/...它的issues描述也指出了需要写什么,看哪部分代码。指示很清楚。最后分析文章投稿格式为md格式:大家可以直接下载阅读。届时对于想深入了解SOFARegistry的同学来说,会是一个很好的切入点。虽然SOFARegistry认识错了人,但是我还是想把SOFARegistry的这个活动写出来,让更多的人知道他们有这样一个活动。因为我觉得这个活动很好,源码分析是我看到的一种参与开源项目建设的新方式。最后,关于这两件宝物,说说理由吧?它告诉我:浏览开源项目时,多注意它的Labels,说不定藏着什么好东西。反正我以前很少关注Labels。我一直以为只有项目维护者才关心标签。最后,文章首发于公众号【whytechnology】,欢迎大家关注,比心。
