1. 程式人生 > >架構師必備技能之Netty 高併發 UTS 專案實戰

架構師必備技能之Netty 高併發 UTS 專案實戰

一、Netty

Netty是由JBOSS提供的一個java開源框架。Netty提供非同步的、事件驅動的網路應用程式框架和工具,用以快速開發高效能、高可靠性的網路伺服器和客戶端程式。

也就是說,Netty 是一個基於NIO的客戶、伺服器端程式設計框架,使用Netty 可以確保你快速和簡單的開發出一個網路應用,例如實現了某種協議的客戶、服務端應用。Netty相當於簡化和流線化了網路應用的程式設計開發過程,例如:基於TCP和UDP的socket服務開發。

二、高併發

高併發在極短單位時間內,極多個請求同時發起到伺服器。

需要了解大資料高併發的瓶頸在哪裡,一般都是資料庫層面的,機械硬碟承載不起非常快速的讀寫操作,cpu承載不起大量的邏輯運算,所以最基本的解決思路就是:

1.換固態硬碟加快硬碟的讀寫效率。

2.建立快取中介軟體降低對硬碟的讀寫次數,快取不用多說了,最最最基本和重要的優化策略。

3.將硬碟的讀寫或者資料的計算分攤到多臺機器上,也就是叢集。hadoop就是基於這個層面的。

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

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

三、專案核心概述

統一資料傳輸系統(UTS)是一款網路應用整合解決方案,涵蓋檔案傳輸、資料庫跨平臺傳輸與釋出,以及 FTP 服務等多個領域。本專案將使用 java 網路程式設計技術,來實現一個比較完善的資料傳輸模型。主要使用 Netty 框架,已經 SFTP 技術進行資料的持續推送,斷點續傳,錯誤重傳,已經一系列核心傳輸問題,本套案例實際在生產環境中,頻寬允許的情況,下每天傳輸承載上億級別的資料量。

四、專案架構

專案架構

五、專案知識體系

★ 學習網路程式設計基礎知識。瞭解 TCP/SOCKET 等基礎概念。

★學習 IO/NIO/NIO2(AIO)程式設計模型,深入學習網路程式設計的技術點。

★學習 Netty 基礎核心技術、整合 SpringBoot、實現非同步資料傳輸、實現異構語言、系統跨平臺傳輸等技術,高效序列化等等。

★ 資料傳輸系統基礎環境搭建、核心概念講解。資料庫設計、架構設計等核心思路講解,高可用、高可靠方案講解。

★資料傳輸系統實現,雙去重機制、雙投遞基礎、雙容錯重投等核心程式碼思路講解、程式碼編寫和實現。

Freestyle

      通過真實企業專案,掌握 JAVA 高併發、負載均衡、NoSQL、伺服器叢集、效能優化、資料庫叢集等架構師技能,實現年薪翻番。想了解更多的簡友(簡書朋友)們歡迎下方評論哦!小編微信:Nancy007001

學習架構師技能,實現年薪翻番!架構師長期公開課程,免費來襲!

免費學習報名地址:https://ke.qq.com/course/215398?flowToken=1002412

上課時間:晚八點到十點(週六除外)