Newbe.Claptrap 0.9.4 发布,全新构建

Newbe.Claptrap 0.9.4 发布,全新构建,全新内容,全新体验。

Newbe.Claptrap 是一个用于轻松应对并发问题的分布式开发框架。如果您是首次阅读本系列文章。建议可以先从本文末尾的入门文章开始了解。

简介

此次的版本更新虽然只是一个副版本更新。但实际上我们带来了非常多全新的内容。全方位将本框架带入到一个新的次代。我们希望我们的努力可以为在业务中需要 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

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

最后但是最重要!

如果读者对该内容感兴趣,欢迎转发、评论、收藏文章以及项目。

最近作者正在构建以 Actor 模式 和 事件溯源 为理论基础的一套服务端开发框架。希望为开发者提供能够便于开发出“分布式”、“可水平扩展”、“可测试性高”的应用系统——Newbe.Claptrap

本篇文章是该框架的一篇技术选文,属于技术构成的一部分。

项目文档库:claptrap.newbe.pro

联系方式: QQ 群 610394020

您还可以查阅本系列的其他选文:

理论入门篇

  1. Newbe.Claptrap-一套以“事件溯源”和“Actor模式”作为基本理论的服务端开发框架

术语介绍篇

  1. Actor 模式
  2. 事件溯源(Event Sourcing)
  3. Claptrap
  4. Minion
  5. 事件 (Event)
  6. 状态 (State)
  7. 状态快照 (State Snapshot)
  8. Claptrap 设计图 (Claptrap Design)
  9. Claptrap 工厂 (Claptrap Factory)
  10. Claptrap Identity
  11. Claptrap Box
  12. Claptrap 生命周期(Claptrap Lifetime Scope)
  13. 序列化(Serialization)
  14. 最小竞争资源 (Minimal Competing Resources)

样例实践篇

  1. 设计一个火车票销售系统

开发入门篇

  1. Newbe.Claptrap框架入门,第一步——开发环境准备
  2. Newbe.Claptrap框架入门,第二步——创建项目

开发工具篇

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

其他番外篇

  1. 谈反应式编程在服务端中的应用,数据库操作优化,从20秒到0.5秒
  2. 谈反应式编程在服务端中的应用,数据库操作优化,提速 Upsert
  3. 十万同时在线用户,需要多少内存?——Newbe.Claptrap框架水平扩展实验
  4. docker-mcr 助您全速下载 dotnet 镜像
  5. 十多位全球技术专家,为你献上近十个小时的.Net微服务介绍
  6. 年轻的樵夫哟,你掉的是这个免费8核4G公网服务器,还是这个随时可用的Docker实验平台?
  7. 如何使用dotTrace来诊断netcore应用的性能问题
  8. 只要十步,你就可以应用表达式树来优化动态调用

GitHub 项目地址:https://github.com/newbe36524/Newbe.Claptrap

Gitee 项目地址:https://gitee.com/yks/Newbe.Claptrap

您当前查看的是先行发布于 www.newbe.pro 上的博客文章,实际开发文档随版本而迭代。若要查看最新的开发文档,需要移步 claptrap.newbe.pro

Newbe.Claptrap