Java NIO 框架 Netty 之美:粘包与半包问题

作者/分享人:追梦
向 Ta 提问
追梦,某大型互联网公司资深Java开发工程师,并发编程网编辑;热衷并发编程,微服务架构设计,中间件基础设施

Netty 是一个可以快速开发网络应用程序的 NIO 框架,它大大简化了 TCP 或者 UDP 服务器的网络编程。Netty 的简易和快速开发并不意味着由它开发的程序将失去可维护性或者存在性能问题,它的设计参考了许多协议的实现,比如 FTP,SMTP,HTTP 和各种二进制和基于文本的传统协议,因此 Netty 成功的实现了兼顾快速开发,性能,稳定性,灵活性为一体,不需要为了考虑一方面原因而妥协其他方面。Netty 的应用还是比较广泛的,比如阿里巴巴开源的 Dubbo 和 Sofa-Bolt 框架底层网络通讯都是基于 Netty 来实现的。

本 Chat 作为 Netty 中粘包与半包问题,主要包含下面内容:

  • 什么是粘包与半包问题,为何会出现,如何避免?
  • 如何使用包定长 FixedLengthFrameDecoder 解决粘包与半包问题?原理是什么?
  • 如何使用包分隔符 DelimiterBasedFrameDecoder 解决粘包与半包问题?原理是什么?
  • Dubbo 在使用 Netty 作为网络通讯时候是如何避免粘包与半包问题?
  • Netty框架本身存在粘包半包问题?什么时候需要考虑粘包与半包问题?
已有250人预订
预订达标
文章出炉
     
18.06.04
18.06.18
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张追梦的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
查看文章评论/提问
恒DCanon
分析的很到位
追梦: 😃
张振华
大佬,很不错👍
你可能还喜欢
大型 Java 应用后台重构技术策略详解
驰骋
微服务网关 Spring Cloud Gateway 的应用实战
aoho求索
Docker 的基础知识整理
假不理
如何采用一套程序代码,实现系统的“千人千面”
白公
JVM 常见面试题指南
驰骋
用领域驱动实现供应链系统商品录入和出入库设计
GIM
微信扫描登录