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

沒想到!一個不起眼的架構優化,節省了超1000萬美元云成本……

開發 架構 其他數據庫
如果你從事高流量服務的工作,如果你的數據庫賬單持續攀升,或者如果你的 Kubernetes 集群持續消耗越來越多的云積分,卻沒有明確原因……

這不是一個關于花哨的機器學習或億級用戶規模的故事。

這是一個關于某個架構決策的故事,它悄然無聲,幾乎不為人知,卻在三年內最終為公司節省了超過1000萬美元。

  • 它并不引人注目
  • 它沒有贏得獎項
  • 但它改變了一切

如果你從事高流量服務的工作,如果你的數據庫賬單持續攀升,或者如果你的 Kubernetes 集群持續消耗越來越多的云積分,卻沒有明確原因……

這個故事可能會改變你對架構的思考方式。

圖片圖片

我們基礎設施賬單無故激增的那個月

那是一個周五的下午。儀表盤亮起了紅色——不是因為服務中斷,而是因為我們當月的 AWS 費用預測比上個月暴漲了 38%。

  • 我們沒有運行批量作業
  • 沒有重大的產品發布
  • 沒有新增區域
  • 僅僅是流量略有增加

但不知何故,我們的基礎設施成本爆炸式增長了。

我收到了通常的 Slack 消息:

"有新的自動擴縮容配置嗎?"

"有人改了實例類型嗎?"

"也許只是 CloudWatch 抽風了?"

不,都不是!

我們即將通過艱難的方式,學習關于數據庫連接的昂貴一課。

連接洪泛的隱藏成本

我們的架構在紙面上看起來"沒問題"。

我們有幾十個 Spring Boot 微服務。每個服務都有自己的到 PostgreSQL 的連接池。

自動擴縮容是開啟的。流量上升,Pod 會啟動,一切都會彈性擴展。

除了……每一個新的 Pod 都會帶來 50-100 個新的數據庫連接。

而且我們在 4 個區域部署。

我們來算一下:

  • 12 個微服務
  • 每個服務 3 個副本
  • 4 個區域
  • 每個 Pod 100 個連接(默認的 Hikari 連接池大小)

這相當于對同一個數據庫集群有超過 14,000 個潛在的并發連接。

而我們的數據庫呢?

它正悄無聲息地在重壓下窒息。

我們的架構原來是這樣的:

┌─────────────┐
           │ Service A   ├─────────┐
           └─────────────┘         │
           ┌─────────────┐         │
           │ Service B   ├────────────┐
           └─────────────┘         │ │
           ┌─────────────┐         ▼ ▼
           │ Service C   ├──────? PostgreSQL
           └─────────────┘         ▲ ▲
                    ...            │ │
           ┌─────────────┐         │ │
           │ Service N   ├─────────┘ │
           └─────────────┘           │
                      Hundreds of long-lived connections

每個 Pod 都是一個滴答作響的成本炸彈

理論上,連接池是高效的。

但實際上?

隨著自動擴縮容、部署、回滾以及藍綠策略——同時存在的連接數量會激增,即使流量沒有增加。

我們當時在支付:

  • 我們并未使用的連接
  • 數據庫內存峰值
  • 更多的只讀副本
  • 更大的實例
  • 更高的網絡傳輸費用

我們的 PostgreSQL 集群開始靜默地故障。

延遲上升。垃圾回收活動加劇。

突然間,每個微服務看起來都像是罪魁禍首。

但真正的罪魁禍首是我們的架構。

改變一切的決策

我們沒有重寫我們的服務。

我們沒有更換數據庫。

我們沒有轉向 NoSQL 或者引入 Kafka 來"解耦"。

我們所做的一切只是引入了一個共享連接代理——PgBouncer,以事務池模式運行在我們的 Kubernetes 集群內部。

現在,每個微服務不再直接與 PostgreSQL 對話,而是與 PgBouncer 對話。

PgBouncer 復用了連接,它匯集了它們,并給了 PostgreSQL 喘息的空間。

幾乎一夜之間,我們的成本圖表變成了這樣:

┌──────────────┐
           │ Service A    ├──────┐
           └──────────────┘      │
           ┌──────────────┐      ▼
           │ Service B    ├──? PgBouncer ──? PostgreSQL
           └──────────────┘      ▲
                   ...           │
           ┌──────────────┐      │
           │ Service N    ├──────┘
           └──────────────┘
    Connection pooling handled outside the app

