国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

最好看免費觀看高清大全城中之城上海關鍵詞優(yōu)化排名哪家好

最好看免費觀看高清大全城中之城,上海關鍵詞優(yōu)化排名哪家好,怎么做蘋果手機網(wǎng)站首頁,南昌響應式網(wǎng)站建設文章目錄 1.異步1.1 調(diào)用異步1.2 流程異步1.3 數(shù)據(jù)流異步1.4 小結(jié) 2.并發(fā)2.1 請求并發(fā)2.2 冗余請求2.3 小結(jié) 參考文獻 1.異步 對于處理耗時長的任務,如果采用同步等待的方式,會嚴重降低系統(tǒng)的吞吐量,可以采用異步化進行解決。 異步&#xf…

文章目錄

  • 1.異步
    • 1.1 調(diào)用異步
    • 1.2 流程異步
    • 1.3 數(shù)據(jù)流異步
    • 1.4 小結(jié)
  • 2.并發(fā)
    • 2.1 請求并發(fā)
    • 2.2 冗余請求
    • 2.3 小結(jié)
  • 參考文獻

1.異步

對于處理耗時長的任務,如果采用同步等待的方式,會嚴重降低系統(tǒng)的吞吐量,可以采用異步化進行解決。

異步(Asynchronous)是一種編程模型或執(zhí)行方式,在這種方式中,任務的啟動和完成不是同步的,也就是說,程序不會在等待任務完成時阻塞,而是可以繼續(xù)執(zhí)行其他操作。當異步任務完成時,程序會通過回調(diào)、通知或事件的方式獲取結(jié)果或處理后續(xù)操作。

1.1 調(diào)用異步

異步調(diào)用發(fā)生在使用異步編程模型來提高代碼效率的時候,實現(xiàn)方式主要有:

  • Callback

異步回調(diào)通過注冊一個回調(diào)函數(shù),然后發(fā)起異步任務,當任務執(zhí)行完畢時會回調(diào)用戶注冊的回調(diào)函數(shù),從而減少調(diào)用端等待時間。這種方式會造成代碼分散難以維護,定位問題也相對困難。

  • Promise 和 Future

當用戶提交一個任務時會立刻先返回一個Future,然后任務異步執(zhí)行,后續(xù)可以通過 Future 獲取執(zhí)行結(jié)果。

JavaScript 中的 Promise 和 Java 中的 CompletableFuture 都是常見的異步處理方式。

// 使用 Promise 處理異步操作
let promise = new Promise((resolve, reject) => {// 模擬異步操作setTimeout(() => resolve('Operation complete'), 1000);
});promise.then(result => console.log(result));  // 輸出: "Operation complete"
  • Async/Await

Async/Await 是對 Promise 的進一步封裝,提供了更簡潔、更易讀的異步代碼寫法。使用 async 標記的函數(shù)會返回一個 Promise,而 await 關鍵字用于暫停函數(shù)的執(zhí)行,直到 Promise 處理完成。

JavaScript 和 Python 都支持 async/await 語法。

async function fetchData() {let response = await fetch('https://api.example.com/data');let data = await response.json();console.log(data);
}fetchData();
  • 事件驅(qū)動

事件驅(qū)動模型常用于 GUI 編程和服務器端編程,通過事件觸發(fā)異步操作的處理。

比如 Node.js 通過事件驅(qū)動模型來處理異步 I/O 操作。

const EventEmitter = require('events');
const eventEmitter = new EventEmitter();// 定義事件處理程序
eventEmitter.on('dataReceived', (data) => {console.log('Data received:', data);
});// 模擬異步數(shù)據(jù)接收
setTimeout(() => eventEmitter.emit('dataReceived', 'Sample Data'), 1000);
  • CPS(Continuation-Passing Style)

可以對多個異步編程進行編排,組成更復雜的異步處理,并以同步的代碼調(diào)用形式實現(xiàn)異步效果。

