我们很高兴地宣布新版 Blocklet Server 的发布!后续 Blocklet Server 的发版公告我们会在这里公布,方便关注的同学了解进展。
Blocklet Server 是 ArcBlock 研发的去中心化应用底座,它不仅提供了应用的安装、配置、启停和组合功能,还提供了强大的基础服务,如用户和通行证管理。每个正式版都在性能、稳定性、扩展性和用户体验等方面相较于上个版本有了显著的改进。每个测试版都至少在我们的生产环境稳定运行两周以上才会发布正式版。
相比于 v1.16.12,新版主要有以下变化:
新特性#
支持为单个组件添加多个路由#
在之前的版本中,应用内的每个组件只能挂载在特定的路径下,新版中支持了把某个组件挂载到多个路径下面,比如你访问的站点的配置:
#

如果你想用这个特性更新自己的站点,可以参考: https://www.wangshijun.xyz/blog/host-blog-community-doc-with-discuss-kit
应用备份和恢复体验改版#
新版中可以方便的连接多个 DID Space 空间,然后随意切换备份空间,并查看备份日志:
开箱即用的流量统计分析#
任何站点都需要流量统计分析,来帮助站长了解自己站点的访问情况,我们基于 goaccess 构建了内置的流量分析工具。为了更加方便寻找,我们把流量分析和运行时分析都放到了单独的统计分析页面下:
更加清晰的应用空间过期提醒#
对于从 Blocklet Launcher 购买的应用空间,可以在应用内立即访问到应用的过期提醒、账单,甚至完成续费:
应用群可自由组合,共享同一登录身份#
不同于以往的单个站点的登录,现在可以很轻松的将多个不同的站点 “捆绑” 在一起,多个站点可以共享同一个登录的身份。
TBD
其他改进#
安全性改进#
- 转移应用所有权的入口只有应用的 Owner 才能看到
可靠性改进#
- 修复了应用组件升级、启动、停止过程中的状态异常问题
- 修复数据库迁移到 SQLite 之后导致的 HTTPS 证书生成问题
- 将应用组件启动时的端口分配改为动态按需分配,彻底解决端口占用导致的启动失败问题
- 将应用启动、停止改为组件粒度,单个组件失败不会影响整个应用失败
- 查询审计日志时支持迁移过应用 DID 的场景
性能优化#
- 通过优化等待时长和超时设置来让应用启动速度更快,从之前的 30s 缩减到 20s 左右
- 通过优化等待时长和超时设置来让节点启动速度更快,从之前的 10s 所见到 6s 左右
- 优化用户会话验证的性能,带会话的接口性能在 1C、1G 机器上能达到 300 QPS,且 90% 相应时间在 400ms 左右
- 为应用和节点控制台添加 PWA 支持,控制台访问的速度会更快,并且可以独立安装为桌面应用
开发者体验提升#
- 支持通过 .env 文件来配置组件的挂载点和应用 DID
- 支持在开发模式下启动 cluster 模式的组件
- 支持在生产模式组件已经存在的情况下开发同名组件
SDK 改进#
- 为
@abtnode/timemachine
增加 Typescript 定义 - 为
@blocklet/sdk
增加容错,避免导致应用启动失败 - 为
@blocklet/sdk
增加 AuthService.refreshToken 支持 - 修复
@abtnode/queue
里面的延迟任务问题 - 将
@blocklet/resolver
抽象为单独的工具库方便复用
如何获得新版#
如果您希望使用最新版的 Blocklet Server,请执行以下步骤:
- 通过运行命令
npm install -g @blocklet/cli
安装最新版。 - 直接启动服务,运行命令
blocklet server start
。
我们将继续努力改进 Blocklet Server,并提供更多令人兴奋的功能和优化。感谢您对我们的支持和关注!
如果您有任何问题或反馈,请在技术支持板块反馈。