继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

三国纷争
关注TA
已关注
手记 414
粉丝 51
获赞 178

一、Netty

Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。

也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户、服务端应用。Netty相当于简化和流线化了网络应用的编程开发过程,例如:基于TCP和UDP的socket服务开发。

二、高并发

高并发在极短单位时间内,极多个请求同时发起到服务器。

需要了解大数据高并发的瓶颈在哪里,一般都是数据库层面的,机械硬盘承载不起非常快速的读写操作,cpu承载不起大量的逻辑运算,所以最基本的解决思路就是:

1.换固态硬盘加快硬盘的读写效率。

2.建立缓存中间件降低对硬盘的读写次数,缓存不用多说了,最最最基本和重要的优化策略。

3.将硬盘的读写或者数据的计算分摊到多台机器上,也就是集群。hadoop就是基于这个层面的。

4.良好的查询算法,降低读的次数,分表,分库,索引等都是基于这层面的。

理论上来讲,在带宽充裕的情况下,只要遵循上面的4个思路进行延伸就可以解决大部分的高并发问题。

webp

三、项目核心概述

统一数据传输系统(UTS)是一款网络应用集成解决方案,涵盖文件传输、数据库跨平台传输与发布,以及 FTP 服务等多个领域。本项目将使用 java 网络编程技术,来实现一个比较完善的数据传输模型。主要使用 Netty 框架,已经 SFTP 技术进行数据的持续推送,断点续传,错误重传,已经一系列核心传输问题,本套案例实际在生产环境中,带宽允许的情况,下每天传输承载上亿级别的数据量。

四、项目架构

webp

项目架构

五、项目知识体系

学习网络编程基础知识。了解 TCP/SOCKET 等基础概念。

学习 IO/NIO/NIO2(AIO)编程模型,深入学习网络编程的技术点。

学习 Netty 基础核心技术、整合 SpringBoot、实现异步数据传输、实现异构语言、系统跨平台传输等技术,高效序列化等等。

数据传输系统基础环境搭建、核心概念讲解。数据库设计、架构设计等核心思路讲解,高可用、高可靠方案讲解。

数据传输系统实现,双去重机制、双投递基础、双容错重投等核心代码思路讲解、代码编写和实现。

webp



作者:A尚学堂Nancy老师
链接:https://www.jianshu.com/p/0c93c6b0143c


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP