真人棋牌游戏

点击注册
点击注册
.
真人棋牌游戏 你的位置:真人棋牌游戏 > 炸金花游戏 >

bet365使用Erlang推送滚球实时信息并开发提前兑现功能

发布日期:2022-08-15 02:30    点击次数:134

bet365使用Erlang推送滚球实时信息并开发提前兑现功能

bet365和WhatsApp有什么共同点?英国博彩公司如何使用鲜为人知的编程语言Erlang以提高其系统真人棋牌游戏

bet365研发主管说:少为人知的编程语言将大放异彩

埃森哲技术实验室人员马修芬尼根|2015年3月9日

在线赌博公司bet365已经从Java换成了一个鲜为人知的编程语言Erlang,使其能够降低支撑其核心投注平台的软件复杂性,和规模化系统处理其网络上的用户数量增加了四倍。

爱立信开发人员二十年前创建了 Erlang,来运行其电话交换机,Erlang是一个相对简单的编程语言,用来设计大型高可用性的应用程序。自九十年代中期以来,它很少被电信行业之外注意,但近年来,随着WhatsApp用它来处理数十亿其网络每天发送的消息,它在不断壮大。

据bet365研发经理丹·麦克林,该语言也非常适合于减少其低延迟系统的复杂性,以及目前正在使用在驱动现场滚球投注InPlay服务的产品中,将体育赛事直播赔率几近实时推送给以百万计的客户。

“我们选择了Erlang的原因主要是,我们早已经看到我们已有软件变得日趋复杂,它变得越来越难规模化,”麦克林说。

“复杂性意味着它需要我们更长的时间才能更新版本,而软件变得更加难以测试,并使其更难创新。

“Erlang的规模化功能内置到语言里面,但它也是一个非常小的语言,因此它允许我们扩展我们的系统而代码行的数目急剧减少。这意味着我们可以让我们的软件更快,我们可以更快地进行测试,并从而可以提高我们的开发人员的生产力。“

研究和开发

麦克林领导着一个小开发人员团队,是bet365三年前创建的R&D功能的一部分。该团队的目标是试验可以让公司在竞争激烈的在线博彩市场取得优势的技术。

“我们的主要职责是,我们尝试看看使用不同解决问题的方式来挑战传统约定,但最终侧重于使用不同的技术来简化我们做事情的方式,”他说。

该团队开始看看如何使用NoSQL和替代的编程语言用来解决日益复杂的系统,该系统无法应对不断增长的客户需求,并需要开发软件依赖于多个处理器内核的现代服务器的复杂性问题以提高性能。这意味着,开发人员被迫花太多的时间来维护现有的系统,以应付更大的工作量,而不是专注于创造新的服务。

“我们所遇到的一个大问题是规模和创新的两难境地:bet365希望我们的开发团队建立真正激发客户的前沿产品,但是,随着业务的增长,因为我们进入这样一个螺旋:大部分的开发时间都花在重新设计现有的系统,以应付未来的负载,“麦克林说。

“规模化的问题在越来越的多核心世界里变得越来越复杂,而且,当你有时间进行创新,你担心的是,创新可能不会在我们需要它在运行的规模上运行。”

采用Erlang

该公司决定采用Erlang开发基于Java的InPlay投注服务,处理在高峰时间多达200万的并发用户。麦克林说​​,三年前使用Erlang的想法是不寻常的,但需要这么多的并行处理的应用程序导致选择 Erlang 是有道理的 - 爱立信开发者有类似考虑。

“九十年代电话交换机供应商不得不应对我们今天面临的非常相似的问题:可靠性和可扩展性。那时,电话交换有很多的信息路由不断发生,这实在是一个令人尴尬的并行的问题[工作负载包括许多相同的可以被分离的元素],“麦克林说。

他补充说,以这种方式有效地扩展系统,一个简化的代码库是必需的 - Erlang正是针对此任务开发。 “我们最大的成功就是将其应用到InPlay系统中,”他说。

在繁忙时段如重大体育赛事时 - - 该公司现在可以管理需求的激增,而不向客户放缓服务。

“我们的代码库被大大简化了,现在,我们少有可靠性的问题。我们是一个令人难以置信的峰值业务,我们发现,在交易高峰期,我们能够为我们的客户提供Erlang的一个更可预测的高质量的产品,“麦克林说。

“在周六繁忙时段当我们正在推送大量数据,我们能保持速度一致的更新,无论什么负载被放置在系统上。”

项目的成功导致Erlang语言被用来在一个全新的系统中提供中间件:创建bet365套现(Cash Out)服务。这使客户能够尽早结束自己的投注,并在一个事件结束之前返现 - 比如足球比赛。

“问题是,我们有我们需要让我们的客户在非常低的延迟的InPlay系统相同的交易数据,我们需要将它应用到用户的开放的赌注,产生一个价格,”他解释说。

“这是很困难的,你已经得到尽可能多的开放式投注和数据的变化真人棋牌游戏,因为我们有。这又是我们如何能够利用Erlang进入这个世界。“