# ones-gateway **Repository Path**: micro-project/ones-gateway ## Basic Information - **Project Name**: ones-gateway - **Description**: ones处理内部的网管,主要是将外部请求通过统一的请求映射,转换,流控,验证等操作,负载到内部的指定服务商 - **Primary Language**: Java - **License**: AFL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-11-11 - **Last Updated**: 2021-11-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ones-gateway #### 介绍 ones处理内部的网管,主要是将外部请求通过统一的请求映射,转换,流控,验证等操作,负载到内部的指定服务商 #### 软件架构 采用java进行开发,使用java中nio的网络io操作,基于netty框架实现。对外暴露http的统一请求,内部做映射,提供可配置操作映射多种协议。 1. 项目架构说明 - 模块说明:core是核心模块,支撑所有的核心操作 - 模块说明:common是共享模块 - 模块说明:plugin是插件模块,提供可用的所有插件,基于接口的扩展性 - 模块说明:protocol是协议层,将外部的http协议转换为内部的协议 - 模块说明:remote是提供的服务通信方案 - 模块说明:server是服务启动 - 模块说明:utils是工具模块 #### 说明 1. 服务的核心启动入口在gateway-server中GatewayServerStartup的类 2. 服务底层基于netty实现网络通信,采用http的协议实现,后面根据http的请求,分发到不同的协议 3. 内部采用可插拔式的设计,原声基于java的spi实现动态设计及实现 4. 调用层面可定制及配置,采用过滤链的形式实现权限,限流,安全等机制控制 5. 协议支撑层,基于spi的设计,关键字注解支撑配置文件实现 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)