getty 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
getty 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
getty 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !

软件简介

getty 是一个网络通讯框架。

getty 的特点:

1、完全基于java aio,整个工程只依赖 slf4j(一个日志的门面框架),对工程几乎没有入侵性。

2、借鉴了netty和其他框架的部分优秀设计思想,如责任链、内存池化、零拷贝等优秀的设计模式。

3、简洁的代码,清晰的注释,以及提供了直接可用的多个插件,只要用过netty,那么学习成本基本为零。

4、可直接在安卓上使用,服务与客户端使用几乎一致(api 26+或android 8.0+)

getty 的性能和稳定性:

硬件条件:cpu:i7-7700 | 内存:16G | 网络:局域网 | 操作系统:win10家庭版 | jdk 8

经过本人简单的测试,整体的性能和稳定性还是不错的:

1、单连接发送一百万条文本消息耗时277毫秒,这个性能总体上还过得去。

2、开启了SSL以后发送一百万条文本消息大概耗时3.8秒,这个性能也算乐观,因为毕竟SSL本身对消息的加密和解密是非常消耗性能的。

3、同时开启10条连接,每条连接发送一百万条文本消息,每条连接平均耗时是比较均衡的,平均三百多毫秒。性能非常可观

4、服务器启动时的内存消耗,启动时内存消耗非常小,占用还不到40m

5、连续发送一百万条消息时的内存消耗,大概消耗160m左右,而且内存回收也非常迅速

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (2)

加载中
和这个是一家吗? https://github.com/AlexStocks/getty
2020/02/19 00:07
回复
举报
应该不是,一个基于go一个基于java,不一样
2020/12/11 09:30
回复
举报
更多评论
发表于软件架构专区
2020/06/11 10:45

getty 1.4.x 版本更新发布,添加 mqtt 编解码器支持

