Skip to main content

Newbe.Claptrap 0.9.4 发布,全新构建

· 6 min read

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 环境一致性的体验。开发者可以使用它来辅助开发分布式应用。

我们在开发过程当中,也进行了积极的探索,得出了很多值得一试的使用方案:

  1. 使用 Tye 辅助开发 k8s 应用竟如此简单(一)
  2. 使用 Tye 辅助开发 k8s 应用竟如此简单(二)
  3. 使用 Tye 辅助开发 k8s 应用竟如此简单(三)
  4. 使用 Tye 辅助开发 k8s 应用竟如此简单(四)
  5. 使用 Tye 辅助开发 k8s 应用竟如此简单(五)
  6. 使用 Tye 辅助开发 k8s 应用竟如此简单(六)

进一步优化调优的事件存储器

作为事件溯源框架,对于事件存储器方案的选择和优化一直是我们致力于要长足实践的课题。

此次版本中,我们对所有支持的事件存储器进行了性能调优。

使用更加合理的Channel方案代替了ReactiveX以优化事件的写入速度,并且对一些探知的问题进行的修正。

现在,与先前的版本相比具有数倍的提升。所有受到支持的存储方式均达到 30K-70k 每秒的时间写入速度。

立即可用的链路监控埋点

通过对应用的埋点。现在,开发者可以从 Zipkin、Jaeger 等分布式链路监控系统上清楚的看到一个 Claptrap 具体的行为时间点和内容:

jaeger

立即可用的性能指标报告

分布式应用,性能报表自然也是不可缺少的部分。现在,通过 Grafana,开发者可以快速的查看当前 Claptrap 系统的一些重要指标情况:

docs4

更加酷炫的开发文档

我们以 Docusaurus 2 替代 GastbyJS 作为新一版本的文库构建工具。为开发者带来更加明确可用的多语言多版本开发文库。

同时,我们带来了全新的“博客”模块,为开发者分享项目有关的开发经验、版本介绍等等内容。让开发者可以进一步了解项目。

docs1

docs2

docs3

docs4

不过,当前版本的最新帮助文档仍然在持续构建中。如果您对本项目感兴趣,欢迎关注项目,参与项目。