一、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、实现异步数据传输、实现异构语言、系统跨平台传输等技术,高效序列化等等。
数据传输系统基础环境搭建、核心概念讲解。数据库设计、架构设计等核心思路讲解,高可用、高可靠方案讲解。
数据传输系统实现,双去重机制、双投递基础、双容错重投等核心代码思路讲解、代码编写和实现。
作者:A尚学堂Nancy老师
链接:https://www.jianshu.com/p/0c93c6b0143c
共同学习,写下你的评论
评论加载中...
作者其他优质文章