「Netty 入门与实战:仿写微信 IM 即时通讯系统」封面
VIP
Netty 入门与实战:仿写微信 IM 即时通讯系统
7.98
基于 Netty 框架实现 IM 核心系统,带你深入学习 Netty 网络编程核心知识
架构师 @ 保密
学习群
首单券后价
首单券后价
¥ 19.95 立即购买
原价 ¥39.9
VIP借阅
免费试学
9431 人加入学习
23 小节
·
约 362分9秒
介绍
目录
评论

小册介绍

image.png

Netty 是互联网中间件领域使用最广泛最核心的网络通信框架。上图中可以看到,几乎所有互联网中间件或者大数据领域均离不开 Netty,掌握 Netty 是作为一名初中级工程师迈向高级工程师最重要的技能之一。

很多优秀的互联网公司,比如阿里、腾讯、美团、新浪、淘宝等,在高级工程师的面试过程中,也经常会问一些 Netty 相关的技术问题,如果你能全面地掌握 Netty,相信在面试过程中一定能够给面试官留下好的印象,提高进入心仪公司的成功率。

然而笔者发现,目前市面上对初学者比较友好的 Netty 实战入门资料太少了,网络上各类博客也是一堆零散的知识点的集合,无法串成一条线。笔者也读过一些使用了 Netty 开源框架的源码,其中涉及 Netty 的地方代码写的非常糟糕(本可以写得更好)。

笔者在 Netty 的使用以及源码方面积累了非常多的线上实战经验,通过梳理总结笔者的实战经验,笔者用一个通俗易上手的例子把 Netty 各方面的知识点带给大家,让大家更快速,更轻松地入门 Netty。

image.png

笔者所在的公司,使用 Netty 的长连集群数为几十规模,机器数为数百规模,线上 QPS 为几十万级别的规模,日吞吐为百亿规模,如此大的并发量,仅使用了 Netty 就能够轻松应对,而这些知识点在本小册中都会毫无保留的奉献给大家。

本小册通过一个仿微信 IM 系统,来演示如何使用 Netty 一步一步进行服务端和客户端长连通信的开发,本小册所涉及的代码将会按照小节的顺序放置到 GitHub 上,每小节对应一个分支,方便读者由浅入深地学习。

本小册不会讲解移动端相关的开发,而是会通过控制台来进行用户操作的模拟,包括:

  1. 客户端登录验证
  2. 客户端之间收发消息
  3. 群的创建
  4. 群聊成员管理
  5. 群内成员收发消息
  6. 客户端退出登录

本小册也会用大量的图来展示程序逻辑结构 image.png

有了这些图示,相信学习本小册会更加轻松有趣

image.png

作者介绍

闪电侠,某大型互联网公司基础架构部技术专家,主要做后台服务器的开发。精通 Netty,Spring,MyBatis,熟读互联网公司常见开发框架源码。负责公司各类长连项目的开发与维护,有千万级别实时在线连接,百亿吞吐的长连通信经验。Vim 党,IDEA 党,对效率和优秀整洁的编码风格有极致的追求。有以下分享经历

你会学到什么?

通过本小册,你将会学习到如何使用 Netty 完成最基本的网络通信程序,课程中将会包含以下知识点

  1. 服务端如何启动
  2. 客户端如何启动
  3. 长连自定义协议如何设计
  4. 粘包拆包原理与实践
  5. 如何实现自定义编解码
  6. pipeline 与 channelHandler
  7. 心跳与空闲检测

适宜人群

  1. 需要掌握 Java 开发基础,了解 Maven 依赖和构建基本知识
  2. 有一定的网络编程基础,了解 TCP/IP 基本概念,零 Netty 服务端开发经验,想通过几个实战,来系统学习 Netty 服务端开发的同学
  3. 使用过 Netty 进行开发,但是入门尚浅的同学
  4. 想了解最常见的 Netty 调优方法的同学

名人推荐

购买须知

  1. 本小册为图文形式内容服务,共计 22 节,上线时间为 2018 年 9 月 26 日;
  2. 全部文章已于 2018 年 10 月 7 日全部更新完成;
  3. 购买用户可享有小册永久的阅读权限;
  4. 购买用户可进入小册微信群,与作者互动;
  5. 掘金小册为虚拟内容服务,一经购买成功概不退款;
  6. 掘金小册版权归北京北比信息技术有限公司所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表,违者将依法追究责任;
  7. 在掘金小册阅读过程中,如有任何问题,请邮件联系 xiaoce@xitu.io

更新日志

当前小册预计在国庆节假期结束后更新7章节。

  • 2018.10.02: 更新第 14 章节 《channelHandler 的生命周期》
  • 2018.10.04: 更新第 15 章节 《实战:使用 channelHandler 的热插拔实现客户端身份校验》
  • 2018.10.05: 更新第 16 章节 《实战:客户端互聊原理与实现》
  • 2018.10.06: 更新第 17 章节 《实战:群聊的发起与通知》
  • 2018.10.06: 更新第 18 章节 《实战:群聊的成员管理(加入与退出,获取成员列表)》
  • 2018.10.07: 更新第 19 章节 《实战:群聊消息的收发及 Netty 性能优化》
  • 2018.10.07: 更新第 20 章节 《实战:心跳与空闲检测》
  • 2018.10.08: 更新第 21 章节 《Netty 小册总结》
  • 2018.10.08: 更新第 22 章节 《扩展:进阶学习 Netty 的方向与资料》
推荐小册
京ICP备18012699号-3 ©版权所有 北京北比信息技术有限公司

公司地址:北京市海淀区信息路甲28号13层B座13B-5 | 公司座机:010-83434395