gydtep 发表于 2021-1-19 10:19:20
不管是SDK方式还是探针方式,非手工埋点形式的链路信息采集都依赖于链路追踪组件对于底层框架的识别。这些底层框架包含的领域非常广,其中包含应用对外提供服务所需要的框架,应用进程内部的通讯框架,应用之间相互访问所需要的框架,应用访问外部系统所需要的框架等等。gydtep 发表于 2021-1-19 14:44:04
正是因为经历了大规模生产环境的长期验证,才使ARMS能够在易用性、功能性、稳定性方面做到极致,以开源领域最活跃的全链路监控项目Skywalking为例,我们可以从多个维度对两个产品进行对比:gydtep 发表于 2021-1-19 15:50:35
我们先进入入口应用的接口调用视图,结束实际业场景,我们能够快速找到哪一个接口存在响应时间过长的情况。接下来,我们进入接口快照视图,在这个视图中,ARMS记录了每一次具体接口调用的情况,包括耗时、状态、以及对应的TraceId。按照耗时从大到小的顺序,对列表进行排序,就能够找到指定时间内耗时最长的调用。gydtep 发表于 2021-1-19 18:35:57
报警覆盖了JVM监控、异常接口监控、调用类型统计、主机监控、数据库指标等多种类型,每一种类型都预定义了一系列的可选规则,允许使用者在一个报警中添加一条或多条规则。每一条规则都包含一条时间参数,代表报警基于最近多少分钟之内的统计结果,而多条规则之间可以是“与“或者”或“的关系。gydtep 发表于 2021-1-20 09:49:28
书本知识主要是传道——讲述抽象原型,而对其具体应用场景的讲述往往含糊其辞,对抽象原型之间的关系也是浅尝辄止。采用同样精确的语言去描述应用场景和关联关系将会失去重点,让人摸不着头脑。所以,仅仅通过看书来获得成长就像是用一条腿走路。gydtep 发表于 2021-1-20 10:07:44
重视实践,充分运用感性认知潜能,在项目中磨炼自己,才是正确的学习之道。在实践中,在某些关键动作上刻意练习,也会取得事半功倍的效果。gydtep 发表于 2021-1-20 13:24:51
主要目标规划必须具备一定的挑战性,需要规划出不可能完成的目标。过度规划本质上是一种贪婪算法,目的是目标价值最大化。因为一切皆有变数,如果其他目标能够提前完成,就不妨利用这些时间去完成更多的学习目标。总之,前途必须光明,道路必须坎坷。gydtep 发表于 2021-1-20 13:26:55
各目标之间不一定共享资源,规划不一定互有冲突。gydtep 发表于 2021-1-20 15:47:56
所以,任何一个有价值的项目,都可以一直深挖。深挖项目,深度思考还可以锻炼工程师的创造力。期望不停地做项目的人,就像一个致力于训练更多千里马的人是发明不出汽车的。锻炼创造力也不是一蹴而就的事情,需要长时间地思考。总之,工程师们应该总是觉得时间不够用,毕竟时间是最宝贵的资源。gydtep 发表于 2021-1-20 18:14:16
比如下面这个流传很久的段子:越高级的语言就越没有技术含量。但真是这样吗,就拿Java和C来说,这是完全不同的两种语言,所需要的技能完全不同。C或许跟操作系统更加接近一点,和CPU、内存打交道的机会更多一点。但是为了用好Java,程序员在面向对象、设计模式、框架技术方面必须要非常精通。Java工程师转到C方向确实不容易,但作者也见过很多转到Java语言的C工程师水土不服。