Newbe.Claptrap 0.9.4 發佈,全新構建,全新內容,全新體驗。
簡介
此次的版本更新雖然只是一個副版本更新。但實際上我們帶來了非常多全新的內容。全方位將本框架帶入到一個新的次代。我們希望我們的努力可以爲在業務中需要 Actor 模式的開發者帶來更多的便利。
更新內容
選擇 Dapr 作爲新的 ClaptrapBox
Dapr 是一款分佈式應用運行時,其提供的一套常用中間件抽象爲開發者提供了極大的便利。讓開發者可以更加減少對具體中間件實現的關心,進而使得應用具備更加廣泛的適用性,由此得以部署在更加多種環境之中。
Newbe.Claptrap 是一款基於 Actor 模式的開發框架,並且其中進行了一定程度的抽象。使得其能夠運行在多種不同的 Actor 模式具體實現之上。
從此版本開始,我們移除了對 Orleans 的支持,改爲使用 Dapr 作爲主要運行時。關鍵的考量點包含以下這些:
-
有限的開發力量促使我們只能將僅有的精力投放在一個具體的運行時上 -
Dapr 所提供了更加完善的雲應用支持,其特有的泛用性能夠適用於更加多樣的目標開發者 -
Orleans 對 Task 特殊的掌控方式偶然會造成我們陷入困難之中
不過,雖然我們選擇了 Dapr, 但是在具體的性能測試中我們發現:Orleans 所表現出來的至強性能仍然是高性能 Actor 模式需求的首選方案。
因此,我們也仍然建議:對於 Actor 模式實現框架有極致性能追求的開發者,Orleans 仍然可以作爲一個不容忽視的強力選擇。
選擇 net 5 作爲最新的 runtime
我們將目標框架由 netcoreapp3.1 和 netstandard2.1 切換爲了 net5。並且在已知的未來,我們將會將目標框架定位 net6 這個 LTS 版本。
選擇 Tye 爲開發者提供更爲便利的開發體驗
Microsoft.Tye是一款簡化雲應用開發的強力工具。它賦予開發者無論在開發環境還是 k8s 環境一致性的體驗。開發者可以使用它來輔助開發分佈式應用。
進一步優化調優的事件存儲器
作爲事件溯源框架,對於事件存儲器方案的選擇和優化一直是我們致力於要長足實踐的課題。
此次版本中,我們對所有支持的事件存儲器進行了性能調優。
使用更加合理的Channel
方案代替了ReactiveX
以優化事件的寫入速度,並且對一些探知的問題進行的修正。
現在,與先前的版本相比具有數倍的提升。所有受到支持的存儲方式均達到 30K-70k 每秒的時間寫入速度。
立即可用的鏈路監控埋點
通過對應用的埋點。現在,開發者可以從 Zipkin、Jaeger 等分佈式鏈路監控系統上清楚的看到一個 Claptrap 具體的行爲時間點和內容:
立即可用的性能指標報告
分佈式應用,性能報表自然也是不可缺少的部分。現在,通過 Grafana,開發者可以快速的查看當前 Claptrap 系統的一些重要指標情況:
更加酷炫的開發文檔
我們以 Docusaurus 2 替代 GastbyJS 作爲新一版本的文庫構建工具。爲開發者帶來更加明確可用的多語言多版本開發文庫。
同時,我們帶來了全新的“博客”模塊,爲開發者分享項目有關的開發經驗、版本介紹等等內容。讓開發者可以進一步瞭解項目。
不過,當前版本的最新幫助文檔仍然在持續構建中。如果您對本項目感興趣,歡迎關注項目,參與項目。
本文分享自微信公衆號 - newbe技術專欄(newbe36524)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。