JVM GC知识笔记

閱讀更多

RPC服务追踪的原理与实践

在分布式服务化架构下,由于分布式服务间存在相互依赖,彼此协同来完成各类业务场景。下图是一个典型的业务场景,从前端发起一个请求,到最后的业务完成,需要经过很多环节,这些环节可能都是分布式服务的方式提供,部署在不同的服务器上进行。而在这种复杂的分布式服务场景下,为了定位问题、性能瓶颈查询、异常日志跟踪等,如果没有服务追踪和分析工具的帮助,都是非常困难的。

说到分布式追踪,当然不得不提Google为其基于日志的分布式跟踪系统Dapper发表的[论文],在这边论文里,Google介绍了他们在分布式追踪领域的经验,总体来看其核心概念有三个:
1. TraceID:用来标识每一条业务请求链的唯一ID,TraceID需要在整个调用链路上传递
2. Span:请求链中的每一个环节为一个Span,每一个Span有一个SpanId来标识,前后Span间形成父子关系
3. Annotation:业务自定义的埋点信息,可以是sql、用户ID等关键信息

图:5个span在Dapper跟踪树中的关联关系(图来自google论文)

閱讀更多

分布式锁进阶1-基础

锁在并发编程领域很为常见,当有资源竞争时就会有锁,在单进程的程序里,由于编程语言一般均提供了相应的原语,只需要简单的一个函数调用或声明,及可实现线程的互斥访问和操作。比如:

閱讀更多

懷才不遇?

今天突然想想清楚一個問題:懷才不遇是一個偽命題嗎?

閱讀更多

讀張五常談思考方法

今日讀到經濟學家張五常關於他思考問題方式的文章,有所獲,作記錄。

閱讀更多

超越辯論的價值

我不在乎是否能辯贏你,只在乎我能從你那獲取到什麼信息。

閱讀更多

電子閱讀的問題反思

去年開始,借助Kindle開始閱讀電子書。不得不說,它幫我解決了兩大讀書問題:一是收藏和攜帶書籍的問題,我不用再為家裏書籍堆積如山而發愁,也不用每次外出,為選擇帶什麽書而煩憂,二是購書更為方便,無需再忍受物流運輸時間的耽擱,即買即上手。這兩大問題的解決,讓我現在購書都是優先選購電子版本。而最近,亞馬遜更是推出了一個電子書包月借閱的服務,將原來線下租借借書籍的功能搬到了線上,讀者能花更少的錢,而讀到更多的書,進一步解決了購書花錢之問題。

閱讀更多

讀點王陽明

下午翻書,讀錢穆老先生的一本小書《陽明學述要》,尚未讀完,只先初步了解了王陽明生前一番經歷。對於陽明心學,只是在術語的字面上,所知一二,如所謂的“致良知”、“知行合一”等等。人總是懶惰的,喜歡用自己的既有的知識和經驗去解釋碰到的新概念,所以對於陽明學的這些概念,我只是用自己固有的經驗去理解,不覺有什麼高深,權當其為無用之學。這番讀書,了解王守仁是在怎樣的一番苦難經歷下,才提煉升華出這幾大哲學概念,甚為欽佩,更望做更為全面之了解。

閱讀更多

文字之殤

今日讀《破解古文字的故事》,讀完了羅塞塔文字之謎解開的過程。對文字的發展演化形成了一點看法。我一直堅持再用繁體字寫作、寫微博、發朋友圈,在一個周圍人都使用簡體字的環境,這種特立獨行難免會讓人誤會成有裝作之嫌。我一直不屑於給他們解釋我用繁體字的原因,有人問到,只是告訴他們,你們看我用繁體字寫的東西,是學習繁體字的一個機會,要珍惜。

閱讀更多

勿增實體

奧卡姆剃刀原則:如無必要,勿增實體。

閱讀更多