fabric v1.4 新特性

写在前面

fabric 终于在1月10日发布了 v1.4.0 版本(1月9日 github 上版本库已经有了 v1.4.0 的标签了,1月10日收到官宣邮件)。

其实在1个多月内,1.4.0 已经发布了两个候选版本,新功能基本都有了,但是因为一直忙(lan),所以没怎么看。这次终于等到 1.4 正式版的发布,赶紧看看都有什么新东西。

本文主要是对官方文档 what's new in v1.4v1.4.0 Release Notes 的翻译。由于水平有限,本文不做一对一的中英对照翻译,主要结合本人的'还凑合'英文水平进行意译--即我看着像什么意思就翻译成什么。如果读者遇到有疑义的地方,请翻阅原文。

新特性(翻译)

fabric 的首个长期支持版本

超级账本 fabric 项目自从 1.0 发布以来已经同社区的运营者一道逐渐成熟起来。fabric 的开发者一直在和网络运维人员一起合作,将 v1.4 的重心放在了稳定性和生产运维上面。因此,v1.4 将会是我们的第一个长期支持版本。

我们一直以来的策略就是只对最近发布的主版本和次要版本提供缺陷修复。我们计划多后续版本也采用同样的支持策略。但是,对于超级账本 fabric 的 v1.4 版本,fabric 的维护者们承诺会提供自发布之日起为期一年的缺陷修复支持。这就是说后面会有一系列的针对 v1.4 的补丁版本(v1.4.1,v1.4.2,...),每个补丁版本会包含很对修复。

如果你正在跑的是 fabric 的 v1.4 版本,那么你可以放心你能够很安全的升级到后续任何一个补丁版本。如果出现需要通过升级操作来修复某些缺陷的情况,我们会通过补丁版本来提供这种升级操作。

可维护性和操作的改进

随着越来越多的超级账本 fabric 网络部署起来并进入生产阶段,可维护性和可操作性方面的要求是非常重要的。fabric v1.4 版本在日志改进、健康检查和运行指标方面有了一个巨大的提升。因此 fabric v1.4 版本是推荐的生产应用版本。

  • 运维服务:新的 RESTful 运维服务为运维人员提供了3个服务来监控和管理 peer 和 orderer 节点。
    • 关于日志的/logspec端点允许运维人员动态的为 peer 和 orderer 节点设置或获取日志级别。
    • /healthz端点允许运维人员或者容器编排服务能够检查 peer 和 orderer 的 活跃度和健康情况。
    • /metrics端点允许运维人员利用Prometheus来从 peer 和 orderer 节点获取运行指标。运行指标也可以发布到StatsD

应用开发的编程模型改进

编写分布式应用变得越来越简单了。Node.js SDK 和 Node.js 智能合约在编程模型上的改进使得分布式应用的开发变得更直观,这让你你只需要关注自己的业务逻辑。已发布的 npm 包仍然可以使用,于此同时新的 npm 包提供了一个抽象层来帮助提高开发者的效率并且使用起来更容易。

v1.4.0 发布说明(release note)

  • Fabric 运维服务

peer 和 orderer上提供了一个新的基于operations的 HTTP 服务端点。这个端点暴露的API可以用来进行服务的健康检查、查询或修改日志级别,如果被配置了也可以暴露运行指标。

  • FAB-3388 - fabric 组件的运行指标

peer 和 orderer 服务已经具备监测功能用于提供基本的运行指标。这些指标可以用Prometheus 或者 StatsD 消费后进行展示。

  • FAB-10851 - 健康检查端点

orderer 和 peer 提供了一种通过 HTTP 请求来进行健康检查的机制。在运维节点上执行对GET /healthz请求,如果服务正常,会返回一个状态200。如果健康检查失败,服务端壶返回状态503 - 服务不可用,以及一段 JSON 数据来说明那个组件检查出了问题。被执行的健康检查类型会随着时间不断扩展。

  • FAB-12265 - 动态日志级别

orderer 和 peer 提供了一种对活动的日志规范进行获取或更新的机制。在运维节点上执行GET /logspec请求会返回一个包含活动日志规范的 JSON 数据。当一段形如{"spec":"the-log-spec"}的 JSON 数据被通过PUT /logspec请求发送后,活动的日志规范会被更新。

  • FAB-12357 - 日志相关更新

在早期的 fabric 版本中,logger 都是和命名的组件关联在一起,配置会控制每个logger的活动级别。但是这个模型只是理论上可行,受 fabric 使用的配置管理库和 fabric 的基础代码框架所限,这个模型在实际应用中会有很多问题。
在 1.4 版本中,我们稍稍改动了下这个模型。跟以前将logger关联到命名组件不同,我们直接对logger进行命名,并帮助减少初始化过程中的副作用,日志相关的配置也不再从 fabric 系统配置中获取,而是从包含日志规范和日志格式的环境变量中获取。
日志规范是一个由分号分隔的多个token组成的单个字符串。每个token定义了一个或多个logger的名称前缀(逗号分隔)和可选的日志级别。当logger名称前缀以句号结尾,这表明这个日志级别应该只被应用到有那个准确名称的logger上,不包含后面的句号。当日志名称部分省略的时候,这表示默认日志级别。如果多项引用了同样的名称或者提供了多个默认实例,最后一个规范拥有优先权。
(示例:logger.a,logger.b=info:logger.c=WARN:DEBUG

  • FAB-12363 - gRPC 交互相关日志

orderer 和 peer 现在提供对 gRPC 交互的日志(INFO 级别)记录

  • FAB-12372 - 非中断情况下获取 goroutine 栈信息

当 peer 或者 orderer 收到SIGUSR1信号后,所有 goroutine 的状态会被采集并用 INFO 级别日志记录。此收集过程不会中断进程。

  • FAB-5093 - 私有数据取回

允许那些已加入私有数据集的组织的 peer 节点能够在有资格时获取先前交易所属的私有数据。这个功能只支持那些在 v1.4 之后加入通道的 peer 节点。

  • FAB-11409 - 私有数据客户端访问控制

基于客户端的组织成员身份在 chaincode 层面自动执行访问控制的能力,不需要额外编写特殊的 chaincode 逻辑。这个特性通过私有数据集配置的属性memberOnlyRead:true来配置。如果你有一个混合了 v1.4 版本的peer节点和之前发布版本的 peer 节点的网络,之前发布版本的 peer 节点不会对这个配置生效,直到它升级到 v1.4 为止。

总结

  • 这是一个LTS (Long Term Support,长期支持) 版本(Long=1年,捂脸.jpg)
  • 这是一个生产应用推荐的版本
  • 新增的特性主要围绕运维相关,监控管理等
  • 核心功能并没有大的变化,从1.3的升级应该比较平滑
  • 并没有新的共识算法支持
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容