Score
0
Watch 22 Star 84 Fork 21

gogym / gettyJavaApache-2.0

Join us
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
一个完全基于java 实现的,长得有点像netty的高性能aio网络框架 spread retract

Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

getty

一个完全基于java 实现的aio框架。

简介

1、getty是完全基于java nio封装的高性能网络框架。

2、getty可在项目中使用,也可以用于帮助你更好的学习java aio

3、getty完全开源,基于 Apache License 2.0 开源协议。

4、getty的目的是为了降低对java socket nio的使用成本,帮助提高工作效率。

5、欢迎大家提供建议或者提交代码分支帮助getty更好的完善提高,如果觉得getty对你有帮助,希望给一个start鼓励一下

getty名称的由来

取名getty主要是作者过去使用netty比较多,对netty表示尊敬,以及getty本身借鉴了netty的设计思想。

然后作者本人姓氏的拼音首字符是“G”,因而取名getty。

说说写这个框架的原因:

1、作者本人是一名码农,平时比较喜欢研究代码,特别是网络通讯方面。

2、JDK1.7升级了NIO类库,升级后的NIO类库被称为NIO 2.0。正式提供了异步文件I/O操作,同时提供了与UNIX网络编程事件驱动I/O对应的AIO。AIO的发布使得实现一套网络通讯框架变得相对简单。

3、本人对netty比较喜欢,无论是其性能还是编程思想(JBOSS提供的一个java开源网络框架,可以说是java网络通讯里的一哥,极其稳定和强大的性能使得被广泛使用)

4、有了netty为何还要自己造轮子?这里有两个原因,其一是本人就喜欢造轮子,这是病,改不了。其二,netty经过多年的发展,其生态体系已经比较庞大,导致其代码比较臃肿,再者其高深的设计哲学我等凡夫俗子很难悟其精髓。因而索性造一个。

5、netty毕竟是老外的东西。并且国内也有许多优秀的开源框架,例如t-io、smark-socket也是非常优秀的网络框架。想想,为何不能直接搞一个呢,于是抽业余时间写了getty。

getty的特点:

1、完全基于java nio2封装,整体代码代码结构很轻量,也非常简单易用。

2、借鉴了netty和其他框架的部分优秀设计思想,如责任链、内存池化、零拷贝等优秀的设计模式。拥有媲美netty的高效性能(有自卖自夸嫌疑 :joy: )。

3、提供了常用的多个插件(String处理器,protobuf消息处理器,心跳超时处理器、ip过滤等)满足大部分开发场景。

4、getty可直接在安卓环境中使用(api 26+ 或 android 8.0+)

5、getty同时提供了TCP和UDP的支持,并且使用方式几乎一致,大大提高了易用性。

5、handler处理器支持使用过程中的热拔插设计,各处理器可以灵活组合,。

6、框架拥有非常好的拓展性,处理器拓展非常简单,大大降低了开发成本

7、高效的性能和靠谱的稳定性,在使用过程中得到了很好的验证

8、与netty结合使用。使用过程与netty非常类似,只要有netty是使用经验,使用getty几乎不需要额外学习。

简单使用

Maven

在项目的pom.xml的dependencies中加入以下内容:

        <dependency>
            <groupId>com.gettyio</groupId>
            <artifactId>getty-core</artifactId>
            <version>1.2.0</version>
        </dependency>

Gradle

compile group: 'com.gettyio', name: 'getty-core', version: '1.2.0'

非Maven项目

可直接到中央仓库下载jar包导入到工程中

链接:https://mvnrepository.com/artifact/com.gettyio/getty-core 点击跳转到中央仓库

更多详情与文档

更多详情,请点击 wiki文档跳转到wiki

提供bug反馈或建议

create by

gogym

email:189155278@qq.com

getty交流群1 :708758323

Comments ( 12 )

Sign in for post a comment

Java
1
https://gitee.com/kokjuis/getty.git
git@gitee.com:kokjuis/getty.git
kokjuis
getty
getty
master

Help Search