CPS 將后續(xù)的處理邏輯當作參數(shù)傳遞給 Then 并可以最終捕獲異常,解決了異步回調(diào)代碼散亂和異常跟蹤難的問題。Java 中的 CompletableFuture 和 C++ PPL(Parallel Patterns Library)基本支持這一特性。典型的調(diào)用形式如下:

void handleRequest(const Request &req) {return req.Read().Then([](Buffer &inbuf){return handleData(inbuf);}).Then([](Buffer &outbuf){return handleWrite(outbuf);}).Finally(){return cleanUp();});
}

關于 CPS 更多信息推薦閱讀:2018 中國 C++ 大會的吳銳_C++服務器開發(fā)實踐部分。

調(diào)用異步是一種異步編程模型,通過允許任務非阻塞地執(zhí)行,使程序在等待某些操作(如 I/O 操作)完成的同時,能夠繼續(xù)處理其他任務,從而提高并發(fā)性和性能。常見的實現(xiàn)方式包括回調(diào)函數(shù)、Promise/Future、Async/Await,以及事件驅(qū)動模型等。

1.2 流程異步

一個業(yè)務流程往往伴隨著調(diào)用鏈路長、后置依賴多等特點,導致業(yè)務流程處理耗時長,降低了系統(tǒng)的可用性和并發(fā)處理能力。

同步改異步,可以降低主鏈路的處理耗時。

舉個例子,比如我們?nèi)?KFC 點餐,遇到排隊的人很多,當點完餐后,大多情況下我們會隔幾分鐘就去問好了沒,反復去問了好幾次才拿到,在這期間我們也沒法干活了。

這個就叫同步輪訓,這樣效率太低了。

服務員被問煩了,就在點完餐后給我們一個號碼牌,每次準備好了就會在服務臺叫號,這樣我們就可以在被叫到的時候再去取餐,中途可以繼續(xù)干自己的事。這就叫異步。

當一個微服務需要處理大量的請求或任務時,直接處理這些任務可能導致服務壓力過大。通過消息隊列(如 Kafka、RabbitMQ、RocketMQ 等)對耗時的任務進行異步化。

微服務將任務消息發(fā)送到消息隊列中,另一個處理服務從隊列中取出任務異步處理。這樣可以解耦服務,提升系統(tǒng)的彈性和擴展性。

1.3 數(shù)據(jù)流異步

處理大量實時數(shù)據(jù)流(如日志數(shù)據(jù)、傳感器數(shù)據(jù))。

使用流處理框架(如 Apache Flink、Spark Streaming)來異步處理數(shù)據(jù)流。數(shù)據(jù)被實時處理和分析,結(jié)果可以用于實時監(jiān)控和決策。

1.4 小結(jié)

在微服務架構(gòu)中,異步處理可以顯著提高系統(tǒng)的性能和擴展性。通過異步編程模型、消息隊列、數(shù)據(jù)流異步處理,微服務可以更高效地處理并發(fā)請求、管理任務和優(yōu)化資源利用。異步編程不僅提升了系統(tǒng)的響應速度,還增強了系統(tǒng)的靈活性和可擴展性。

2.并發(fā)

在微服務架構(gòu)中,并發(fā)處理是提升系統(tǒng)性能和響應能力的關鍵技術。并發(fā)使得系統(tǒng)能夠同時處理多個任務或請求,顯著提高吞吐量和資源利用率。

2.1 請求并發(fā)

如果一個任務需要處理多個子任務,可以將沒有依賴關系的子任務并發(fā)化,這種場景在后臺開發(fā)很常見。

如一個請求需要查詢 3 個數(shù)據(jù),分別耗時 T1、T2、T3,如果串行調(diào)用總耗時 T=T1+T2+T3。對三個任務執(zhí)行并發(fā),總耗時 T=max(T1,T 2,T3)。同理,寫操作也如此。對于同種請求,還可以同時進行批量合并,減少 RPC 次數(shù)。

2.2 冗余請求

冗余請求指同時向后端服務發(fā)送多個同樣的請求,誰響應快就是使用誰,其他的則丟棄。

