国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

大道至簡-Shopify 構(gòu)建彈性支付系統(tǒng)的 10 條原則

這篇具有很好參考價值的文章主要介紹了大道至簡-Shopify 構(gòu)建彈性支付系統(tǒng)的 10 條原則。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

0 大綱

  1. Lower the Timeouts, and Let the Service Fail Early
  2. Add Circuit Breakers
  3. Capacity Planning
  4. Add monitoring and alerting
  5. Implement Structured Logging
  6. Use Idempotency Keys
  7. Be Consistent with Reconciliation
  8. Incorporate Load Testing
  9. Get on top of incident management
  10. Organize Incident Retrospectives

1 降低超時時間,讓服務(wù)盡早失敗

默認超時時間為 60 秒。根據(jù) Shopify 的經(jīng)驗,5 秒的讀取超時時間和 1 秒的寫入超時時間是不錯的設(shè)置。

超時時間也可以在數(shù)據(jù)存儲中設(shè)置。例如,MySQL 有 MAX_EXECUTION_TIME 優(yōu)化提示,用于以毫秒為單位設(shè)置每個 SELECT 查詢的超時時間。

Go 中的 http.Client 和 Node.JS 中的 http.request 等其他編程語言中的 HTTP 客戶端根本沒有默認超時時間!這意味著一個無響應(yīng)的服務(wù)器可能會無限期地占用您的資源,并不必要地增加基礎(chǔ)架構(gòu)費用。

2 添加斷路器

Shopify 開發(fā)了 Semian 來使用 Ruby 中的斷路器來保護 Net::HTTP、MySQL、Redis 和 gRPC 服務(wù)。

通過在檢測到服務(wù)已關(guān)閉時立即引發(fā)異常,他們通過不等待預(yù)期會發(fā)生的另一次超時來節(jié)省資源。

就像在家中或公寓中會發(fā)現(xiàn)的斷路器一樣,一旦斷路器打開或觸發(fā),就沒有什么可以通過。

3 容量規(guī)劃

如果我們的隊列中有 50 個請求到達,處理一個請求平均需要 100 ms,那吞吐量是每秒 500 個請求。

N+1 查詢會增加請求的延遲并降低吞吐量。

capacity = throughput x latency

4 添加監(jiān)控和告警

谷歌的站點可靠性工程(SRE)書中列出了一個面向用戶的系統(tǒng)應(yīng)該監(jiān)控的四個黃金信號: 延遲、流量、錯誤和飽和度。

5 實現(xiàn)結(jié)構(gòu)化日志記錄

將日志存儲在集中地方,并使它們易于搜索。

指標提供了系統(tǒng)行為的高級概述,而日志記錄允許我們了解單個 Web 請求或后臺作業(yè)內(nèi)部發(fā)生的事情。

在分布式系統(tǒng)中,傳遞某種關(guān)聯(lián)標識符很有用。一個假設(shè)的例子是當買家在結(jié)賬時啟動支付,關(guān)聯(lián)_id 由我們的 Rails 控制器生成。

6 使用冪等鍵

確保支付或退款只發(fā)生一次,盡管偶爾會出現(xiàn)小故障。

請改用通用唯一詞匯排序標識符 (ULID) 作為這些冪等鍵,而不是隨機版本 4 UUID。

在 Shopify 的規(guī)模下,每一百萬次不可靠的支付處理機會意味著它每天發(fā)生很多次。如果這是超時的支付 API 調(diào)用,他們希望重試請求,但要安全地進行重試。

7 與調(diào)節(jié)保持一致

在數(shù)據(jù)庫中存儲與 Shopify 的金融合作伙伴的調(diào)節(jié)中斷。

通過調(diào)節(jié),他們確保自己的記錄與金融合作伙伴的記錄一致。他們調(diào)節(jié)單個記錄,如費用或退款,以及尚未支付給商戶的當前余額等匯總記錄。

8 結(jié)合負載測試

如果傳入工作的數(shù)量足夠大,他們的服務(wù)器甚至會耗盡內(nèi)存來存儲隊列上的工作并崩潰。

Shopify 定期模擬大量搶購活動以獲得基準測試結(jié)果。

9 掌握事件管理

