黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java分布式基礎學習指南

Java分布式基礎學習指南

更新時間:2021-07-19 15:31:01 來源:動力節點 瀏覽1629次

網絡通信

協議

  • TCP/IP

擴展:由網絡層的IP協議和傳輸層的TCP協議組成,TCP負責發現傳輸的問題,一有問題就發出信號,要求重新傳輸,直到所有數據安全正確地傳輸到目的地。而IP是給因特網的每一臺聯網設備規定一個地址。

  • UDP/IP
  • Multicast

IO

  • BIO
  • NIO
  • AIO

基于消息方式的系統間通信

1.當系統之間要通信時,就向外發送消息,消息可以使字節流、字節數組,甚至是java對象,其他系統收到消息后則進行相應的業務處理。消息方式的通信,通常是基于網絡協議來實現的,常用的系統間通信的協議有:TCP/IP和UDP/IP

2.TCP/IP是一種可靠的網絡數據傳輸的協議。TCP/IP要求通信雙方首先建立連接,之后再進行數據的傳輸TCP/IP負責保證數據傳輸的可靠性,包括數據的可到達、數據到達的順序等。但由于TCP/IP需要保證連接及數據傳輸的可靠,因此可能會犧牲一些性能。

3.UDP/IP是一種不保證數據一定到達的網絡數據傳輸協議。UDP/IP并不直接給通信雙方建立連接,而是發送發到網絡上進行傳遞。由于UDP/IP不建立連接,并且不能保證數據傳輸的可靠,因此性能上表現相對較好,但是可能會出現數據丟失以及數據亂序的現象。

4.TCP/IP和UDP/IP可用于完成數據的傳輸,但是要完成系統間通信,還需要對數據進行處理。列如讀取和寫入數據,按照標準分為同步IO和異步IO兩種。其中同步IO中最常用的是BIO(Blocking IO)和NIO(Non-Blocking IO)

5.從程序角度而言,BIO就是當發起IO的讀取或寫操作時,均為阻塞方式,只有當程序讀到了流或將流寫入操作系統后才釋放資源。f.NIO是基于事件驅動思想的,實現上通常采用Reactor模式,從程序角度而言,當發起IO的讀或寫操作時,是非租塞的。

基于Java包

  • TCP/IP

(BIO)Socket ServerSocket一連接一線程.一個socket需要一個線程處理。建立連接、讀數據,寫數據的操作都可能阻塞。為了支持并發連接需要線程池

(NIO)SocketChannel ServerSocketChannel服務端一個線程監聽連接的事件,一個或多個線程來監聽網絡讀寫事件。當有實際的網絡流讀寫事件發生后,再放入線程池中處理。一請求一線程.NIO的明顯好處就是不需要為每一個socket分配一個線程,而可以在一個線程中處理多個scoket。

  • UDP/IP
  • Multicast

組播(Multicast)傳輸:在發送者和每一接收者之間實現點對多點網絡連接。如果一臺發送者同時給多個的接收者傳輸相同的數據,也只需復制一份的相同數據包。它提高了數據傳送效率。減少了骨干網絡出現擁塞的可能性。

開源框架

  • Netty
  • Mina(apache,基于java NIO,對外屏蔽了JavaNIO的復雜性)

性能角度

連接管理

連接池連接復用短連接、長連接

基于遠程調用方式的系統間通信

遠程調用方式應該可能的是系統間的通信和系統內部一樣,讓使用者感覺調用遠程同調用本地一樣,但其實并沒有辦法做到完全透明。由于遠程調用帶來的網絡問題、超時問題,序列化反序列化問題、復雜調試問

基于java包

  • RMI(Remote Method Invocation)

原理:client----[proxy]----->封裝對象、序列化為流<----[TCP/IP BIO]---->反序列化、調用----->反射調用實例對象

  • webservice

開源框架

  • Spring RMI(簡單就實現RMI方式的java遠程調用)
  • Apache CXF

性能角度

  • 反射
  • 序列化、反序列化

消息通信

  • rabbitmq
  • kafka

大型分布式應用架構基礎

單體架構

在java領域可以理解為一個javaweb應用。

分布式架構

什么是傳統的分布式架構?簡單來說,按照業務垂直切分,每個應用都是單體架構,通過API相互調用。

面向服務的SOA架構

  • 背景:

在構建了共用業務邏輯系統和拆分系統后,最明顯的問題就是系統之間如何交互。如果不控制會出現系統之間存在多種交互方式:http、TCP/IP+NIO、Hessian、RMI、WebService等;同步異步都可能出現,這會導致開發人員每訪問一個共用業務邏輯系統或拆分出來的系統,都有可能需要學習不同交互方式;同時也會造成各開發團隊重復造輪子,提供不同交互方式用的框架,這對于應用的性能可用性而言帶來了極大的挑戰。

  • 關于SOA

面向服務的家否是一種軟件體系結構,其應用程序的不同組件通過網絡上的協議向其他提供服務和消費服務。簡單來說,soa是不同業務建立不同的服務,服務之間的數據交互可以通過服務接口分級,這樣松散耦合提高服務的可重用性,也讓業務邏輯變得可組合,并且每個服務根據適應情況作出合理的分布式部署,從而讓服務變得規范、高性能、高可用。soa架構中兩個主要角色:服務提供者(provider)和服務消費者(consumer).阿里開源的Dubbo是soa的典型實現。

微服務架構

將單一程序開發成一個微服務,每個微服務運行在自己的進程中,并使用輕量級機制通信,通常采用HTTP RestFul API.這些服務圍繞業務能力來劃分構建的,并通過全完自動化部署機制來獨立部署。這些服務可以使用不同的編程需要,以及不同數據存儲技術,以保證最低限度的集中式管理。

SOA和微服務架構的區別

SOA往往與企業服務總線(ESB)聯系在一起,主要原因在于SOA的實施思路是根據ESB模式來整合集成大量單一龐大的系統,這是soa主要的落地方式。微服務相對于和ESB聯系在一起的SOA顯示輕便敏捷得多,微服務將復雜的業務組件化,實際也是一種面向服務思想的體現。對于微服務來說,它是SOA的一種體現,但是它比ESB實現的SOA更加輕便、敏捷和簡單。

 以上就是動力節點小編介紹的"Java分布式基礎學習指南",希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為您服務。  

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 性xxxx18免费观看 | 一级特黄视频 | 午夜视频吧 | 日本一道免费一区二区三区 | 曰皮全部过程视频免费国产 | 一级毛片特级毛片免费的 | 亚洲狠狠97婷婷综合久久久久 | 毛片手机在线看 | 国产高清在线视频 | 荡娃艳妇系列小说 | 国产日韩欧美不卡www | 国产精品视频一 | 中文字幕日韩高清版毛片 | www大片| 免费毛片a | 伦理片日韩| 日韩在线免费观看视频 | 亚洲精品欧美精品日韩精品 | 国产成+人+亚洲+欧美+日韩 | 日韩免费视频观看 | 国产50页| 国产一卡2卡3卡四卡精品网 | 亚洲视频中文字幕在线观看 | 伊人91在线| 欧美人成在线视频 | 无遮挡男女激烈免费动态图 | 91精品国产高清久久久久久 | 午夜视频免费在线 | 日韩伦理一区二区三区 | 国产三级日本三级在线播放 | 欧美不卡在线视频 | 成人看片软件 | 三级欧美日韩 | 日本国产一区二区三区 | 青青国产成人久久91 | 全网毛片免费| 国产精品成人久久久 | 成人手机在线观看 | 九九九九热精品免费视频 | 羞羞视频免费网站含羞草 | 久草手机在线观看视频 |