這種策略縮短了主調(diào)方的等待時間,但也使整個系統(tǒng)調(diào)用量猛增,一般適用于初始化或者請求少的場景。比如騰訊的移動連通服務維納斯(WNS,Wireless Network Service)的跑馬模塊其實就是這種機制,跑馬模塊為了快速建立長連接同時向后臺多個 IP/Port 發(fā)起請求,誰快就用誰,這在弱網(wǎng)的移動設備上特別有用,如果使用等待超時再重試的機制,無疑將大大增加用戶的等待時間。

這種方式較少使用,知道即可。

2.3 小結(jié)

并發(fā)在微服務架構(gòu)中通過多線程/多進程、異步 I/O、并行計算和流處理等方式,顯著提升了系統(tǒng)的處理能力和性能。它能夠有效地處理大量并發(fā)請求和數(shù)據(jù)流,優(yōu)化資源利用率,并提高系統(tǒng)的響應速度和吞吐量。通過合理應用并發(fā)技術,微服務系統(tǒng)可以更好地應對高負載和高并發(fā)的挑戰(zhàn)。


參考文獻

服務高并發(fā)、高性能、高可用實現(xiàn)方案- 楊豈

http://m.aloenet.com.cn/news/36778.html

相關文章:

  • 怎么知道哪家公司網(wǎng)站做的好網(wǎng)站買賣交易平臺
  • 網(wǎng)絡組建設計與方案網(wǎng)站seo 優(yōu)化
  • jquery 特效 網(wǎng)站網(wǎng)絡推廣公司是干什么
  • 廣西住房城鄉(xiāng)建設廳官網(wǎng)站大數(shù)據(jù)培訓班出來能就業(yè)嗎
  • 網(wǎng)站頁面數(shù)量開發(fā)網(wǎng)站的公司
  • 做網(wǎng)站圖片怎么弄一個自己的網(wǎng)站
  • 河北網(wǎng)站開發(fā)費用百度電話人工服務
  • 做門窗接活的網(wǎng)站廣告投放渠道
  • 做我女朋友好不好套路網(wǎng)站seo高級優(yōu)化技巧
  • 做局域網(wǎng)網(wǎng)站公司網(wǎng)站怎么弄
  • 家居企業(yè)網(wǎng)站建設如何豬八戒網(wǎng)接單平臺
  • 廣州 企業(yè)網(wǎng)站建設百度貼吧怎么做推廣
  • 新興建設網(wǎng)站頭條指數(shù)
  • 小型手機網(wǎng)站建設哪家好百度視頻
  • 收圖片的網(wǎng)站企業(yè)培訓計劃方案
  • 三亞網(wǎng)站建設介紹首頁
  • 怎么做網(wǎng)盤搜索引擎網(wǎng)站抖音怎么推廣
  • 網(wǎng)站設計第一步怎么做今日國內(nèi)新聞10則
  • 站長平臺有哪些百度平臺營銷軟件
  • 建筑專業(yè)網(wǎng)站文明seo技術教程網(wǎng)
  • wordpress 添加icp舟山百度seo
  • 網(wǎng)站右邊跳出的廣告怎么做可以推廣的軟件有哪些
  • 惠民網(wǎng)站建設淺議網(wǎng)絡營銷論文
  • 休閑旅游產(chǎn)品營銷網(wǎng)站的建設策略app運營
  • 深圳高端網(wǎng)站開發(fā)網(wǎng)絡營銷的優(yōu)勢有哪些?
  • 外貿(mào)網(wǎng)站推廣實操手冊2023年新聞小學生摘抄
  • 怎么建立自己的網(wǎng)站平臺多少錢南寧seo優(yōu)化公司排名
  • 黃江鎮(zhèn)做網(wǎng)站在線生成個人網(wǎng)站源碼
  • 自己做網(wǎng)站 發(fā)布視頻北京自動seo
  • 建設部舉報網(wǎng)站西安網(wǎng)站建設方案優(yōu)化