精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

基于Rust實現業務架構的重構

開發 架構
新興的編程語言中,Rust以高性能、內存安全為賣點在編程世界里廣受好評。除了比較繁瑣的語法,難于理解的變量所有權和生命周期,入門門檻比較高以外基本上沒有其他的缺點了。

新興的編程語言中,Rust以高性能、內存安全為賣點在編程世界里廣受好評。除了比較繁瑣的語法,難于理解的變量所有權和生命周期,入門門檻比較高以外基本上沒有其他的缺點了。現在處于編程語言百家爭鳴的時代,如何選擇合適的語言以及在合理時間解決問題成了一門學問。本文我們介紹一個案例為了解決瓶頸將將服務從Node.js遷移到Rust從而解決實際問題節省生產成本。過程中深入探討了導致需要更改語言的一些細節,以及該過程中如何決策的,希望能給予大家一些啟發。

概述

案例涉及的是一個企業的業務監控系統,該系統用來以幫助開發人員監控業務API。當客戶的應用程序調用API時,會向系統發送日志,系統對發送的日志中進行監控和分析。

系統數據流為平均每分鐘處理30k 的API調用。每個客戶都會進行很多個API的調用。系統的處理分為兩個關鍵部分:日志提取和日志處理。

 

基于Rust實現業務架構的重構

 

起初的系統中是通過Node.js構建提取服務。Node.js接收日志,與elixir服務進行通信檢查用戶的訪問權限,用Redis檢查速率限制,然后將日志發送到CloudWatch。CloudWatch部署了觸發器,觸發事件通知數據處理程序處理。

系統提取有關API調用的信息,包括從用戶應用程序發送的每個調用的有效負載(請求和響應)。這些文件的大小被限制為1MB,但是仍然涉及大量的數據需要處理。處理程序以異步的形式發送和處理所有內容,目標是使信息盡快提供給最終用戶。

所有內容都托管在亞馬遜云AWS Fargate上,并對其設置為在4000 req/min閾值觸發自動縮放。

整個流程都運行的很好,但是費用卻非常昂貴。由于AWS是按照CloudWatch存儲的使用來收費的,存儲的越多,需要支付的費用就越多。

為了解決費用的問題,于是就有一個救援計劃。

Kinesis救援和災難

為了解決昂貴的CloudWatch存儲費用問題,在將日志傳送到CloudWatch之前,使用了Kinesis Firehose前置處理。Kinesis Firehose可能熟悉少,但是知道kafka的人可能多,那么Kinesis Firehose就是AWS云中的Kafka。使用Kinesis Firehose前置處理,可以用可靠的方式將數據流傳遞到多個目的地。只需對日志處理程序進行很少的更新,就可以從CloudWatch和Kinesis Firehose提取日志。通過該架構的更改,可以將日成本下降到之前的千分之六。

 

基于Rust實現業務架構的重構

 

新架構中系統將日志數據通過Kinesis傳遞到s3中,從而觸發日志處理程序。新架構運行后,一切都ok。但是過幾天出現了異常。。。監控儀表板上的一些異常情況。系統在收集垃圾,很多垃圾!

垃圾回收(GC)是某些編程語言自動釋放不再使用內存的一種方式。發生這種情況時,程序將會暫停。這稱為GC暫停。對內存進行的寫操作越多,需要進行的垃圾回收就越多,因此暫停時間會增加。對于系統服務,這些暫停的速度越來越快,足以導致服務器重新啟動并給CPU造成壓力。發生這種情況時,它看起來就像是服務器已關閉(因為它暫時處于關閉狀態),并且在客戶端會有大量的5xx錯誤,而代理所嘗試提取的日志中大約有6%出現了這個錯誤。

下面圖顯示了垃圾回收的暫停時間和暫停頻率:

 

基于Rust實現業務架構的重構

 

在某些情況下,暫停時間超過了4秒(如左圖所示),并且每分鐘最多有400次暫停(如右圖所示)。

經過更多研究分析后,似乎成為AWS Javascript SDK中內存泄漏的導致的該問題的發生。嘗試將資源分配增加到極限,例如減小縮放閾值到1000 req/min自動縮放,但是沒有問題仍沒有解決。

可能的解決方案

由于不能能使用上面的kninesis方案,因此需要新的解決方案來解決問題。可選的方案有以下幾種。

Elixir

