架構師必備技能之Netty 高并發(fā) UTS 項目實戰(zhàn)

一、Netty

Netty是由JBOSS提供的一個java開源框架。Netty提供異步的、事件驅動的網(wǎng)絡應用程序框架和工具,用以快速開發(fā)高性能、高可靠性的網(wǎng)絡服務器和客戶端程序。

也就是說,Netty 是一個基于NIO的客戶、服務器端編程框架,使用Netty 可以確保你快速和簡單的開發(fā)出一個網(wǎng)絡應用,例如實現(xiàn)了某種協(xié)議的客戶、服務端應用。Netty相當于簡化和流線化了網(wǎng)絡應用的編程開發(fā)過程,例如:基于TCP和UDP的socket服務開發(fā)。

二、高并發(fā)

高并發(fā)在極短單位時間內,極多個請求同時發(fā)起到服務器。

需要了解大數(shù)據(jù)高并發(fā)的瓶頸在哪里,一般都是數(shù)據(jù)庫層面的,機械硬盤承載不起非??焖俚淖x寫操作,cpu承載不起大量的邏輯運算,所以最基本的解決思路就是:

1.換固態(tài)硬盤加快硬盤的讀寫效率。

2.建立緩存中間件降低對硬盤的讀寫次數(shù),緩存不用多說了,最最最基本和重要的優(yōu)化策略。

3.將硬盤的讀寫或者數(shù)據(jù)的計算分攤到多臺機器上,也就是集群。hadoop就是基于這個層面的。

4.良好的查詢算法,降低讀的次數(shù),分表,分庫,索引等都是基于這層面的。

理論上來講,在帶寬充裕的情況下,只要遵循上面的4個思路進行延伸就可以解決大部分的高并發(fā)問題。

三、項目核心概述

統(tǒng)一數(shù)據(jù)傳輸系統(tǒng)(UTS)是一款網(wǎng)絡應用集成解決方案,涵蓋文件傳輸、數(shù)據(jù)庫跨平臺傳輸與發(fā)布,以及 FTP 服務等多個領域。本項目將使用 java 網(wǎng)絡編程技術,來實現(xiàn)一個比較完善的數(shù)據(jù)傳輸模型。主要使用 Netty 框架,已經 SFTP 技術進行數(shù)據(jù)的持續(xù)推送,斷點續(xù)傳,錯誤重傳,已經一系列核心傳輸問題,本套案例實際在生產環(huán)境中,帶寬允許的情況,下每天傳輸承載上億級別的數(shù)據(jù)量。

四、項目架構

項目架構

五、項目知識體系

★ 學習網(wǎng)絡編程基礎知識。了解 TCP/SOCKET 等基礎概念。

★學習 IO/NIO/NIO2(AIO)編程模型,深入學習網(wǎng)絡編程的技術點。

★學習 Netty 基礎核心技術、整合 SpringBoot、實現(xiàn)異步數(shù)據(jù)傳輸、實現(xiàn)異構語言、系統(tǒng)跨平臺傳輸?shù)燃夹g,高效序列化等等。

★ 數(shù)據(jù)傳輸系統(tǒng)基礎環(huán)境搭建、核心概念講解。數(shù)據(jù)庫設計、架構設計等核心思路講解,高可用、高可靠方案講解。

★數(shù)據(jù)傳輸系統(tǒng)實現(xiàn),雙去重機制、雙投遞基礎、雙容錯重投等核心代碼思路講解、代碼編寫和實現(xiàn)。

Freestyle

? ? ? 通過真實企業(yè)項目,掌握 JAVA 高并發(fā)、負載均衡、NoSQL、服務器集群、性能優(yōu)化、數(shù)據(jù)庫集群等架構師技能,實現(xiàn)年薪翻番。想了解更多的簡友(簡書朋友)們歡迎下方評論哦!小編微信:Nancy007001

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容