科普 NA 公链(Nirvana):NAC 公链采用基于 NIO 的 Netty,实现链上应用百万级 TPS 并发
前言:NA 公链(Nirvana)想要建设一个“应用为王 ”的实用性公链,TPS 上的考虑是前期工作重点之一,可以说 TPS 数值的天花板将决定其公链上所创建应用的短板高度。
TPS 英文全称是 Transaction PerSecond,应用在数字货币,TPS,即系统吞吐量,它是软件测试结果的测量单位,一个数值代表一个客户机向服务器发送请求然后服务器做出反应的过程。通常来说,它是衡量系统处理能力的重要指标,体现了系统的性能。
假如 TPS 每秒并发太低,很容易造成网络拥堵严重,从而使得区块链在高价值的高并发业务领域无法落地。比如,由于 TPS 每秒并发太低,比特币和以太坊都存在交易费用高、确认时间长、扩展性差的问题,比特币社区因此产生分裂,硬分叉成为常态。
在区块链行业中,TPS 一直是饱受关注的技术参数。假如 TPS 每秒并发太低,很容易造成网络拥堵严重,这对区块链上的高并发业务应用来说,在前期落地上就已经出现致命伤。例如比特币和以太坊就曾因为 TPS 每秒并发太低,存在交易费用高、确认时间长、扩展性差的问题。
为了在区块链行业中争得一席之地,目前很多币在 TPS 上做文章,希望能通过有效的做法提高 TPS。到 2018 年,fabric 就可以到数千的 TPS,而石墨烯系列可以到上万的 TPS,比特币和以太坊的 Off-chain 方案理论上支持无限的 TPS。
在 Nirvana 的白皮书中也对其网络通讯所采用的技术进行了阐述。将打造更有价值、更具操作可能性的公链应用生态作为项目目标的 Nirvana 自成立以来,就陆续采用了一系列全新的技术支持方案用于公链建设,其网络通讯也是重点之一。
据了解,Nirvana 采用了基于 NIO 的 Netty。NIO 具备面向缓存区操作,同时还使用到虚拟内存技术,可以对客户端请求进行批量操作,而基于 NIO 技术的 Netty 既保留了 nio 的特性,又进行了封装优化,操作更加便利,在开发高性能服务端和客户端上具备了得天独厚的优势。
现在的 Netty 功能丰富,内置了多种数据编解码功能、支持多种网络协议;其可扩展性也很好,可以通过它提供的 ChannelHandler 组件对网络通信方面进行灵活扩展。目前 Netty 经过了许多商业应用的考验,在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的开源组件也基于 Netty 构建框架。
网络通讯上数据吞吐量决定着应用场景否能够正常、高效运行,Nirvana 想要建设一个“应用为王”的实用性公链,TPS 上的考虑是前期工作重点之一,可以说 TPS 数值的天花板将决定其公链上所创建应用的短板高度。有了这一点的保证,至少在寻找应用方向和场景上有更多可以延展的可能性,是打造优秀的实用性公链,最重要的先行条件之一。
评论