火币网架构及安全

http://www.infoq.com/cn/articles/huobi-cto-interview

 

InfoQ:火币网的技术栈是怎样的?

巨建华:火币网最初是基于LNMP搭建的交易平台,在关键的钱包和撮合引擎方面使用C++实现,随着业务的发展和业务增长带来的营运压力提升,我们逐渐根据业务的特点进行了相应的技术升级。

首先我们升级到了面向服务的架构,原来的PHP作为Web层实现与用户的交付,将业务层转向用Java开发的后端服务中,这种架构下我们可以在保持非常高效的前端产品迭代周期上,并确保整个服务平台的稳健。

在服务框架方面我们分别采用了Rest.li和Thrift,根据不同的应用场景灵活选用,并通过ZooKeeper实现了服务的配置管理和集群管理。 和大部分互联网企业一样,我们在实际业务中大量使用了Redis做持久化的存储和数据缓存,通过Haproxy和LVS结合Keepalived实现关键系统的软件负载均衡。

消息服务方面我们分别使用了RabbitMQ和Appolo,用于实现订单和行情数据的发布管理,通过Node.js和QuickFix这两个开源项目我们实现了实时的行情推送,并为用户提供了可靠的交易API服务。

Python承担了部份运维管理和日常数据处理任。

数据库层面我们使用MongoDB承担了全部行情数据的存储和分发,通过MySQL、InnoDB实现了业务数据的存储。同时我们的交易终端覆盖Windows/Mac OS X/Android/iOS,在桌面和移动端为用户提供了更好的交易体验。

 

InfoQ:安全性对于数字货币来说至关重要,火币网是如何从技术方面保障安全的?

巨建华:安全对于交易所来说是非常重要的一面,日本最大交易所MtGox因为安全问题的倒闭在世界范围内影响了比特币的价格走势,为整个比特币交易领域敲响了警钟。

火币网在成立初期就建立了安全部,由经验丰富的安全专家带队参与到了火币网开发和运营的方方面面,从代码安全到系统监控甚至社交攻击防护,到处都有安全部门的影子。 在火币网发展速度最快的时候,我们面临了大规模的DDOS攻击,最高时攻击的流量达到80多G,我们在改进自身系统和的同时,也引入乌云、安全宝、加速乐等安全领域的公司的专业服务,这些工作使火币网一直以来未发生过安全隐患。 在解决自身安全问题的同事,我们也在风控系统中增加了对用户的安全监控,比如有用户帐号被盗以后如果存在异常的登陆提现等行为,我们客服系统上会有相应的报警,客服人员会在第一时间和用户进行电话核实。

猜你喜欢

转载自xinyuan197.iteye.com/blog/2251941