Bet365从Java切换到Erlang解决可靠性与扩展性

在线赌博公司bet365从Java更换到Erlang,降低了其核心投注平台的软件复杂性,扩展了系统应付四倍的访问量增长。

How Bet365 solved reliability and scalability issu

Erlang是由爱立信创建用于电话交换的语言,它是一个相对简单的编程语言,专为大型 高可用性的应用程序设计,WhatsApp用来处理每天数十亿的消息。

Bet365的研发经理Dan Macklin认为:该语言非常适合降低需要低延迟系统的复杂性,现在已经用于生产环境,驱动InPlay投注服务,近实时地推动了体育赛事直播赔率给百万计的客户。

随着规模的发展,软件越来越复杂,复杂性意味着需要更长的时间才能释放新版本,而软件变得更加难以测试,难于创新演进。

Erlang有内置的可扩展性功能,它凝聚在一个非常小的语言中,这样允许我们通过很少的代码扩展我们的系统。这意味着可以让我们的软件编制得更快,测试得更快,提高了我们开发人员的生产力。

Macklin领导一个小团队是在Bet365三年前创建的,这个团队的目标是实验新技术,让公司在竞争激烈的在线博彩市场获得优势。

他说:“我们的主要职责是,试图研究不同的解决方案,但最终使用一个不同以往的技术来简化我们正在做的事情”。

这团队开始研究NoSQL和可替代性的编程语言是否能够解决日益增长的规模,他们需要开发依赖多核处理器的现代软件以提高性能,同时意味着开发者被迫花费更多的时间来维持现有的系统以应付更大的访问负载,已经没有精力和时间创建新的业务服务。

"我们遇到的最大问题是规模和创新的两难境地,Bet365希望我们开发团队建立一个能让客户激动的真正前沿产品,但是,因为业务的不断着呢故障,我们陷入了大部分开发时间花在重构现有系统以应付即将到来的负载。“ Macklin如是说。

”扩展问题在多核世界变得越来越复杂,当你花费时间去创新时,你所担心的是,那种创新可能还是不能应付我们需要的规模水平“。


Erlang并发机制,actor模型,函数式编程,动态类型,开发大规模应用,棒棒的。