执行面试:为什么bet365正在为golang
2012年,三位谷歌工程师团队发布了一种新的编程语言,旨在使程序员能够更快地为多处理器硬件编写代码。许多组织已经利用了Golang,包括在英国的送货,赫姆库尔和Sainsbury。
Betting公司Bet365是Golang旅程的另一家公司。十八个月前,它没有任何Golang代码。现在,Bet365的体育开发负责人艾伦芦苇认为戈兰将成为公司核心开发语言之一。
他说主要司机使用Golangis表现。“大多数大型网站具有与谷歌相同的需求,我们正在达到我们当前的.NET解决方案的极限,”他说。在线Bookie需要一种方法来提供具有子第二延迟的现场运动结果。
虽然它具有C和.NET技能,但Bet365用于尝试新语言来帮助它满足业务目标。当计算机每周谈到2015年,它正在与Erlang的旅程开始,这是一种在20世纪90年代开发的编程语言,由爱立信为电话交换机开发。
当时,电话交换机提供商的问题必须处理与运行体育博彩网站(例如可靠性,可扩展性和简单)的经验时非常相似。该公司甚至甚至在埃尔朗德写的分布式NoSQL技术甚至获得了RIAK。 2016年并将代码贡献给GitHub上的开源社区,鼓励更多企业开发人员使用它。
为什么golang?芦苇说:“C和.NET是许多工作的优秀工具,但坐在业务的前线的运动符合最快的变化。这些语言太常规,无法实现我们的目标。“
雷德说,两年前Bet365开始看戈尔琅。他说,最初由谷歌开发的语言是有利于将代码的粘合位。其作为编程语言的核心优势是其内存管理和并发功能,帮助Bet365运行实时投注。“我们非常害怕记忆泄漏,”簧片补充道。
大型体育赛事吸引了许多想要下注的人们的兴趣,这导致网站上某些服务的需求峰值。“我们希望个性化客户的经历,”Reed说。“客户正在寻求下注并检查平衡。”
他说,戈兰能够管理对投注的这种巨大需求。“客户在比赛结束前两分钟下注。这导致有集中活动的数据区域。如果在游戏中发生了一些事情,所有客户活动都集中在一组数据上。“
Reed说,Golang帮助Bet365通过可预测的方式解决客户活动的“Peakyness”。
他补充说,戈兰的另一个好处是它的长期可维护性。“我们拥有大型开发团队,我们的软件有六到八年的寿命。戈兰让我们以非常一致的方式编写代码。“
Reed说这使得代码具有高度可维护。将其与.NET进行比较,依赖于设计模式,他说:“戈兰是限制性的。它的语言语法仅提供了一种对代码的特定方式。“
因此,维护代码应该更容易,因为只有一种方法可以编程某些方法。从某种意义上说,它提供“守卫轨道”,里德说。
第一个使用Golang释放的第一个产品Bet Bet Builder,它在2017年底推出。Golang还用于为FIFA世界杯创造一个现场赌注产品,并启用Bet365来添加搜索功能,使客户能够找到赌注的东西。
开发团队还在仅六行代码中创建了一个通用数据分离器。“戈兰使我们能够将某种东西搬进了一年的原型,”雷德说。“我们可以在四个月内加入不同的技术,我们可以实时改变数据。”
总的来说,Golang帮助Bet365快速创建了新软件,Reed说。“我们所做的性质是非常可预测的,但市场部分非常动态,所以我们可以花很多时间写错代码,”他说。“圣杯是尽可能快地编写面向商务的软件。”
他指出,某些语言如C,如C,也非常灵活,但Bet365的开发人员致力于固定的截止日期。应用程序需要在不可预测的市场中运行,并且可以以高度并发的方式运行。
芦苇总结:“我们需要拥有一种可以与我们规模的网站合作的技术。golang是互联网的一种语言。当面对固定的截止日期时,我们的开发人员可以专注于面向商务的代码。“