為什么 PgBouncer 效果如此之好

  • 它及早終止連接(事務模式意味著它一旦查詢完成就將連接返回給池。)
  • 它顯著減少了打開的連接數量(從約 14,000 個減少到 < 400 個穩定連接。)
  • 它保護 PostgreSQL 免受連接風暴的沖擊(在部署或故障轉移期間不再出現峰值。)
  • 它讓服務啟動更快(不再需要等待完整的連接池或數據庫握手。)

而所有這些,都是在沒有觸碰任何一行應用邏輯代碼的情況下完成的。

我們如何部署它(Spring Boot 設置示例)

從服務端來看就是這么簡單:

yaml
# application.yml (Spring Boot)
spring:
  datasource:
    url: jdbc:postgresql://pgbouncer-cluster:6432/mydb
    username: myuser
    password: ${DB_PASSWORD}
  hikari:
    maximum-pool-size: 20
    minimum-idle: 5
    idle-timeout: 30000
    connection-timeout: 20000
    max-lifetime: 600000

注意端口號——6432。

那是 PgBouncer 的默認端口。

業務邏輯無需改變。只是把 JDBC 連接字符串指向了 PgBouncer。

我們的實際收益(沒有基準測試,只有真實結果)

我們沒有編寫合成的基準測試。

我們在上線后觀察了真實的生產指標:

  • 數據庫內存使用量下降了 47%
  • Pod 啟動時間減少了 22%
  • 負載下的數據庫 CPU 使用率從 75% 降至 38%
  • 數據庫集群規模減半(從 12 個節點減少到 6 個節點)
  • 云賬單每月下降了超過 30 萬美元

將這些收益推算三年?

節省了 1080 萬美元。

沒有新的框架,沒有戲劇性的重寫,僅僅是一個小小的架構轉變。

為什么沒人談論這個

因為它很無聊。

沒有工程師想在 LinkedIn 上發帖說:

"我們添加了 PgBouncer,節省了數百萬美元。"

  • 它不是"顛覆性"的
  • 它不是一種新范式
  • 但它是我們做過的影響最深遠的改變之一

架構并不總是關乎創新。有時候,它關乎消除那些甚至沒人意識到的摩擦。

你什么時候應該使用這個?

在以下情況下,你應該考慮使用 PgBouncer(或 RDS Proxy,或任何連接池代理):

  • 你運行著 10 個以上具有自動擴縮容功能的微服務
  • 你的數據庫在部署期間顯示高內存或 CPU 使用率
  • 你經常遇到 max_connections 錯誤
  • 你支付更大的數據庫集群費用只是為了避免隨機超時
  • 你的服務有時在啟動時因等待數據庫而掛起

如果你正在經歷以上任何一種情況,那你可能正在悄無聲息地浪費資金,就像我們當初一樣。

我們學到的(但沒人告訴我們的)經驗

1、默認的連接池大小是危險的

HikariCP 允許設置為 100 并不意味著你應該這么做。

2、自動擴縮容可能會破壞你的數據庫

可以擴展計算資源,但應該集中管理連接。

3、架構才是真正節省成本的地方

不是在代碼里。不是在緩存里。而是在服務之間通信的方式里。

4、沒人會因為解決看不見的問題而獲得贊譽

但看不見的問題往往是代價最高的。

為什么這個故事對我很重要

我們在代碼審查期間沒有發現這個問題。

它沒有出現在我們的單元測試中。

也沒有出現在我們的負載測試中。

也沒有出現在我們的 CI/CD 儀表盤中。

它出現在我們的財務報表上。

這就是架構變得真實的地方。

當它不再是理論——而是開始以百萬美元的條目出現時。

最后一點想法

你不需要重寫你的后端來節省數百萬美元。

你只需要審視你正在擴展的是什么——以及它是在幫助你還是在傷害你。

而如果你正在擴展的是連接數而不是吞吐量?

你可能已經在付出代價了。

你是否遇到過類似的擴展瓶頸?

你使用了 PgBouncer、RDS Proxy 還是其他方案?

歡迎留下您的評論,讓我們一同分享那些雖未收獲足夠贊譽,卻始終在幕后為我們系統保駕護航的故事。

作者丨The Atomic Architect   編譯丨Rio

來源丨網址:https://medium.com/@the_atomic_architect/how-one-architecture-decision-quietly-saved-us-10-million-and-nobody-noticed-until-it-was-gone-b4ddf0e0d874

責任編輯:武曉燕 來源: dbaplus社群
相關推薦

2023-05-04 07:22:22

微軟Windows

2016-03-16 15:21:30

2021-08-03 15:04:13

數據泄露漏洞信息安全

