关于java:两个宝藏关于我在github上冲浪时的一个小技巧

35次阅读

共计 2418 个字符,预计需要花费 7 分钟才能阅读完成。

你好呀,我是歪歪。

前几天在 github 上冲浪的时候,发现了两个宝藏货色。

我也不藏着掖着了,拿进去给大家分享一下。

这两个宝藏是对于 arthas 和 SOFARegistry 的,这两个货色都是阿里开源的我的项目。

arthas 大家应该都比拟耳熟能详了,晓得它是阿里搞进去的一款 Java 诊断工具。

而 SOFARegistry 是个啥玩意?如同没怎么据说过呢?

我接触这个货色的工夫也不算长,然而我大略晓得它是个什么货色,我感觉是一个轮子,然而这个轮子还挺厉害的。

不焦急,等下就给你摆一摆。

arthas

arthas 这个玩意,我都不记得我之前的文章中呈现了多少次了。基本上都是对于它的应用实际操作案例或者说是官网提供的练手 Demo。

它的应用范畴也还是十分的宽泛:

那么,我在它的 github 上又发现了什么宝藏货色呢?

就藏在它的 issue 的 Labels 外面:

点开 Labels,你会发现有个叫做 user-case 的标签:

这个标签下的 issues,就是我想说的第一个宝藏:

https://github.com/alibaba/ar…

我给你截屏第一页的内容,你看看是不是很有一种想要点进去看看具体是啥的欲望:

比方给你看看工行的这个 user-case:

https://github.com/lyghzh/pub…

我之前其实始终认为大家会感觉 Arthas 在生产上运行其实是一件十分危险的事件。

它就是一把双刃剑,用的好了,早点上班,用的不好,说不定背个生产事变。

所以,采取因噎废食的办法,罗唆就不应用了。

工行,作为一个银行,在这个方面的思考必定也更加的多。

在他们的落地艰难点上,首当其冲的就是“信息安全”的问题,这是它们的根底红线,也是银行的立根之点:

那么它是怎么在生产上应用 Arthas 呢?

在这个 case 外面,给出了这个问题的答案。

咱们设计了一套笨重的架构,让开发人员以 Web UI 的形式,便捷、直观的应用各类在线诊断能力。那么咱们是怎么做的呢?

基于 Arthas 的性能,再次封装了一个 web UI 页面进去,藏在这个页面背地的接口,能够对执行后果进行剪裁和批改,解决成 json 格局数据返回给平台做展现。

文章中除了介绍整体架构之外,还提供了理论应用的成果。

比方控制面板看起来就很眼生的样子:

就是基于 Arthas 原生的响应,搞了一个展现页面。

页面上的这些数据都是 Arthas 返回的:

还有反编译的性能:

然而在文章中并没有看到热加载相干的内容,我猜必定是对于这类危险的性能,从 web 页面上就进行了屏蔽。

在这个 issues 上面,我还发现他人提到另外一个相似的我的项目:

这是去哪儿开源的一个 Java 利用诊断工具:

不延长了,学不过去了。

再比方这个案例:

https://github.com/alibaba/ar…

而后他应用 Trace 一点点的追踪工夫耗费比拟大的办法,再一点点的进行修复。

通过了四次优化之后,雷同申请的调用链路耗时,从最开始的 343ms 升高到了 27ms,你说这不香吗?

而后,他给出了论断,也就是这次优化的点:

你能够发现其实都不是什么特地大的优化,就是一些咱们平时在应用的细枝末节的货色。

最初,他还写了一个“强烈推荐”:动静追踪技术漫谈。

好吧,这个也是我很久之前就珍藏了的网站,不藏着了。也拿进去一并分享了:

https://blog.openresty.com.cn…

这个博客外面的文章品质十分的高,博客的客人是章亦春,他是开源我的项目 OpenResty 的创始人,同时也是 OpenResty Inc. 公司的创始人和 CEO。

咱就是说,大佬背书,释怀浏览。

这里我只是在第一个宝藏中轻易挑了两个案例进去,剩下的你本人去开掘吧。

SOFARegistry

SOFARegistry 是个啥?

其实我了解它就是一个注册核心的轮子。或者更具体一点的说就是具备阿里特色的 Eureka。

这是它的 github 地址:

https://github.com/sofastack/…

你看到其中的 sofastack 了吗?

SOFARegistry 只是一个棋子,sofastack 才是棋盘。

这是一个 Stack,是一个技术栈,是一个金融畛域的架构计划。

它上面的我的项目十分多,从次要我的项目的名称命名,什么 xxxBoot,xxxRPC,xxxRegistry 你就能够看出,用这些我的项目咱们能够搭建出一个残缺的我的项目:

对于 SOFARegistry 的宝藏也藏在它的 Labels 外面:

https://github.com/sofastack/…

这个叫做 event/source-code-analyze 的 Label,你别看没几个货色,然而外面全是源码剖析。

而且是官网发动的流动,文章内容会有专人 review,力保准确性:

这次一共公布了 9 个源码解析的工作:

工作难度有高有低。依据工作难度有不同的处分措施:

有机会成为社区的 Contributor 或者间接是 Member,还是相当有吸引力的。

比方咱们看一下对于数据倒排索引的这个工作:

https://github.com/sofastack/…

它的 issues 形容外面也指出了须要写什么内容,去看哪一部分的代码。

指路曾经指的很明确了。

最初解析文章提交的格局是 md 格局:

咱们能够间接下载下来进行浏览。

到时候对于想要深刻了解 SOFARegistry 的同学来说就是一个很好的切入口。

尽管 SOFARegistry 晓得的人不对,然而我还是想把 SOFARegistry 的这个流动写进去,让更多的人晓得他们有这样的流动。

因为我感觉这个流动十分的好,源码解析,是我看到一种全新的参加开源我的项目建设的形式。

最初,对于这两个宝藏,通知我一个什么情理?

它通知我:逛开源我的项目的时候要多留神它的 Labels,说不定藏着什么好货色。反正我以前是很少关注 Labels 的,我始终认为只有我的项目维护者才关怀 Labels。

最初,文章首发于公众号 [why 技术],欢送大家来关注呀,比心。

正文完
 0