Netty 编程入门

一、Netty 简介


介绍

Netty 是一个 Java NIO 的高性能网络编程应用框架,是目前 Java 领域最主流的网络编程框架。

为什么做 web 服务端开发的程序员对网络编程没啥感知?

提到网络编程库,对于做业务开发的同学可能没啥感知,比如我一个服务端开发 —— Java CRUD BOY 完全不知道网络编程要干啥。大部分人都会接触的网络编程是 Java BIO,就是 Socket 这块儿,还有的同学可能看过 Java1.4推出的 NIO,Channel、Buffer、Selector这些。网络编程都在用在哪儿呢?只要涉及网络传输的网络应用都使用了网络编程。但在平常的 web 服务开发时,我们使用了Tomcat、JBoss、Jetty等支持 servlet 规范的 web 服务器,HTTP 协议的编解码、网络连接的建立、数据的网络收发都由底层的 web 容器完成,我们只需要专注于业务代码编写。 Netty 是一款面向网络传输层协议(Socket) 的网络编程框架,也可以用来开发 Web 服务器。Netty 不仅支持 HTTP 协议,还支持 SSH、TLS/SSL 等多种应用层的协议,它支持的协议更广泛,还可以自定义通信协议。


特性

对于一款网络编程框架,下面是几个我们绕不开的几个关注点:

  1. I/O 模型
  2. 线程模型
  3. 事件处理机制
  4. 对数据协议、序列化的支持
  5. API 的易用性


Netty 在上述的方面表现突出,具有以下特征:

  1. Java NIO 的高级封装,API 易用
  2. 高性能、低延时
  3. 对序列化和网络协议的支持


社区活跃度

Netty 如此成功离不开社区的精心运营,迭代周期短且文档比较齐全,如果你遇到任何问题通过 issue 或者邮件都可以得到非常及时的答复。目前,Netty 官方提供 3.x、4.x 的稳定版本,之前一直处于测试阶段的 5.x 版本已被作者放弃维护。


趋势

Netty 是目前最流行的一款高性能 Java 网络编程框架,它被广泛使用在中间件、直播、社交、游戏等领域。截止至 2020 年 7 月,Netty 在 github 上获取2.4w+ star,一共被 4w+ 的项目所使用。目前,许多知名的开源软件也都将 Netty 用作网络通信的底层框架,Netty 经过很多出名产品在线上的大规模验证,其健壮性和稳定性都被业界认可,其中典型的产品有:

  1. 服务治理:Apache Dubbo、gRPC。
  2. 大数据:Hbase、Spark、Flink、Storm。
  3. 搜索引擎:Elasticsearch。
  4. 消息队列:RocketMQ、ActiveMQ。


