首页 > 资讯 > 应用 > CITA:面向企业级应用高性能区块链内核
CITA的微服务架构和相关专利
2019-11-01 14:04:10作者:CITA来源:CITA
CITA( Cryptape Inter-enterprise Trust Automation )是一个面向企业级应用的支持智能合约的高性能区块链内核
CITA 适合哪些人使用?
区块链开发者
CITA 的微服务架构到底是什么?https://docs.citahub.com/zh-CN/cita/architecture/architecture
CITA 现在有哪些相关的专利?我们会将 CITA 相关专利的具体信息以邮件的形式发送给现有的企业会员。
为什么选择 Rust?秘猿科技在 2016 年发起 CITA 开源项目,当时我们想要做面向企业应用的高性能区块链内核 ,因为 Python 开发效率非常高,适合用来做原型,所以,选用了 Python 来做原型。但是我们发现使用 Python 做原型有几个弊端:
- 性能差:脚本语言无法与编译性语言媲美;
- 多核支持差:有一个大的进程锁,在状态机上无法完全利用多核 CPU。在我们做完第一个原型时,某企业想要尝试,直接提供 4 台 56 核服务器,然而 Python 只能使用一个核是满的,其余 55 个核全都...所以,我们决定不再用 Python;
- ffi 导致内存问题。
面对性能差和多核支持差两个问题,我们做了很多 Tricky 的工作。我们用 C 代码将关键的地方写出来,用 ffi 方式去调用。但是 Python + C 的组合将会导致很多内存问题。在排除了 Python 之后,CITA 只有四种语言可供选择,即 Rust、Go、C++、Java。当时秘猿科技的早期员工,首先排除了 C++、Java,因为觉得逼格不够高。在区块链行业中,绝大多数的项目使用的是 Go 语言,那么促使我们最终选择 Rust 的原因是:
- 内存安全:Rust 在编译阶段就会做很多内存检查。只要 Rust 程序编译通过,就不会有野指针、重复释放等问题。企业级用户,对可靠性的要求非常高,而 Rust 的内存安全符合企业级用户和以及我们的内在需求。
- 性能好:Rust 被普遍认为是更好的 C++,从 C++ 标准演化过程中,你可以发现 C++ 和 Rust 殊途同归,最终的选择都差不多。与 Go 相比,Rust 没有 GC 的,性能确实是好一些。
- 多核支持好。
- 类型系统:在编译阶段杜绝很多代码问题,对软件质量非常有帮助。
不能。