getty 一个完全基于java 实现的高性能网络框架。 getty的主要特点: 1、完全基于java nio,基于nio1以及nio2(aio)做了实现,整体代码代码结构很轻量,也非常简单易用。 2、借鉴了netty部分优秀设计思想,如责任链、内存池化、零拷贝等优秀的设计模式。 3、getty提供了常用的插件(String编解码器,protobuf编解码器器,心跳超时处理器、ip过滤,websocket、mqtt插件等)满足大部分开发场景。 4、getty可直接在安卓环境中使用(兼...

2
11
发表于AI & 大数据专区
2020/03/30 08:41

getty 1.3 版本发布,兼容 JDK1.7、Android 5.0 以上版本

本次更新 添加对java nio1的支持。 部分网友表示希望兼容更低jdk版本,特别是Android 5.0以上版本的支持(Getty 1.3以下版本使用了部分jdk8的特征,在安卓8.0以下不支持)。本次更新主要是对在JDK1.8以下环境以及Android8.0 以下环境下使用做了兼容。 优化了部分代码,提高了稳定性。 getty 一个完全基于java 实现的高性能网络框架。 简介 1、getty是完全基于java nio封装的高性能网络框架。 2、getty可在项目中使用,也可以用于...

14
7
发表于软件架构专区
2020/02/18 13:45

虽然疫情原因无法出门,还是更新一波,getty 1.2.1 版本更新

疫情原因在家,还是用心优化一个版本。祝大家身体健康,中国加油,武汉加油。 getty一个完全基于java 实现的,长得有点像netty的高性能aio网络框架 getty的特点: 1、完全基于java nio2封装,整体代码代码结构很轻量,也非常简单易用。 2、借鉴了netty和其他框架的部分优秀设计思想,如责任链、内存池化、零拷贝等优秀的设计模式。拥有媲美netty的高效性能(有自卖自夸嫌疑 )。 3、提供了常用的多个插件(String处理器,proto...

2
11
发表于软件架构专区
2020/01/03 12:00

getty 1.2.0 发布,添加websocket的支持

一个完全基于java 实现的,长得有点像netty的aio网络框架 getty的特点: 1、完全基于java nio2封装,整体代码代码结构很轻量,也非常简单易用。 2、借鉴了netty和其他框架的部分优秀设计思想,如责任链、内存池化、零拷贝等优秀的设计模式。拥有媲美netty的高效性能(黄婆卖瓜 )。 3、提供了常用的多个插件(String处理器,protobuf消息处理器,心跳超时处理器、ip过滤等)满足大部分开发场景。 4、getty可直接在安卓环境中使用...

1
12
发表于服务端专区
2019/12/18 16:35

getty 又双叒叕更新啦,一个长得有点像netty的网络框架

getty 又双叒叕更新啦!!! 本次更新主要是添加了UDP的支持。。。 getty是基于java nio(俗称nio1)封装了UDP,借助getty本身的架构设计,getty udp的性能表现也非常不错 基于getty良好的设计模式,getty udp的使用方式与tcp差别不大。 唯一的区别就是需要指定socketChannel为UDP。默认不指定是TCP 需要指定UDP的消息编解码器 //对于UDP而言,只有DatagramPacketEncoder、DatagramPacketDecoder两个处理器是有效的 //原...

15
17
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2019/06/26 13:45

mingetty - 控制台最小的 getty

总览 SYNOPSIS mingetty [--noclear] [--nonewline] [--noissue] [--nohangup] [--nohostname] [--long-hostname] [--loginprog=/bin/login] [--nice=10] [--delay=5] [--chdir=/home] [--chroot=/chroot] [--autologin username] tty 描述 DESCRIPTION mingetty 是一个用于虚拟终端的最小的 getty。不像 agetty(8) , mingetty 不适于串行线。我建议使用 mgetty(8) 来替代。 选项 OPTIONS --noclear 在提示输入用户名之前不进行...

0
1
2020/12/12 13:51

基于 getty 的分布式事务框架 seata-golang 通信模型详解

# 基于 getty 的 seata-golang 通信模型详解 作者 | 刘晓敏 于雨 ## 一、简介 Java 的世界里,大家广泛使用的一个高性能网络通信框架 netty,很多 RPC 框架都是基于 netty 来实现的。在 golang 的世界里,[getty](https://github.com/AlexStocks/getty) 也是一个类似 netty 的高性能网络通信库。getty 最初由 dubbogo 项目负责人于雨开发,作为底层通信库在 [dubbo-go](https://github.com/apache/dubbo-go) 中使用。随着 dubb...

0
3
发表了博客
2011/10/29 10:24

linux 0号进程 1号进程 区别(转)

系统允许一个进程创建新进程,新进程即为子进程,子进程还可以创建新的子进程,形成进程树结构模型。整个linux系统的所有进程也是一个树形结构。树根 是系统自动构造的,即在内核态下执行的0号进程,它是所有进程的祖先。由0号进程创建1号进程(内核态),1号负责执行内核的部分初始化工作及进行系统配 置,并创建若干个用于高速缓存和虚拟主存管理的内核线程。随后,1号进程调用execve()运行可执行程序init,并演变成用户态1...

0
3
2020/12/14 11:04

分布式事务框架 seata-golang 通信模型详解

简介: Java 的世界里,大家广泛使用的一个高性能网络通信框架 netty,很多 RPC 框架都是基于 netty 来实现的。在 golang 的世界里,getty 也是一个类似 netty 的高性能网络通信库。getty 最初由 dubbogo 项目负责人于雨开发,作为底层通信库在 dubbo-go 中使用。随着 dubbo-go 捐献给 apache 基金会,在社区小伙伴的共同努力下,getty 也最终进入到 apache 这个大家庭,并改名 dubbo-getty 。 作者 | 刘晓敏 于雨 一、简介 Ja...

0
0
发表了博客
2018/08/20 11:48

定制Linux

tar -xzvf linux-major-minor-VERSION.tar.gz -C /usr/src cd /usr/src ln -sv linux-major-minor-VERSION linux make allnoconfig make menuconfig 在此处配置的信息: 1. 64-bit kernel 2. Enable loadable module support --> Module unloading 3. Processor type and features --> 默认即可 4. Bus options --> PCI support 5. Executable file formats --> Kernel support for ELF binaries, Write ELF core dumps with p...

0
0
发表了博客
2015/03/19 09:22

测试

# ttyS0 - getty # # This service maintains a getty on ttyS0 from the point the system is # started until it is shut down again. start on stopped rc or RUNLEVEL=[2345] stop on runlevel [!2345] respawn exec /sbin/getty -L 115200 s3c2410_serial0 vt102...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
2 评论
23 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部