势如破竹,茁壮成长,全面解读BKEX GLOBAL此次升级

势如破竹,茁壮成长,全面解读BKEX GLOBAL此次升级
2021年09月24日 22:13 Louie-BKEX

为了向全球用户提供更加优质的服务和使用体验,BKEX于今日进行了长达24小时的全站升级,此次升级包括用户管理、出入金、现货及合约交易、对账模块、后台管理等。升级后的BKEX会更加丝滑。

币客(BKEX)后端主要的系统模块都是基于 Java 技术栈搭建而成。其中交易的核心“撮合系统”,部分使用了 C++。选用 Java 作为基础技术栈,主要是从开发效率和性能进行综合考量,并且 Java 具有最完善的生态和众多优秀的开源项目。历经迭代,币客(BKEX)交易平台的整体架构已经从最初的单体应用演变为基于 spring cloud 的微服务架构,参照领域驱动设计的原则,按照业务域来合理划分服务边界。

币客(BKEX)运行时环境高度依赖 AWS,以 AWS 云环境为基础,并且也进行了一些二次开发。比如币客(BKEX)有一套高度自动化的 CI/CD 系统,整个 pipeline 集成了代码拉取,编译,打包,自动化测试,灰度发布,线上验证,metrics 数据收集,自动回滚等,实现一键部署上线。运行时,基于精细的 metrics 数据收集,依赖 AWS 容器编排机制,可以实现准确的弹性伸缩,保证性能的同时,极大地降低成本。

撮合的性能是交易平台的核心竞争力。对于交易平台来说,引擎的稳定性、实时性和准确性对用户的资金管理非常重要,防止可能因此导致的用户资金损失。尤其是行情来临的时候,需要迅速处理用户的下单请求,获取行情。

币客(BKEX)打造了一套全内存撮合引擎,在该撮合引擎支持下,币客(BKEX)订单处理速度能达到 100 万单/秒。一般情况下,从头开始打造一个交易平台 ,如果是基于开源的交易平台软件进行修修补补,1-2 个月上线。如果使用的是数据库撮合,只能支持 1000-2000 个用户,适合小交易平台 。如果是内存撮合的话,大概需要半年的时间,当然这也取决于团队的技术背景和实力。币客(BKEX)使用的是全内存撮合技术,即使是主流的交易平台也很难做到这一点,大部分平台使用的是内存撮合与数据库撮合结合的方式。

币客(BKEX)的全内存撮合引擎使用 memory map file 的技术保证断电不会丢失数据,为了提高性能技术人员重写了很多 Java 的底层类库,去掉同步 lock,去掉很多异常的检查,定制化成撮合引擎专用的类库,并且进行了大量的 JVM 调优。

前端的技术栈,也经历了重大升级,最初使用的是 angular 1.x,并且和后端一起部署,之后也进行了前后端分离,前端使用性能更高的 react 框架。币客(BKEX)的 iOS/Android app 基本都是用原生代码编写的,因为作为交易平台的客户端对性能要求非常高,最近也在将一些性能不敏感的页面比如运营活动改成 hybrid 架构,这样一个 H5 页面 Web/iOS/Android 都可以使用,提高灵活性和开发效率。

由于行业的特殊性,安全是加密货币交易平台的核心竞争力之一,币客(BKEX)的安全体系建设主要有全生命周期的安全开发、零信任基础安全、风控体系进一步完善以及数据安全保护等几个方面。

具体来说,有:

使用最顶级的代码扫描软件,部署并实施“全生命周期”的安全开发。旨在从需求、设计、编码、测试以及上线各关键环节尽早地将安全风险规避在萌芽之中。比如产品需求有合规性风险识别,技术架构设计时通过威胁建模来辅助完成安全架构设计,编码过程及完成时有人工和工具协同的代码安全审计以发现语言、逻辑等层面的安全弱点。

引入专业的安全渗透测试团队来做上线前的模拟渗透。针对业务逻辑缺陷,不只是依赖于安全团队的安全测试,同时也培养功能测试团队逐步具有业务类安全测试的能力。因为功能测试团队往往是研发大团队当中最了解业务及业务的技术实现细节的,也更容易发现产品的业务弱点。

引入人工智能识别系统,在用户行为轨迹上做了大量基于算法的投入。机器学习 24 小时全天候分析用户行为,一旦发现一些异常情况将立刻报警。

一个完善的安全防护体系包含全生命周期的安全开发、安全运维、办公网络安全以及安全意识培训等四大部分。在网络层面的零信任安全框架上,业界比较成功的案例是互联网巨头 Google,他们曾耗费 6 年时间发展了零信任的安全框架,被称为 BeyondCorp。零信任架构下,仅有可信且被授权设备才可以接入币客(BKEX)网络。在安全基础建设方面,币客(BKEX)已经落地零信任架构 2.0,且 3.0 设计已经完成,并逐步形成非 IT 网络安全管理领域的零信任企业安全文化,比如:即便 A 员工是 B 员工的 BOSS,当 A 员工试图向 B 员工索要针对某个应用访问特权时,依然需要走严格的安全审计流程才可能获得。

同时数据进行冷热备份,遵照 ISO27001:2013 的备份策略实施,对于敏感(帐号)数据实时加密备份,同时不定期举办灾备演练验证备份可靠性和灾备机制可顺利接管系统。国际互联网巨头 Amazon/Cisco/Apple 都深根了这样的流程,甚至变成企业文化。

怎么维护一家 TOP30 流量的交易平台?

目前,币客(BKEX)用户达到千万级,DAU 峰值在 50 万以上,成交额峰值 50 亿美金。

区块链交易平台的用户操作非常频繁,特别是出现大行情的时候,几秒内的瞬时峰值可以达到 10~30 倍,这对系统健壮性要求非常高。币客(BKEX)设置了专门的压测工程师,也在构建完善压测平台,目前压力测试覆盖了所有关键路径和核心模块。在每个技术人都需要对自己负责的功能的负载能力给出合理评估,如果没有足够信心或者无法满足线上要求,需要主动的与压测工程师以及架构师讨论,进行验证和修改。

除了业务开发,币客(BKEX)上线后也设置了一个小组专注于架构升级、性能提升、安全加强,这些对于交易平台来说至关重要。作为交易平台的开发,始终得关注稳定性,性能,安全。

架构升级能够提高开发的效率,进行各种自动化测试/部署,比如 CI/CD,进行线上各种服务的划分治理,动态扩容/缩容,诊断问题,全链路追踪性能提升方面。比如虽然币客(BKEX)的撮合引擎已达到 100 万单/秒,但币客(BKEX)还一直在持续升级撮合引擎并完成编程语言迭代。以前用 Java 语言,现在已经升级为 Rust 语言,保证安全始终是币客(BKEX)的重心。

同时不断优化用户体验,每个 UI 人都希望自己做的界面简单、直观、易懂,操作一个功能需要的点击越少越好。尽可能把很多事情在后台做掉,币客(BKEX)表示此次全站升级就是要:“让我们越复杂,让客户会越简单”。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部