Yandex 開放了用於建立高負載應用程式的 userver 框架的程式碼

Yandex 發布了 Userver 框架的原始程式碼,該框架允許使用 C++ 創建以非同步模式運行的高負載應用程式。該框架已在 Yandex 級別的負載下進行測試,並已應用於 Yandex Go、Lavka、Delivery、Market 和金融科技等服務項目。 Userver 程式碼以 C++ 編寫,並根據 Apache 2.0 授權開放。

Userver 最適合開發具有微服務架構的應用程式。最初,該框架是為 Yandex Taxi 開發的,在其幫助下,團隊從單片應用程式轉變為允許開發單獨獨立組件(微服務)並在不同應用程式中使用的架構。微服務是自主的,因此基於這種架構的應用程式可以輕鬆更新並添加新功能。因此,用於為計程車訂單尋找司機的微服務可用於類似的任務 - 例如,尋找快遞員來完成 Yandex 送貨訂單。計算司機或快遞員的到達時間以及許多其他任務也可以做到這一點。

該框架從零開始構建,注重可靠性和易用性,涵蓋了開發、診斷、監控、調試和實驗所需的一切功能。例如,userver 會在編譯過程中提供錯誤修復建議,支援多種資料庫,可以動態變更參數等​​等。此外,該框架還宣布支援多種系統。 Ubuntu, DebianFedora、Arch、Gentoo macOS支援 x86、x86_64、AArch64、Arm 架構、GCC 8+ 和 Clang 9+ 編譯器、C++17、C++20、C++23 標準。

該軟體包包含用於非同步操作資料庫管理系統(MongoDB、PostgreSQL、Redis、ClickHouse、MySQL)的驅動程序,以及非同步工作的客戶端。 服務 支援多種協定(HTTP、HTTPS、gRPC、TCP、UDP、TLS),提供用於管理同步和存取作業系統功能的底層原語,以及用於處理快取、任務、分散式鎖定、追蹤、指標、統計資訊和 JSON/YAML/BSON 格式資料的高階元件。服務配置可以動態更改,無需停止服務。

Yandex 先前已開源其他關鍵技術,例如其分散式系統。 資料庫管理 YDB 每秒可處理數百萬次查詢,而 CatBoost 機器學習函式庫則是 Yandex 在搜尋和其他服務中使用的函式庫。

來源: opennet.ru

為具有 DDoS 保護、VPS VDS 服務器的站點購買可靠的主機 🔥 購買具備 DDoS 防護的可靠網站寄存服務,包括 VPS 和 VDS 伺服器 | ProHoster