如前的架構介紹,系統使用Elixir服務檢查客戶訪問權限。該服務是私有的,只能從虛擬私有云(VPC)中訪問。由于從未遇到過該服務的任何可擴展性問題,并且大多數邏輯已經存在。所以可選擇簡單地從該服務中將日志發送到Kinesis,而跳過Node.js服務層。這是一個值得嘗試的方案。

做了一番改進后,系統進行了測試。效果會好一點,但仍然不是很佳。系統的基準測試表明,GC垃圾收集的水平仍然很高,并且在使用日志時仍會有5xx的日志返回給用戶。

Golang

系統也考慮到Golang。這是一個很好的選擇方案,但是,畢竟Golang也是一種垃圾收集語言。雖然可能可以實現比上述更高效,但隨著規模的擴展,很可能還會遇到類似的問題。考慮到這些限制,系統需要一個更好的選擇。

以Rust為核心進行重新架構

在系統最初的實現和備份中,核心問題都是相同的:垃圾回收。解決方案是使用一種具有內存管理更好的并且沒有垃圾回收的語言。那么可選擇的語言就到了Rust。

Rust

Rust不是垃圾收集的語言。Rust依賴于稱為變量生命周期和所有權的概念。所有權是Rust的最獨特功能,它使Rust無需垃圾收集器即可保證內存安全。

所有權是一個經常使Rust難以學習和編寫的概念,但又使它非常適合像這個項目遇到的情況。Rust中的每個值都有一個所有者變量,因此在內存中有一個分配點。一旦該變量超出范圍,內存將會立即釋放。

由于提取日志所需的代碼很小,應該非常值得嘗試。為了對此進行測試,通過問題的瓶頸:向Kinesis發送大量數據。第一個基準測試非常成功。

所以Rust最終成了救世主,最后決定將原型充實并在生產系統的部署。

在這些實驗過程中,并沒有直接使用Rust直接替換原始的Node.js服務,而是重構了日志提取的大部分架構。新服務的核心是通過Envoy代理,在其中Rust應用程序作為輔助工具。

新架構流程

 

基于Rust實現業務架構的重構

 

當用戶應用程序中Agent將日志數據發送到系統時,它將首先進入Envoy代理。Envoy查看請求并與Redis通信以檢查速率限制,授權詳細信息和使用配額之類的內容。接下來,與Envoy一起運行的Rust應用程序準備日志數據,并將其通過Kinesis傳遞到s3存儲桶中進行存儲。然后,S3觸發​​日志處理程序處理,Elastic Search開始對其進行索引。這樣,最終用戶就可以訪問儀表板中的數據。

性能和資源對比

新架構中使用了更少(更小)的服務器,但是可以處理更多數據,而不會出現任何之前的gc 5xx問題。

對比新舊架構的服務延遲。在舊的Node.js架構下服務的延遲數如下圖,可以看到平均響應時間接近1700ms的峰值:

 

基于Rust實現業務架構的重構

 

通過Rust服務的實施,新架構中,即使在最高峰期間,延遲也降至90ms以下,平均響應時間保持在40ms以下。

 

基于Rust實現業務架構的重構

 

舊架構下Node.js應用程序在任何給定時間都會使用約1.5GB的內存,CPU的負載約為150%。

新架構下Rust服務使用了大約100MB的內存,而僅占用了2.5%的CPU負載。

結論

大多數初創公司都一樣,會遭遇業務迸發的階段。這時候當初最好的解決方案并非永遠都不再是最好的解決方案了。

該案例中的Node.js的架構就是這種情況。它使企業能夠前進,但是隨著業務的飛速成長,最終業務超過了它。這時簡單的資源縮放會帶來昂貴的不可接受的成本。這時候就需要優化基礎架構,以滿足新的需求。本案例中,雖然僅用Rust替換Node.js就完成了架構的升級和優化,并完美解決了業務瓶頸。

 

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2013-12-22 15:51:00

IT基礎架構關鍵業務英特爾

2023-09-26 21:55:29

2013-04-12 10:17:56

重構業務邏輯

2009-11-05 13:42:44

BSM

2024-12-23 06:10:00

RustRigAI Agent

2021-07-08 06:08:54

架構重構開發

2018-07-10 10:00:15

Android架構MVC

2022-09-16 07:40:17

CloudWeGo開源Rust

2021-01-16 16:07:51

RustAndroid Nat內存

2023-12-06 09:33:54

Reactor網絡

2022-08-08 13:24:28

整潔架構架構前端

2022-05-09 10:36:05

PythonPyScript開發者

2022-03-10 17:02:51