2021-03-15 09:50:01

漏洞網絡安全網絡攻擊

2018-01-26 23:23:23

JDBC MySQL數據庫

2021-01-27 18:13:35

日志nginx信息

2020-09-04 16:38:01

網絡攻擊勒索軟件數據泄露

2009-05-27 19:18:10

2017-12-26 15:41:26

2023-09-10 10:45:37

模型人工智能

2021-11-10 14:43:47

物聯網初創公司IOT

2022-08-12 12:12:17

懸賞Conti勒索軟件

2021-05-04 21:22:35

勒索軟件數據恢復網絡攻擊

2024-01-31 12:49:40

微軟OpenAI英特爾

2022-03-21 08:55:53

RocketMQ客戶端過濾機制

2025-03-11 01:28:16

2019-03-08 10:08:41

網絡程序猿代碼

2022-01-05 17:13:28

監控HTTPS網站

2012-12-28 13:47:36

Raspberry PGeek

2017-02-09 17:00:00

iOSSwiftKVC
點贊
收藏

51CTO技術棧公眾號

99香蕉久久| 欧洲av一区| 免费av手机在线观看| 日本少妇xxxxx| a级片免费在线观看| 天天综合国产| 欧洲一区在线电影| 精品国产免费一区二区三区| 成年人av电影| 蜜桃精品一区二区三区| 国产精品视频一二| 欧美人在线视频| 久久久福利影院| 男人天堂手机在线| 麻豆91在线观看| 最新国产精品拍自在线播放| 免费看国产黄色片| 国产一级片在线播放| 久久免费高清| 国产一区二区动漫| 91极品尤物在线播放国产| 黄色av免费在线看| 国产激情一区二区三区四区 | 91在线视频一区| 性高潮久久久久久久| 亚洲优女在线| 91麻豆swag| 国产成人精品视频在线观看| 久久精品—区二区三区舞蹈| 亚洲免费一区三区| 午夜精品久久久久久久| 国产一区二区三区高清| 麻豆久久久久久久久久| 欧美精品第一区| 欧美三级日韩三级| 成人在线免费观看网址| 好吊视频一二三区| 亚洲综合好骚| 中文字幕精品在线| 欧美性猛交xx| 久久青草伊人| 国产色综合一区| 成人写真视频福利网| 久久久久久久久久综合| 色橹橹欧美在线观看视频高清| 欧美性极品少妇精品网站| 日韩欧美一区二区三区久久婷婷| 91theporn国产在线观看| 欧美欧美天天天天操| 日韩精品免费一线在线观看| 成人午夜激情av| 成人动漫一区| 亚洲欧美一区二区久久| 国外成人在线视频网站| 亚洲av无码乱码国产麻豆| 亚洲影音先锋| 青青草原一区二区| 亚洲欧美精品aaaaaa片| 久久亚洲黄色| 欧美精品在线观看播放| 日本午夜激情视频| 96av在线| 色综合天天综合狠狠| 国产又大又长又粗又黄| 日产精品久久久久久久性色| 久久国产精品99久久人人澡| 国内外成人免费激情在线视频网站 | 日韩av综合网站| av直播在线观看| crdy在线观看欧美| 欧美日韩在线视频一区二区| 欧美性大战久久久久xxx | 九色精品免费永久在线| 国产一国产二国产三| 欧美日韩精品一区二区视频| 日韩欧美不卡一区| 亚洲欧美自拍另类日韩| 久草在线中文最新视频| 色久综合一二码| 婷婷五月综合缴情在线视频| 毛片网站在线免费观看| 亚洲欧洲日韩女同| 日本黑人久久| 快射视频在线观看| 国产婷婷精品av在线| 亚洲欧洲一二三| 深夜福利视频在线观看| 国产亚洲精品aa午夜观看| 亚洲二区自拍| 成人性生交大片免费看在线播放| 国产精品国产三级国产普通话蜜臀 | 国产精品一区二区精品| 色综合久久久久久久久久久| www.色偷偷.com| 中文在线综合| 一区二区三欧美| av中文字幕免费观看| 精品视频在线你懂得| 国产一区二区黄| 国产午夜福利片| 日本三级亚洲精品| 国产91色在线免费| 亚洲男人的天堂在线视频| 秋霞电影网一区二区| 成人在线看片| 亚洲第一大网站| 国产日产欧美一区二区三区| 日本a在线天堂| 手机在线免费av| 亚洲男同1069视频| 亚洲自拍偷拍一区二区三区| 日本在线播放一二三区| 日韩欧美三级在线| 欧美成人久久久免费播放| 成人vr资源| 综合欧美国产视频二区| 男人天堂中文字幕| 国产亚洲高清视频| 欧美有码在线视频| 国产剧情在线视频| 视频一区视频二区中文| 91手机在线视频| 欧美视频一二区| 97aⅴ精品视频一二三区| 精品国产乱码久久久久久丨区2区| av大片在线播放| 亚洲欧洲精品一区二区三区不卡| 男人操女人逼免费视频| 日韩久久一区二区三区| 欧美亚洲综合色| 亚洲欧美日本一区二区三区| 精品国产第一国产综合精品| 亚洲性无码av在线| 天堂中文在线网| 青娱乐精品在线视频| 九九九九九精品| 国产youjizz在线| 日韩一区在线看| 五月婷婷之综合激情| 国产99久久久国产精品成人免费 | 五月激情婷婷综合| 久久久久99精品一区| 亚洲一区二区三区在线观看视频| aa在线视频| 欧美日韩人人澡狠狠躁视频| 天堂av在线网站| 精品中文字幕一区二区三区av| 91成人在线播放| 国产精品久久婷婷| 成人18视频日本| 四虎影院一区二区三区 | 免费看国产片在线观看| 亚洲高清免费观看| 日韩一级免费在线观看| 高清一区二区中文字幕| 波霸ol色综合久久| 日韩欧美激情视频| 毛片av中文字幕一区二区| 日韩一区不卡| 青草综合视频| 亚洲欧美日韩中文在线制服| 日韩成人毛片视频| 日日摸夜夜添夜夜添亚洲女人| 91九色在线观看| 黄色的视频在线观看| 亚洲高清久久久久久| 91香蕉一区二区三区在线观看| 99精品视频免费全部在线| 成人av色在线观看| 巨大荫蒂视频欧美大片| 欧美成人精品二区三区99精品| 美女100%露胸无遮挡| 亚洲精选久久| av在线亚洲男人的天堂| 四虎久久免费| 91成人国产精品| 美国精品一区二区| 国产成人自拍网| 大j8黑人w巨大888a片| 国产成人调教视频在线观看 | aiai久久| 国产精品999| a黄色片在线观看| 欧美日韩一区二区电影| 福利所第一导航| 91看片淫黄大片一级在线观看| www.com操| 亚洲视频日本| 99国产视频| 亚洲免费福利| 久色乳综合思思在线视频| 中文在线字幕av| 国产日韩三级在线| 欧美高清精品一区二区| 婷婷中文字幕一区| 国产成人精品福利一区二区三区 | 国产精品久久精品国产 | 亚洲视频在线观看一区| 性农村xxxxx小树林| 综合激情在线| 91久久久久久| 欧产日产国产精品视频| 色偷偷噜噜噜亚洲男人| 天天综合永久入口| 精品久久久视频| 香蕉视频污视频| 美女精品自拍一二三四| 欧美一区视久久| 亚洲一区 二区| 国产日韩欧美在线看| 欧美成人高清在线| 亚洲精品国产精品乱码不99按摩| 国产第100页| 中文字幕在线观看不卡| aa片在线观看视频在线播放| 国产乱对白刺激视频不卡| 免费看污污视频| 亚洲精品影片| 国产深夜精品福利| japanese23hdxxxx日韩| 国产一区二区三区视频免费| 蜜臀av中文字幕| 欧美一区二区三区性视频| 欧美日韩国产精品一区二区三区 | 91在线视频九色| 国产精品毛片久久久久久久久久99999999| 亚洲精品中文字幕女同| 久久精品五月天| 国产精品久久99| 色噜噜日韩精品欧美一区二区| 成人综合在线观看| 国产原创中文在线观看| 欧美影视一区| 精品一区国产| 国产劲爆久久| 国产精品igao视频| 国产伦精品一区二区三区视频金莲| 欧美俄罗斯乱妇| 欧美孕妇孕交| 精品在线观看国产| 污视频在线免费观看| 精品久久久影院| 成人免费视频国产| 亚洲的天堂在线中文字幕| 精品免费久久久| 色香蕉久久蜜桃| www.国产com| 色综合久久综合中文综合网| 国产又大又黄又粗| 91高清视频在线| 中文字幕乱码人妻无码久久| 精品视频在线免费看| 中文字幕在线观看精品| 欧美精品在线观看播放| www五月婷婷| 精品国产三级电影在线观看| 日韩在线视频不卡| 91久久精品一区二区二区| 国产精品自拍第一页| 亚洲综合色噜噜狠狠| 干b视频在线观看| 久久精品男人天堂av| 91免费在线看片| 亚洲男女一区二区三区| 久久免费精彩视频| 欧美日韩亚洲国产一区| 中文字幕激情视频| 91精品国产黑色紧身裤美女| 亚洲va欧美va| 亚洲裸体xxxx| 日本高清视频在线播放| 九九久久久久99精品| 五月天av在线| 国产精品日韩一区| 伊人久久av| 国产欧美日韩免费看aⅴ视频| 国产精品久久久久久久久久久久久久久| 亚洲精品女av网站| 日本在线中文字幕一区| 99久久一区三区四区免费| 国产精品一区二区三区美女| 欧美二区三区| 天天躁日日躁成人字幕aⅴ| 欧美日韩在线精品一区二区三区| 99re66热这里只有精品8| 日本一区二区高清视频| 国产精品久久占久久| 黄页网站在线观看视频| 男男成人高潮片免费网站| 国产精久久久久| 国产精品一区二区久久不卡| 中文字幕一区二区久久人妻网站| 中文字幕第一页久久| 九九热精品免费视频| 欧美性猛交xxxx黑人| av片免费播放| 欧美一级片在线看| 在线视频欧美亚洲| 日本二三区不卡| 精品国产av 无码一区二区三区 | 日韩中文字幕有码| 亚洲国产精品影院| 7777久久亚洲中文字幕| 日韩乱码在线视频| 日韩精品亚洲人成在线观看| 国产成人综合一区二区三区| 91久久偷偷做嫩草影院电| 日韩欧美视频第二区| 亚洲精品三级| www激情五月| 国产精品欧美极品| www欧美在线| 精品国产麻豆免费人成网站| 男人的天堂在线视频免费观看 | 久久久久九九视频| 国产一级做a爰片在线看免费| 欧美精品自拍偷拍动漫精品| 日韩三级电影网| 97国产在线观看| 超碰国产一区| 国产精品日韩二区| 欧美jizzhd精品欧美巨大免费| 免费涩涩18网站入口| 久久久久久亚洲综合| 国产精品自拍视频一区| 欧美一区二区三区影视| 免费的黄网站在线观看| 国产精品电影久久久久电影网| 狂野欧美性猛交xxxx| 川上优av一区二区线观看| 国产精品亚洲二区| 丰满人妻中伦妇伦精品app| 日本亚洲三级在线| 91精品人妻一区二区三区蜜桃欧美 | 一区二区三区免费高清视频| 91精品久久久久久久99蜜桃| 亚洲国产精品18久久久久久| 久久在线观看视频| 欧美黄视频在线观看| 97超碰人人爱| 国产一区二区在线看| 免费成人蒂法网站| 国产精品免费aⅴ片在线观看| 久久久黄色大片| 国产一区二区久久精品| 成人免费毛片嘿嘿连载视频…| 日本在线观看一区二区| 日本在线观看不卡视频| 国产一区二区三区四区五区六区| 色婷婷国产精品| av男人的天堂在线| 国产精品亚洲一区二区三区| 澳门久久精品| 妺妺窝人体色777777| 99精品一区二区三区| 福利网址在线观看| 中文字幕在线精品| 亚洲综合资源| 免费网站在线观看视频| 日韩福利电影在线观看| 亚洲黄色小说视频| 91麻豆精品91久久久久同性| 在线heyzo| 国产一区二区高清不卡| 丝袜美腿亚洲综合| 国产精品久久国产精麻豆96堂| 无码av中文一区二区三区桃花岛| 日本亚洲欧美| 国产精品综合不卡av| 欧美一区视频| 亚洲乱码国产乱码精品精大量| 亚洲欧美日本在线| 亚洲欧美高清视频| 日本老师69xxx| 99精品在线观看| 性高潮免费视频| 在线观看免费视频综合| 91小视频xxxx网站在线| 久久综合九九| 在线国产欧美| 日本成人在线免费观看| 婷婷综合久久一区二区三区| 岛国视频免费在线观看| 97av在线视频| 不卡日本视频| 久草视频福利在线| 在线看国产日韩| 秋霞在线视频| 99久热re在线精品996热视频| 99亚洲精品| 国产男女猛烈无遮挡在线喷水| 亚洲国产精品免费| 国产三级一区| 精品无码国模私拍视频| 国产精品乱码一区二三区小蝌蚪| 亚洲美女综合网| 国产一区欧美二区三区| 国产精品色网| 成人免费毛片东京热| 亚洲午夜色婷婷在线|