成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

服務(wù)架構(gòu):Web-Queue-Worker架構(gòu)

開(kāi)發(fā) 架構(gòu)
Web前端和wWorker服務(wù)都是無(wú)狀態(tài)的。作業(yè)的會(huì)話狀態(tài)通常存儲(chǔ)在分布式存儲(chǔ)里(比如Redis集群)。worker通過(guò)異步的方式處理耗時(shí)的作業(yè),我們通常使用消息隊(duì)列來(lái)觸發(fā)作業(yè)的創(chuàng)建和執(zhí)行,或者通過(guò)一個(gè)定時(shí)任務(wù)調(diào)度批處理任務(wù)。worker并不是必須的,如果沒(méi)有耗時(shí)的操作,就不需要它。

  1. 這種架構(gòu)的核心組件包含:
  2. 一個(gè)Web前端,用戶可以通過(guò)這里發(fā)送請(qǐng)求
  3. 一個(gè)worker服務(wù),它可以執(zhí)行資源密集型任務(wù)、耗時(shí)的工作流或批處理作業(yè)。

Web前端和worker服務(wù)通過(guò)一個(gè)消息隊(duì)列進(jìn)行通信。

這個(gè)架構(gòu)中還包含其它一些組件:

  • 一個(gè)/多個(gè)數(shù)據(jù)庫(kù)
  • KV Cache,用來(lái)降低數(shù)據(jù)庫(kù)的負(fù)載
  • CDN系統(tǒng),提供靜態(tài)資源的訪問(wèn)加速
  • 遠(yuǎn)程服務(wù),比如email或消息發(fā)送服務(wù),通常是第三方的服務(wù)
  • 身份認(rèn)證服務(wù),比如Google Oauth登錄服務(wù)

Web前端和worker服務(wù)都是無(wú)狀態(tài)的。作業(yè)的會(huì)話狀態(tài)通常存儲(chǔ)在分布式存儲(chǔ)里(比如Redis集群)。worker通過(guò)異步的方式處理耗時(shí)的作業(yè),我們通常使用消息隊(duì)列來(lái)觸發(fā)作業(yè)的創(chuàng)建和執(zhí)行,或者通過(guò)一個(gè)定時(shí)任務(wù)調(diào)度批處理任務(wù)。worker并不是必須的,如果沒(méi)有耗時(shí)的操作,就不需要它。

前端除了頁(yè)面的部分,也可以提供web API(BFF層)。在client端,我們可以通過(guò)一個(gè)單頁(yè)應(yīng)用觸發(fā)ajax請(qǐng)求,或者使用原生的APP去觸發(fā)。

應(yīng)用場(chǎng)景

Web-Queue-worker架構(gòu)在云服務(wù)中很常見(jiàn),比如函數(shù)計(jì)算服務(wù)(FAAS)。這類服務(wù)通常會(huì)提供 HTTP API 或 RPC API,同時(shí)支持消費(fèi)Kafka來(lái)的流式消息。目前流行的低代碼也是由此衍生出來(lái)的。

該架構(gòu)適用于以下的場(chǎng)景:

  • 應(yīng)用的業(yè)務(wù)領(lǐng)域/場(chǎng)景比較簡(jiǎn)單
  • 應(yīng)用包含了一些耗時(shí)的工作流或批處理任務(wù);
  • 想要低成本地接入現(xiàn)有的服務(wù),而不是從Infra開(kāi)始搭建

架構(gòu)優(yōu)勢(shì)

  • 架構(gòu)簡(jiǎn)單易懂;
  • 部署和管理很簡(jiǎn)單;
  • 服務(wù)職能邊界清晰;
  • 前端和worker是解耦的,消息隊(duì)列使用現(xiàn)成的技術(shù)即可;
  • 前端和worker可以獨(dú)立進(jìn)行擴(kuò)容;

有哪些挑戰(zhàn)

  • 如果設(shè)計(jì)不合理,前端和worker都可能融入太多的邏輯,變得越來(lái)越重。后期演變成單體架構(gòu)后,很難維護(hù)和升級(jí);
  • 如果前端和worker共享了一些數(shù)據(jù)結(jié)構(gòu)或代碼,可能會(huì)有隱藏的依賴;