更多查看官方 wiki

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
菜卷
作者分享
因为上班拉了三个月肚子 上半年上班最大的问题,工作压力太大,导致每天频繁拉肚子,一天要跑厕所四五次。 从 2 月中旬开始,我身体开始出现告警,频繁想上厕所,每天拉肚子四五次。意识到自己身体出问题之后,先请了两天年假去了一趟海边。3.22 号,我开始看中医,第一次会诊,医生汪阿姨说:如果我的压力再大一些,我的身体可能会崩溃。 之后开始了每周去中医馆看中医,一周吃 400 多块钱 12 包中药,一直持续到 6 月 28 号最后一次。 感谢到 6 月底身体终于好转了。一共去就诊13次,看脱发一次,花了5266.95。440.08+414.34+415.44+410.44+405.58+402.16+417.57+397.87+399.64+377.45+371.20+362.86+334.72+117.60(生发町)=5266.95 3月中旬,我意识到这是比较严重的问题,问题主要在自己处理。当时和考研的小伙伴聊过,3月我们见面的时候,我发现她身体状况和我差不多,可能比我还差一点,我们在咖啡店自习,他好像出现了耳鸣,那段时间我上班也出现过。她考研初试分数出来以后,我问过她情况,大家压力都很大,互相勉励的时候,我提过:如果身体一直不好,我就准备 gap 一段时间休整。 上班和考研不一样,考研一年只能考一次,只能考一个学校,工资却是按月发的,上一个月有一个月的收入。上不下去了换个工作,不会有太大成本。 5月开始向外表达自己的身体状况和工作困境,和朋友比较简单的分享过我当时遇到的困难,我不太会和朋友分享我在工作上的困难,因为我有预感,1/3的可能我得到的回应是:你上班这么难是应该的。 也有正式的表达过,腹泻时间真的太久了,当时已经好转了,但没有完全恢复,所以期望一些外在的支持,能让问题顺利收敛,也是从那个时候开始做双周复盘。 没有和领导、同事反馈过,只在4月的时候,偷偷把企微头像换成了 p5: 也算是我无声的抱怨。 这段时间,对我很有帮助的三件事: 1.看中医,吃中药 2.和朋友住,一起生活;和朋友分享,听听朋友的建议 3.等工作情况好转,等自己适应这种工作节奏,团队运作方式和氛围 先写到这里,晚安🌙
10
年后四个月上班,开始职业倦怠了 最近要换房子,后面有更多时间独处 最近在重新整理生活,做一些调整 1.戒断社交媒体(朋友圈,视频号,B 站短视频) 2.每天打卡记录(纸质或电子) 3.没有保持适度运动 4.周末主动社交 5.复盘最近一年的生活(关注变化和进步)
3
4w/月! 外派马来西亚工作😱 昨天有一个面试,对方自称马来西亚公司: 3mixtech。做了一套90分钟的外企笔试题,之后简单面试了10分钟,其中问了DDD和TDD。当时还想外企开发理念这么先进,都实践上TDD了。半小时后告诉我过了,薪资4w/月,996,要外派马来西亚工作。让我申请旅游护照,护照下来了他们帮我订机票,让我先用旅游护照出国,说公司后续会帮我申请工作签证,我再回国取工作签证再去马来西亚办公。 给我激动的,已经开始和朋友讨论起马来西亚能取几个老婆了,但也隐隐觉得可能是诈骗。冷静之后开始了解这叫公司,发展在互联网上能查到的信息很少。在抖音有人搜过 “马来西亚it公司3mixtech” 这样的关键词,但是没有对应结果。招聘软件——猎聘上的公司地址显示西安,但是 IP 归属却是广东。一家马来西亚的公司,官网居然可以直接可以访问,而且域名对应IP归属居然是陕西西安!,种种迹象都透露着可疑的气息。 第二天我问HR能不能线下见面,她前一天还说自己在西安,结果第二天说自己在深圳,西安这边是合作公司,不是它们的员工,不方便实地考察。这时候我已经基本确定对方是骗子,然后去了招聘软件上的公司地址,不出意料没有找到她所谓的合作公司。 果然天上不会掉馅饼,遇到的馅饼十有八九都是陷阱。现在想想骗子真的太可恶了,本来行情不好找工作就不容易,骗子还出来浪费求职者的时间和精力。如果没有擦亮眼睛,真的信了骗子,可能就被骗到国外噶腰子了。 最后也借着我的经历,提醒找工作程序员们:遇到自称外企高薪招聘,要外派国外还直接给订机票的一定要警惕,小心被骗去缅北嘎腰子啊! #求职诈骗 #3mixtech
6
最近面试心态崩不住了 分享一最近找工作的情况: 1.心态崩了,看不进去东西 2.现在的面试除了最近一家难度适中,其余几家难度两次分化,简单的20分钟结束,难的一小时起步,一场面试写两道代码题 3.投不动简历了,打算再改一遍简历开始往杭州、成都投 4.笔试能力恢复到校招90%,八股文熟悉程度恢复到校招80%,各种套路问题比校招答的还溜,面试沟通比校招好不少,毕竟工作过 5.那些校招要手撕代码的,社招也要;校招不用的,社招也不用 6.目前打算:gap期控制在3个月以内,至少休息一个月,因为租房的缘故,要在9月底结束找工作 7.打算做点其他的,比如考摩托车驾照、出去玩、学新技术。
8
不用上班的第17天: 一、健康与生活 1.起的比较早,9.30之前起床 2.今天10点吃了早点 二、学习 1.看了一些 操作系统的面试题 2.看了一些 计算机网络的面试题 3.刷了3题 三、找工作 1.字节面试 2.投了一些西安比较期望的公司 3.今天找工作有点失落 四、TODO 今天很浮躁,需要做一些限制和调整 #每日打卡#
1
下载 APP