事件通常從值班服務(wù)所有者收到頁面開始,這可能是基于監(jiān)視的自動警報,也可能是如果有人注意到問題,他們會手動發(fā)送。

每個事件通道都有 3 個角色:值班事件管理器(IMOC)、支持響應(yīng)管理器(SRM)和服務(wù)所有者。

10 復(fù)盤

對于每個事件,Shopify 會提出 3 個問題:確切發(fā)生了什么?他們對系統(tǒng)有什么錯誤的假設(shè)?他們可以做些什么來防止這種情況發(fā)生?

一旦了解了這些,通常會分配幾個行動項來實施保護措施,以防止同樣的事情再次發(fā)生。

本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!文章來源地址http://www.zghlxwxcb.cn/news/detail-747620.html

到了這里,關(guān)于大道至簡-Shopify 構(gòu)建彈性支付系統(tǒng)的 10 條原則的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 中東 Shopify 如何使用 Bytebase 構(gòu)建一站式數(shù)據(jù)庫開發(fā)工作流

    中東 Shopify 如何使用 Bytebase 構(gòu)建一站式數(shù)據(jù)庫開發(fā)工作流

    Salla 是一家 2016 年成立,位于沙特麥加的自建站電商平臺。 作為中東 Shopify,其最大的特點是支持阿拉伯語建站,并且提供更多適應(yīng)中東地區(qū)特點的本地化服務(wù)。截止目前,已有 47,000 家店鋪入駐 Salla,商品銷售總額達到了 43 億美元,近三年保持了接近 100% 的增速。 與 Sall

    2024年02月09日
    瀏覽(20)
  • 【虹科干貨】如何構(gòu)建彈性、高可用的微服務(wù)?

    【虹科干貨】如何構(gòu)建彈性、高可用的微服務(wù)?

    基于微服務(wù)的應(yīng)用程序可實現(xiàn)戰(zhàn)略性數(shù)字轉(zhuǎn)型和云遷移計劃,對于開發(fā)團隊來說,這種架構(gòu)十分重要。那么,如何來構(gòu)建彈性、高可用的微服務(wù)呢? Redis Enterprise 給出了一個完美的方案。 ? 文況速覽: ? 什么是微服務(wù)架構(gòu)? 為什么微服務(wù)很重要? Redis Enterprise :微服務(wù)的完美

    2024年02月05日
    瀏覽(88)
  • 為Android構(gòu)建現(xiàn)代應(yīng)用——設(shè)計原則

    為Android構(gòu)建現(xiàn)代應(yīng)用——設(shè)計原則

    為Android構(gòu)建現(xiàn)代應(yīng)用——設(shè)計原則 - 掘金? ? ? state”是聲明性觀點的核心 在通過Compose或SwiftUI等框架設(shè)計聲明性視圖時,我們必須明確的第一個范式是State(狀態(tài))。UI組件結(jié)合了它的圖形表示(View)和它的State(狀態(tài))。UI組件中發(fā)生變化的任何屬性或數(shù)據(jù)都可以表示為狀態(tài)。例如

    2024年02月16日
    瀏覽(22)
  • 云原生入門指南:構(gòu)建未來的彈性、高效和可靠應(yīng)用

    什么是云原生? 云原生的定義 :云原生是一種構(gòu)建和 運行在云端 的應(yīng)用開發(fā)和部署方法論,旨在提高應(yīng)用的彈性、可伸縮性、可觀察性和容錯性。 云原生與傳統(tǒng)應(yīng)用開發(fā)的區(qū)別:傳統(tǒng)應(yīng)用通常被設(shè)計和優(yōu)化為運行在特定環(huán)境中,而云原生應(yīng)用則利用云計算和容器化技術(shù),

    2024年02月10日
    瀏覽(27)
  • 企業(yè)中臺建設(shè)的關(guān)鍵思維與構(gòu)建原則

    ???? 中臺建設(shè)是一個復(fù)雜且持續(xù)迭代的過程。結(jié)合用戶數(shù)字中臺項目的實踐,我們總結(jié)出中臺建設(shè)過程中企業(yè)管理者應(yīng)該明確的3個關(guān)鍵思維。 ?? 思維1:中臺一定需要技術(shù)平臺的支撐 ??????????? 沒有一個相對完整的技術(shù)平臺是很難把中臺架構(gòu)搭建起來的,企業(yè)在構(gòu)

    2024年02月13日
    瀏覽(97)
  • 構(gòu)建 Kubernetes Operator 的原則是什么?

    構(gòu)建 Kubernetes Operator 的原則是什么?

    Kubernetes(簡稱K8s)上數(shù)據(jù)服務(wù)的自動化越來越受歡迎。在K8s上運行有狀態(tài)的工作負載意味著使用Operator。然而,它發(fā)展演化到今天已經(jīng)變得非常復(fù)雜,像Operator這樣的應(yīng)用模式和擴展方式對于開發(fā)者與運維者而言愈發(fā)受到歡迎。 但工程師們經(jīng)常對編寫K8s Operator的復(fù)雜性感到吃

    2024年02月03日
    瀏覽(17)
  • 微服務(wù)的藝術(shù):構(gòu)建可擴展和彈性的分布式應(yīng)用

    微服務(wù)的藝術(shù):構(gòu)建可擴展和彈性的分布式應(yīng)用

    ??歡迎來到架構(gòu)設(shè)計專欄~微服務(wù)的藝術(shù):構(gòu)建可擴展和彈性的分布式應(yīng)用 ☆* o(≧▽≦)o *☆嗨~我是IT·陳寒?? ?博客主頁:IT·陳寒的博客 ??該系列文章專欄:架構(gòu)設(shè)計 ??其他專欄:Java學習路線 Java面試技巧 Java實戰(zhàn)項目 AIGC人工智能 數(shù)據(jù)結(jié)構(gòu)學習 ??文章作者技術(shù)和水平

    2024年02月07日
    瀏覽(1317)
  • 云原生+AI算力:構(gòu)建高效、彈性的智能化基礎(chǔ)設(shè)施

    云原生+AI算力:構(gòu)建高效、彈性的智能化基礎(chǔ)設(shè)施

    導(dǎo)言: 當談到構(gòu)建高效、彈性的智能化基礎(chǔ)設(shè)施時,云原生和AI算力的融合成為了無可忽視的關(guān)鍵要素。云原生技術(shù)作為一種現(xiàn)代化的軟件開發(fā)和部署方法,以其高效性和彈性成為構(gòu)建智能化基礎(chǔ)設(shè)施的理想選擇。而AI算力作為人工智能應(yīng)用的核心,為智能化基礎(chǔ)設(shè)施的實現(xiàn)

    2024年04月16日
    瀏覽(38)
  • Jenkins分布式實現(xiàn): 構(gòu)建彈性和可擴展的CI/CD環(huán)境!

    Jenkins分布式實現(xiàn): 構(gòu)建彈性和可擴展的CI/CD環(huán)境!

    Jenkins是一個流行的開源持續(xù)集成(Continuous Integration,CI)和持續(xù)交付(Continuous Delivery,CD)工具,它通過自動化構(gòu)建、測試和部署過程,幫助開發(fā)團隊更高效地交付軟件。Jenkins的分布式實現(xiàn)允許將任務(wù)分散到多個計算機上執(zhí)行,從而提高系統(tǒng)的彈性和可擴展性。本文將深入

    2024年02月01日
    瀏覽(94)
  • 構(gòu)建彈性可擴展的微服務(wù)架構(gòu):基于Spring Cloud Alibaba 的實踐

    構(gòu)建彈性可擴展的微服務(wù)架構(gòu):基于Spring Cloud Alibaba 的實踐

    ?? 個人網(wǎng)站:【工具大全】【游戲大全】【神級源碼資源網(wǎng)】 ?? 前端學習課程:??【28個案例趣學前端】【400個JS面試題】 ?? 尋找學習交流、摸魚劃水的小伙伴,請點擊【摸魚學習交流群】 隨著互聯(lián)網(wǎng)業(yè)務(wù)的不斷發(fā)展,傳統(tǒng)的單體應(yīng)用逐漸無法滿足日益復(fù)雜的業(yè)務(wù)需求和

    2024年02月14日
    瀏覽(1876)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包