Bet365從Java切換到Erlang解決可靠性與擴充套件性
How Bet365 solved reliability and scalability issu
Erlang是由愛立信建立用於電話交換的語言,它是一個相對簡單的程式語言,專為大型 高可用性的應用程式設計,WhatsApp用來處理每天數十億的訊息。
Bet365的研發經理Dan Macklin認為:該語言非常適合降低需要低延遲系統的複雜性,現在已經用於生產環境,驅動InPlay投注服務,近實時地推動了體育賽事直播賠率給百萬計的客戶。
隨著規模的發展,軟體越來越複雜,複雜性意味著需要更長的時間才能釋放新版本,而軟體變得更加難以測試,難於創新演進。
Erlang有內建的可擴充套件性功能,它凝聚在一個非常小的語言中,這樣允許我們透過很少的程式碼擴充套件我們的系統。這意味著可以讓我們的軟體編制得更快,測試得更快,提高了我們開發人員的生產力。
Macklin領導一個小團隊是在Bet365三年前建立的,這個團隊的目標是實驗新技術,讓公司在競爭激烈的線上博彩市場獲得優勢。
他說:“我們的主要職責是,試圖研究不同的解決方案,但最終使用一個不同以往的技術來簡化我們正在做的事情”。
這團隊開始研究NoSQL和可替代性的程式語言是否能夠解決日益增長的規模,他們需要開發依賴多核處理器的現代軟體以提高效能,同時意味著開發者被迫花費更多的時間來維持現有的系統以應付更大的訪問負載,已經沒有精力和時間建立新的業務服務。
"我們遇到的最大問題是規模和創新的兩難境地,Bet365希望我們開發團隊建立一個能讓客戶激動的真正前沿產品,但是,因為業務的不斷著呢故障,我們陷入了大部分開發時間花在重構現有系統以應付即將到來的負載。“ Macklin如是說。
”擴充套件問題在多核世界變得越來越複雜,當你花費時間去創新時,你所擔心的是,那種創新可能還是不能應付我們需要的規模水平“。
相關文章
- MySQL 複製 - 效能與擴充套件性的基石 4:主備切換MySql套件
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- 可擴充套件性套件
- 【Kotlin】擴充套件屬性、擴充套件函式Kotlin套件函式
- 三高Mysql - 搭建“三高”架構之擴充套件與切換MySql架構套件
- Solon詳解(六)- Solon的校驗擴充套件框架使用與擴充套件套件框架
- Java SE(12) 擴充套件——進位制轉換Java套件
- 讀資料質量管理:資料可靠性與資料質量問題解決之道08擴充套件異常檢測套件
- Swift 擴充套件 Storyboard 屬性Swift套件
- 服務的擴充套件性套件
- 實現自動切換主題的 VSCode 擴充套件VSCode套件
- CalltoundefinedfunctionImageCreate()錯誤解決擴充套件gd庫UndefinedFunction套件
- Lambda擴充套件與用途套件
- BSGS與擴充套件BSGS套件
- MySQL 複製 - 效能與擴充套件性的基石 3:常見問題及解決方案MySql套件
- 資料系統的基石:可靠性、可擴充套件性和可維護性+資料儲存與檢索的模型套件模型
- MySQL - 擴充套件性 2 擴充套件策略:氪金氪腦任君選MySql套件
- 可擴充套件性筆記一套件筆記
- bash的特有擴充套件屬性套件
- 以太坊擴充套件解決方案Nahmii簡介套件
- PHP 擴充套件 Mongo 與 MongoDBPHP套件MongoDB
- PHP 擴充套件 Mysql 與 MysqliPHP套件MySql
- Flask框架從入門到精通之擴充套件指令碼(十五)Flask框架套件指令碼
- UIButton三狀態切換小技巧(可擴充套件至更多狀態)UI套件
- Kotlin擴充套件函式與屬性原理解析Kotlin套件函式
- 谷歌與蘋果的競爭擴充套件到汽車領域谷歌蘋果套件
- Swift快速為類擴充套件屬性Swift套件
- OPENWRT擴充套件系統到U盤套件
- 擴充套件jwt解決oauth2 效能瓶頸套件JWTOAuth
- Java 缺失的特性:擴充套件方法Java套件
- javax.mail Java Extension(擴充套件)JavaAI套件
- Java-IoUtil擴充套件工具類Java套件
- java資料型別擴充套件Java資料型別套件
- WCF擴充套件:行為擴充套件Behavior Extension套件
- Java併發程式設計:效能、擴充套件性和響應Java程式設計套件
- 有未分配的磁碟卻不能擴充套件卷怎麼解決 有未分配的磁碟卻不能擴充套件卷解決方法套件
- in_list查詢與or擴充套件套件
- PHPWAMP安裝Redis擴充套件的方式與相關擴充套件的下載PHPRedis套件