×

架构师必备技能之Netty 高并发 UTS 项目实战

96
A尚学堂Nancy老师
2018.08.27 16:13* 字数 917

一、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

随笔
Web note ad 1