Rust單鏈表數據結構

2022-11-24 10:43:33

2023-03-10 10:29:19

前端邏輯拆分

2017-07-05 16:10:40

Fluent FetcJavaScrip 網絡請求庫

2025-01-26 10:10:30

2022-05-05 07:49:54

業務冪MySQL索引

2024-01-09 07:34:28

Rust架構語言

2025-08-01 07:59:04

重構Rust重寫
點贊
收藏

51CTO技術棧公眾號

懂色av一区二区在线播放| 女生裸体视频一区二区三区| 欧美性高清videossexo| 一本一道久久a久久综合精品| 精品久久久无码中文字幕| 亚洲欧洲一区| 日韩在线资源网| avtt中文字幕| 国产超碰精品| 亚洲宅男天堂在线观看无病毒| 久久久精彩视频| 一级全黄少妇性色生活片| 国自产拍偷拍福利精品免费一| 亚洲精品少妇网址| 无人码人妻一区二区三区免费| 中文字幕在线视频网站| 亚洲免费观看高清完整版在线观看熊 | 中文字幕久久午夜不卡| 91情侣偷在线精品国产| 亚洲黄色免费观看| 亚洲h色精品| 亚洲国产精品久久精品怡红院| 深夜黄色小视频| 人在线成免费视频| 夜夜精品视频一区二区 | 成人性生交xxxxx网站| 国产一级做a爱片久久毛片a| 亚洲欧美综合| y97精品国产97久久久久久| 黄色片视频免费观看| 日韩在线精品强乱中文字幕| 欧美美女黄视频| 午夜视频在线瓜伦| xxxxxx欧美| 激情成人在线视频| 国产资源在线免费观看| 在线午夜影院| 亚洲欧美一区二区三区国产精品| 日韩福利二区| 狠狠色伊人亚洲综合网站l| 99re热视频精品| 国产免费一区| 日韩在线观看视频网站| 国产精品亚洲第一区在线暖暖韩国 | 国产精品久久久久免费| 99视频国产精品免费观看a| 青青草国产精品亚洲专区无| 国产成人鲁鲁免费视频a| 久久亚洲天堂网| 亚洲精品色图| 2021久久精品国产99国产精品| 激情五月婷婷小说| 在线中文字幕亚洲| 欧美猛交ⅹxxx乱大交视频| 性欧美疯狂猛交69hd| 五月开心六月丁香综合色啪| 久久精品一本久久99精品| 国产喷水在线观看| 中文在线日韩| 欧美激情在线播放| 欧美精品亚洲精品日韩精品| 中日韩男男gay无套| 欧美亚洲激情在线| 亚洲 欧美 中文字幕| 日日摸夜夜添夜夜添亚洲女人| 国产成人高清激情视频在线观看| 免费av中文字幕| 蜜桃精品视频在线观看| 91美女片黄在线观| 亚洲国产精品久久久久久6q| av网站一区二区三区| 免费观看成人高| av中文在线| 亚洲精品国产品国语在线app| 国产青草视频在线观看| 国产网站在线| 欧美亚洲综合久久| 在线观看视频你懂得| 成人午夜大片| 尤物九九久久国产精品的分类 | 国产美女高潮久久白浆| 国产xxxx在线观看| 95精品视频在线| 亚洲欧美久久234| 亚洲小说区图片区都市| 天天综合色天天| 天天干天天操天天玩| 综合视频一区| 亚洲天堂开心观看| 成人高潮免费视频| 亚洲第一网站| 国产在线视频一区| 欧美一级在线免费观看| 中文字幕不卡三区| 欧美成人精品免费| 青青在线精品| 亚洲免费高清视频| 一区二区视频免费看| 亚洲综合另类| 92看片淫黄大片看国产片| 四虎在线免费观看| 亚洲精品乱码久久久久久日本蜜臀| 成年人午夜视频在线观看 | 国产偷自视频区视频一区二区| 国产精品日韩在线播放| 蜜臀久久99精品久久久| 欧美经典三级视频一区二区三区| 国产免费一区二区视频| 精品福利在线| 亚洲欧美福利视频| 久草视频免费在线播放| 美国三级日本三级久久99| 国产精品亚洲综合| 国产在线观看91| 在线视频国内自拍亚洲视频| 在线观看一区二区三区四区| 久久神马影院| 国产精品久久久av| 你懂的视频在线免费| 亚洲一区二区三区三| 狠狠操狠狠干视频| 欧美丝袜丝交足nylons172| 久久久噜久噜久久综合| 国产草草影院ccyycom| 国产色一区二区| 97在线播放视频| 福利在线一区| 欧美国产日韩免费| 97人妻精品一区二区三区动漫 | 日韩成人短视频| 日本在线观看不卡视频| 久久香蕉综合色| 9999在线视频| 亚洲电影免费观看高清完整版在线观看 | 人人妻人人澡人人爽欧美一区| 惠美惠精品网| 日韩电影免费观看中文字幕 | 在线影院国内精品| 精品夜夜澡人妻无码av| 在线视频观看日韩| 国产精品日韩一区二区三区 | 成人字幕网zmw| 婷婷视频在线| 欧美老肥妇做.爰bbww| 日本少妇xxxxx| 青青草国产精品亚洲专区无| 亚欧洲精品在线视频免费观看| 外国成人直播| 在线午夜精品自拍| 亚洲一级片免费看| 国产精品初高中害羞小美女文| 午夜剧场高清版免费观看| 色婷婷综合网| 成人欧美一区二区三区在线| 国产精品va在线观看视色| 欧美一区中文字幕| 久草免费在线观看视频| 成人av电影在线网| 成人综合视频在线| 国产欧美久久一区二区三区| 国产精品国产三级国产aⅴ浪潮| 国产一区二区影视| 欧美乱妇一区二区三区不卡视频| 日韩在线视频网址| 高清不卡在线观看av| 国产精品裸体瑜伽视频| 亚洲精品播放| 国产精品女视频| 91蜜桃在线视频| 亚洲娇小xxxx欧美娇小| jizz国产在线观看| 国产精品久久久久婷婷| 天天操夜夜操很很操| 亚洲先锋成人| 精品欧美一区二区精品久久| 日本电影欧美片| 播播国产欧美激情| 手机在线不卡av| 在线观看区一区二| 国产十六处破外女视频| 99久久精品国产观看| 欧美黑人又粗又大又爽免费| 99久精品视频在线观看视频| caoporn国产精品免费公开| 激情aⅴ欧美一区二区欲海潮| 亚洲午夜久久久久久久| 国产999久久久| 一本色道综合亚洲| 欧美丰满熟妇bbbbbb| 不卡的av中国片| 99re精彩视频| 中文在线一区| 女女百合国产免费网站| 日韩精品免费一区二区夜夜嗨 | 国产精品极品美女粉嫩高清在线| 日本不卡视频| 亚洲欧美国产一本综合首页| 国产成人麻豆精品午夜在线| 色综合天天综合| 九九九免费视频| 国产欧美一区二区精品忘忧草 | 久久久久久伊人| 中文字幕在线观看日本| 亚洲精品720p| 精品国产区一区二| 欧美亚洲综合久久| 丁香六月婷婷综合| 亚洲精选免费视频| 神马久久久久久久久久久| 波多野洁衣一区| 国内自拍第二页| 日韩精品午夜视频| 欧美日韩二三区| 午夜国产精品视频| 中文字幕日韩一区二区三区不卡| 夜夜躁狠狠躁日日躁2021日韩| αv一区二区三区| 日韩一区二区三区四区五区 | 婷婷丁香激情网| 99精品视频免费观看视频| 国产欧美自拍视频| 日本一区二区免费高清| 欧洲高清一区二区| 丝袜美腿一区二区三区动态图| 91福利入口| 99亚洲男女激情在线观看| 国产激情久久久| 日韩不卡免费高清视频| 欧美在线视频观看| а√天堂8资源中文在线| 色综合色综合久久综合频道88| 菠萝蜜视频国产在线播放| 色悠悠久久久久| av在线免费观看网| 一本一本久久a久久精品综合小说| 香港三日本三级少妇66| 亚洲第一区在线| 人妻少妇精品无码专区久久| 欧美刺激午夜性久久久久久久| 国产喷水福利在线视频| 91精品国产色综合久久久蜜香臀| 中文字幕有码视频| 欧美日韩在线综合| 伊人久久成人网| 欧美日韩在线播| 亚洲熟女乱色一区二区三区久久久 | 久久精品国产久精国产爱| 欧美精品无码一区二区三区| 狂野欧美一区| 超碰影院在线观看| 日韩电影在线一区二区| 亚洲色图久久久| 狠狠色丁香久久婷婷综合_中| 国产成人美女视频| 国产成人免费xxxxxxxx| 色哟哟网站在线观看| 成人国产精品免费观看动漫| 国产精品探花一区二区在线观看| 91麻豆免费在线观看| 90岁老太婆乱淫| 中文av字幕一区| 91视频综合网| 亚洲一区二区三区视频在线| 亚洲欧美精品一区二区三区| 色欧美乱欧美15图片| 欧美高清69hd| 91精品国产色综合久久久蜜香臀| 免费的黄色av| 亚洲人成电影网站色xx| 91社区在线高清| 欧美肥婆姓交大片| 午夜伦理福利在线| 国产免费一区二区三区在线观看| 视频一区日韩| 久久久久久国产精品免费免费| av一区二区在线播放| 成年人免费观看的视频| 亚洲先锋成人| 日韩一级片播放| 国产不卡视频一区二区三区| 熟妇人妻久久中文字幕| 国产精品人成在线观看免费 | 欧美日韩午夜| 黑人糟蹋人妻hd中文字幕| 久久国产精品一区二区| youjizz.com日本| 日本一区免费视频| 国产精久久久久久| 欧洲av一区二区嗯嗯嗯啊| 精品国精品国产自在久不卡| 精品视频中文字幕| 毛片在线看网站| 欧美最猛性xxxx| 欧美高清hd| 日韩中文字幕一区| 亚洲午夜电影| www.亚洲自拍| 国产欧美精品国产国产专区| 久久精品国产亚洲AV无码男同| 91久久精品一区二区三区| 午夜美女福利视频| 在线成人中文字幕| 男插女视频久久久| 国产一区二区香蕉| 精品日产免费二区日产免费二区| 久久99久久久久久| 激情国产一区二区| 人妻精品久久久久中文| 五月天久久比比资源色| av网站免费大全| 中文字幕亚洲第一| 欧美13videosex性极品| 99精品国产一区二区| 久久精品播放| 日本女优爱爱视频| av电影在线观看不卡| 青青草在线观看视频| 欧美精品日韩精品| 成年人视频网站在线| 欧美自拍大量在线观看| 精品亚洲精品| 国产精品www在线观看| 国产乱子轮精品视频| 香蕉久久久久久久| 在线观看日韩毛片| 成人h小游戏| 国产97色在线|日韩| 人体久久天天| 亚洲熟妇无码一区二区三区| 国产精品亚洲综合一区在线观看| 国产精品成人69xxx免费视频| 欧美系列亚洲系列| 国产二区视频在线观看| 国产精品ⅴa在线观看h| 少妇精品久久久一区二区三区| 俄罗斯av网站| 91亚洲国产成人精品一区二区三| 久久精品国产亚洲av麻豆色欲 | 亚洲一本视频| 亚洲自拍偷拍精品| 午夜av区久久| 亚洲人成色777777老人头| 91精品国产99| 蜜臀av免费一区二区三区| 情侣黄网站免费看| 国产亚洲精品aa| 欧美另类高清videos的特点| 国产性色av一区二区| 91欧美精品| 先锋影音网一区| 久久精品国产精品亚洲红杏 | 精品成人久久av| 日本私人网站在线观看| 国产91色在线播放| 99久久国产综合精品成人影院| 一区二区三区欧美精品| 亚洲精品乱码久久久久久黑人 | 99精品热视频| 在线观看日本网站| 日韩在线视频国产| 日本一区二区三区视频在线看| 久草视频国产在线| www激情久久| 国产偷人爽久久久久久老妇app | www.日韩av| 国产午夜性春猛交ⅹxxx| 亚洲图片制服诱惑| 四虎影视国产精品| 久久香蕉视频网站| 91在线高清观看| 欧美性受xxx黑人xyx性爽| 久久亚洲欧美日韩精品专区| 成人资源在线播放| 免费毛片小视频| 国产精品国产三级国产普通话三级| a级片在线免费看| 欧美一级片一区| 99久久精品网| 天天插天天射天天干| 欧美午夜精品一区二区蜜桃| 亚洲卡一卡二| 欧美午夜视频在线| 国产一二三精品| av网站中文字幕| 久久国产精品首页| 天堂99x99es久久精品免费| www.99r| 欧美日韩激情网| 九色porny在线| 欧美12av| 国产精品亚洲第一 | 日韩欧美亚洲国产另类| 中文av在线全新| 黄色录像特级片| 国产丝袜欧美中文另类| 亚洲免费成人网| 国产免费久久av| 久久免费高清| 精品人妻在线播放| www.久久久久|