網(wǎng)站首頁 編程語言 正文
什么是 Reactor 模式?
??Reactor 模式并不是什么很神秘的東西。一般來說,通信有以下兩個關(guān)鍵步驟:一是建立連接,二是進行數(shù)據(jù)的傳輸。一般對通信過程進行優(yōu)化,也就是基于這兩個關(guān)鍵點進行優(yōu)化。
??建立連接通常就是 握手
的過程。在向?qū)Ψ絺鬏敂?shù)據(jù)之前,必須要經(jīng)對方同意,這就是握手。如果建立連接就不成功,后面的數(shù)據(jù)傳輸也不能進行。對于服務(wù)端來講,它需要與眾多客戶端通信,建立連接的成功數(shù)將影響它的吞吐量。對于服務(wù)端,當然是希望它的吞吐量越高越好。我們知道數(shù)據(jù)傳輸通常相對更耗時,為了避免對建立連接造成影響,最好是讓服務(wù)端使用一個與數(shù)據(jù)傳輸不同的線程來完成建立連接的工作。
??對于服務(wù)端來講,它需要與眾多客戶端通信。如果正好需要與多個客戶端同時進行數(shù)據(jù)傳輸,就只能開啟多個線程來完成,且線程數(shù)與連接數(shù)相等。如果線程數(shù)小于連接數(shù),則有些客戶端需要等待。
??Reactor 模式就是基于建立連接與具體服務(wù)之間線程分離的模式。在 Reactor 模式中,會有一個線程(負責與所有客戶端建立連接,這個線程通常稱之為 Reactor。然后在建立連接之后,Reactor 線程會使用其它線程(可以有多個)來處理與每一個客戶端之間的數(shù)據(jù)傳輸,這個(些)線程通常稱之為 Handler。
??由于服務(wù)端需要與多個客戶端通信,它的通信是一對多的關(guān)系,所以它需要使用 Reactor 模式。對客戶端,它只需要與服務(wù)端通信,它的通信是一對一的關(guān)系,所以它不需要使用 Reactor 模式。也就是說,對客戶端來講,它不需要進行建立連接與傳輸數(shù)據(jù)之間的線程分離。
原文鏈接:https://blog.csdn.net/wangpaiblog/article/details/124580590
相關(guān)推薦
- 2022-05-11 Python實現(xiàn)簡單的學生信息管理系統(tǒng)_python
- 2022-10-05 Win10下自帶的PowerShell讀取文件哈希值_PowerShell
- 2022-06-25 Python+PuLP實現(xiàn)線性規(guī)劃的求解_python
- 2022-05-23 vmware增加新硬盤無需重啟即可生效的命令腳本_VMware
- 2022-10-08 Qt動態(tài)庫調(diào)用宿主進程中的對象方法純虛函數(shù)使用_C 語言
- 2022-09-22 springboot整合log4j2報錯Unexpected filename extension
- 2022-06-06 Python實現(xiàn)為PDF去除水印的示例代碼_python
- 2023-01-03 Kotlin中Lambda表達式與高階函數(shù)使用分析講解_Android
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支