最佳實(shí)踐

  • 暴露給client的API必須清晰明了,經(jīng)過(guò)良好的設(shè)計(jì);對(duì)于HTTP請(qǐng)求,可以遵循REST協(xié)議;
  • 對(duì)于工作負(fù)載的變化,啟動(dòng)自動(dòng)擴(kuò)縮容;云平臺(tái)和K8s都提供了監(jiān)控實(shí)例CPU/內(nèi)存自動(dòng)擴(kuò)縮容的能力;
  • 對(duì)于半靜態(tài)的數(shù)據(jù),使用緩存進(jìn)行加速訪問(wèn);比如memcached/memory cache等;
  • 使用CDN對(duì)靜態(tài)資源進(jìn)行緩存加速;
  • 根據(jù)需求使用混合持久化方案。比如關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)混合使用,比如KV存儲(chǔ)、文檔數(shù)據(jù)庫(kù)、搜索數(shù)據(jù)庫(kù)、時(shí)序數(shù)據(jù)庫(kù)、列式存儲(chǔ)數(shù)據(jù)庫(kù)、圖數(shù)據(jù)庫(kù)等。數(shù)據(jù)庫(kù)之間,可以采用最終一致性方案進(jìn)行數(shù)據(jù)同步;
  • 對(duì)數(shù)據(jù)進(jìn)行分區(qū),分區(qū)可以更好地支持?jǐn)U容,減少競(jìng)爭(zhēng)讀寫問(wèn)題,提升訪問(wèn)性能。
責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2020-06-10 10:20:24

微服務(wù)架構(gòu)WEB2.0

2023-07-28 09:23:24

微服務(wù)架構(gòu)

2018-04-20 10:15:34

2023-08-02 08:51:46

服務(wù)架構(gòu)分層架構(gòu)

2014-05-19 15:59:35

2023-07-12 08:30:52

服務(wù)架構(gòu)事件驅(qū)動(dòng)架構(gòu)

2023-07-26 08:51:08

大數(shù)據(jù)服務(wù)架構(gòu)

2021-04-09 08:51:32

Web WorkerJavaScript微前端

2010-01-06 13:36:37

Windows XP架

2024-01-19 11:57:42

2012-11-08 10:27:22

WEB產(chǎn)品架構(gòu)架構(gòu)

2021-07-02 06:54:45

軟件架構(gòu)模式

2012-10-18 10:11:48

IBMdw

2023-08-21 15:18:29

開(kāi)發(fā)Node.js后端

2021-08-28 10:06:29

VueJavascript應(yīng)用

2009-07-01 08:49:34

架構(gòu)Web2.0Twitter

2020-08-05 08:23:19

架構(gòu)Java微服務(wù)

2023-07-10 09:27:36

分層架構(gòu)服務(wù)架構(gòu)

2011-02-14 09:21:40

WebjQuery

2014-04-02 11:22:26

JavascriptMEAN
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩午夜精品 | 久久一级免费视频 | 日韩免费在线视频 | 国产一区二区久久 | 在线播放一区二区三区 | 国产精品jizz在线观看老狼 | 孕妇一级毛片 | www.成人在线视频 | 人人玩人人添人人澡欧美 | 国产乱一区二区三区视频 | 日本一二区视频 | 国产精品二区三区在线观看 | 国产精品毛片一区二区在线看 | 国产日韩一区二区三区 | 亚洲天堂成人在线视频 | 欧美日韩中文字幕 | 完全免费在线视频 | 亚洲精品乱码久久久久久蜜桃 | 国产精品久久久久久久久久久免费看 | 亚洲日韩中文字幕一区 | 天天躁日日躁狠狠的躁天龙影院 | 中文字幕亚洲精品 | a级大片免费观看 | 亚洲精品中文在线观看 | 999热在线视频 | 欧美日韩一区二区三区在线观看 | 日韩精品不卡 | 国产精品资源在线 | 国产a视频 | 古装三级在线播放 | 亚洲日产精品 | 人妖videosex高潮另类 | 国产日韩精品久久 | 国产在线精品区 | 亚洲一区播放 | 亚州无限乱码 | 久久免费精品 | 午夜激情在线 | 欧美日韩中 | 少妇精品亚洲一区二区成人 | 亚洲国产精品一区二区久久 |