-
Apinto Dashboard V3.0发布-控制台插件化,重新定义操作模式
经过将近两个月的开发迭代,Apinto 控制台迎来一次重大更新。本次发布的 v3.0 版本控制台,重新定义了控制台的操作模式,控制台的所有模块,均实现了插件化,使用者可以根据业务需要,安装/卸载、开启/停用控制台插件。
未来我们计划引入插件市场,个人开发者、企业可将自己开发的插件上传,使用者可以到插件市场中,挑选符合自己业务需求的插件进行安装下载,即插即用。🚀
新特性
在本次的更新,我们优化了 Dashboard 的整体 UI,新版本将给大家带来更好的操作体验!
另外,我们实现了控制台的插件化管理,后续我们会持续上架更多的插件丰富网关的功能。
此次更新同步推出日志输出插件、Redis 配置插件、InfluxDB 配置插件。
1)支持简易用户操作,包括登录、注销、修改密码等操作设置;
2)单用户登录控制,同一账号同一时间只能在一处登录;
3)初始账号:admin ,初始密码:12345678 ,部署完成后,建议修改密码。
写在最后
Apinto 网关开箱即用,整个过程仅用 2 小时就能快速入门,喜欢或感兴趣的小伙伴们赶紧去下载安装体验吧!
希望大家多多支持 Apinto 团队,以便我们提供更好的开源体验,记得 Star 和 Fork 一下喔~
-
Apinto Dashboard v2.0发布:可视化控制台让配置更轻松!
大家好, Eolink 旗下开源网关 Apinto 本次带来了 Apinto Dashboad V2.0 的版本发布。
Dashboad 需要与 Apinto 主版本一起使用,目前 Dashboad 可兼容 Apinto 0.12.4 以上版本。
👉Apinto : https://github.com/eolinker/apintoApinto Dashboad 简介
Apinto API 网关具有优异的性能表现、良好的扩展性以及极低的使用和维护成本。
Apinto Dashboard 作为配套可视化控制台项目,相比于 Apinto Dashboard v1.x 版本,它提供了优秀的用户体验,更加友好的交互体验,更加简洁的配置流程,操作简单,上手难度极低,更好地帮助用户和企业简单、快速、低成本、低风险地实现:系统微服务化、系统集成、向合作伙伴、开发者开放功能和数据。
本次发布的控制台包括集群管理、应用程序管理、精细服务治理和企业插件等四大亮点功能,可以满足企业对 API 网关更高级场景化需求的要求。
功能特性
2.1 集群管理
Apinto 开源网关不同于其他开源网关,提供网关集群统一管理,一次性配置业务可发布上线到相应的集群,解决多集群维护多套业务配置的问题,极大提高运维效率,降低繁杂配置事故率。
2.2 应用管理
Apinto 网关提出应用管理概念,统一管理应用及其生命周期。应用作为业务通讯的发起者角色,始终贯穿着整个调用链,Apinto 网关对应用请求的流量进行鉴权认证,并对其所请求的流量进行服务治理,同时还对其监控告警,统计应用调用情况。
2.3 精细化服务治理
Apinto 提出精细化流量管理方案,即所有调用方的请求流量都经过网关,通过对应用、API、上游服务、请求方式、IP、请求路径、应用自定义标签等组合条件筛选请求流量,执行限量、访问、熔断、灰度、缓存等策略规则,帮助企业快速、灵活地制定策略,以满足不同业务场景的需求,并全方位治理好服务。
2.4 企业插件
Apinto 网关即将推出企业插件模块,并且陆续提供业务型企业插件如:用户角色权限、监控告警、日志、API文档、开放平台、安全防护、数据分析、调用链、Mock、在线调测、安全测试、国密、多协议等。此外,Apinto 还支持用户自定义企业插件,支持独立部署。
Apinto 迭代计划
如果您是个人开发者,可基于 API 网关相关的业务场景开发有价值的网关插件或企业级插件,并且愿意分享给 Apinto,您将会成为 Apinto 的杰出贡献者或得到一定的收益。
如果您是企业,可基于 Apinto 网关开发企业级插件,成为 Apinto 的合作伙伴。Apinto 网关开箱即用,喜欢或感兴趣的小伙伴们赶紧去下载安装体验吧!希望大家多多支持 Apinto 团队,以便我们提供更好的开源体验,记得 Star 和 Fork 一下喔
👉开源地址:https://github.com/eolinker/apinto
-
Apinto v0.12.1发布-新增两个插件,丰富路由特性
新特性
1、新增流量镜像(eolinker.com:apinto:proxy_mirror)插件
流量镜像(eolinker.com:apinto:proxy_mirror) 插件提供了镜像客户端请求的能力。流量镜像是将线上真实流量拷贝到镜像服务中,以便在不影响线上服务的情况下,对线上流量或请求内容进行具体的分析。
使用 流量镜像插件 前,请求调用链如下图:
使用 流量镜像插件 后,请求调用链如下图:
2、新增http mocking(eolinker.com:apinto:http_mocking)插件
API Mock是一种技术,它允许程序员在不依赖后端数据的情况下,模拟web服务器端API的响应。通常使用API Mock来测试前端应用程序,而无需等待后端程序员构建完成。API Mock可以模拟任何HTTP请求方法,并进行响应测试。
Apinto提供 HTTP Mocking 插件来模拟Api Mock请求响应数据,无需等到后端接口上线,通过模拟数据进行前端应用程序调试。
3、丰富http路由特性,支持静态资源路由
在 Apinto v0.12 版本之前,若客户端想获取静态资源,仍然采取代理转发到上游服务获取资源,耗时费力,且增加上游服务压力,不可取。为了解决这一痛点,Apinto v0.12 版本新增了静态资源路由,可以设置接口的默认返回,满足客户端需求,这包括静态HTML页面、静态的接口数据(Json、XML等格式数据)、页面重定向等等。
下面,我们通过Apinto Dashboard 配置了一个重定向到Apinto官网的静态资源路由示例:
写在最后
目前Apinto 及其周边项目已经开源,我们希望通过Apinto强大的插件拓展能力,用户可像乐高积木一样根据需要自行拓展Apinto的插件,以满足不同的业务市场需求。
Apinto 目前属于萌芽阶段,我们希望集合广大开源爱好者的力量,与大家一起讨论方案,接受大家的批评指正,一起将产品打磨完善,做下一个端与端间的Traffic Middleware。
这是一个开放和积极的项目,我们诚挚地邀请您一起参与到我们的项目开源工作中。每一个贡献都是有意义的,包括但不限于:-
查找bugs,取得性能上的提升
-
帮助完善文档,提供用户操作体验
-
提交你们的issue,让我们知道您的奇思妙想
-
参与自定义插件的开发,丰富apinto的能力
-
...
欢迎各位开源爱好者参与到Apinto 项目中,和我们一起为开源事业贡献自己的力量。
联系我们
-
Github 链接:https://github.com/eolinker/apinto
-
QQ群号:725853895
-
-
Apinto v0.11.1发布-支持gRPC、Dubbo2协议的转换
新特性
协议转换功能上线,支持HTTP与gRPC、HTTP与Dubbo2之间的协议互转
Apinto v0.10.0已经支持了多协议的基本功能,进行了多协议支持的一次验证。
在不久前,我们通过社区调研了解到,大部分使用者更期望能够进行协议的互转,尤其是 HTTP 转 gRPC 。我们可以通过Apinto对外开放HTTP接口,使用 HTTP转gRPC插件 进行内外部请求的转换,以此来满足开放企业内部gRPC接口的需求。
在本次版本,我们新上线了四个插件,用于协议之间的互转,如下:
-
eolinker.com:apinto:grpc_to_http :将客户端 gRPC请求 转换成 HTTP请求 转发给上游服务,并将上游服务的 HTTP响应 转换成 gRPC响应 转发给客户端
-
eolinker.com:apinto:http_to_grpc :将客户端 HTTP请求 转换成 gRPC请求 转发给上游服务,并将上游服务的 gRPC响应 转换成 HTTP响应 转发给客户端
-
eolinker.com:apinto:dubbo2_to_http :将客户端 dubbo2请求 转换成 HTTP请求 转发给上游服务,并将上游服务的 HTTP响应 转换成 dubbo2响应 转发给客户端
-
eolinker.com:apinto:http_to_dubbo2 :将客户端 HTTP请求 转换成 dubbo2请求 转发给上游服务,并将上游服务的 dubbo2响应 转换成 HTTP响应 转发给客户端
新增 编码转换器(transcode) 模块
该模块主要用于对 客户端请求/服务端响应 内容进行编码转码操作,如:protobuf编码转换器。
在实现 Grpc协议和Http协议 的协议转换功能时,需要用到protobuf编码转换器,转换关系如下图所示
未来我们将支持更多的编码转换器,满足更多使用场景。
接入Prometheus
1、新增了Prometheus输出器:
能够配置多个自定义的prometheus指标来收集请求的信息。
具备以下特性:
-
包含请求总数,请求耗时等九种收集类型
-
可自定义指标的收集数据的类型
-
可自定义指标的标签
2、新增Prometheus插件
通过给路由配置该插件,当请求到达网关时,能够将请求的信息和配置的指标列表发送给指定的prometheus输出器,由各个prometheus输出器内同名的指标处理并采集请求内的信息。
Apinto-Dashboard变更
此外,Apinto-Dashboard v1.2.0-beta 同步更新,该版本新增文件上传功能。
写在最后
目前Apinto 及其周边项目已经开源,我们希望通过Apinto强大的插件拓展能力,用户可像乐高积木一样根据需要自行拓展Apinto的插件,以满足不同的业务市场需求。
Apinto 目前属于萌芽阶段,我们希望集合广大开源爱好者的力量,与大家一起讨论方案,接受大家的批评指正,一起将产品打磨完善,做下一个端与端间的Traffic Middleware。
这是一个开放和积极的项目,我们诚挚地邀请您一起参与到我们的项目开源工作中。每一个贡献都是有意义的,包括但不限于:-
查找bugs,取得性能上的提升
-
帮助完善文档,提供用户操作体验
-
提交你们的issue,让我们知道您的奇思妙想
-
参与自定义插件的开发,丰富apinto的能力
-
...
欢迎各位开源爱好者参与到Apinto 项目中,和我们一起为开源事业贡献自己的力量。
联系我们
-
Github 链接:https://github.com/eolinker/apinto
-
QQ群号:725853895
-
-
Apinto V0.9版本发布
新特性
1、支持websocket协议转发,在路由中启用即可生效
2、Apinto访问地址标准化,引入广播地址,以支持docker容器、kubernetes pod间通信。
旧配置listen: - 8099 # 服务端口 ssl: # 服务端口的ssl配置 listen: - port: 8099 ## 端口 certificate: ## 证书配置 - cert: "" key: "" admin: # 管理端口配置 scheme: http listen: 9400 ip: 0.0.0.0 certificate: key: "" cert: "" certificate: # 证书默认目录 dir: /etc/apinto/cert
新版本配置(使用旧配置时会自动充血并初始化新配置)
version: 2 # 配置版本,新版本为2,非 2 当做旧版本 certificate: # 证书根目录 dir: /etc/apinto/cert client: advertise_urls: # open api 服务的广播地址 - http://192.168.3.110:9400 - http://192.168.3.116:9400 - http://10.8.0.15:9400 certificate: # 对 https 的证书配置 - cert: key: listen_urls: - http://0.0.0.0:9400 # open api 服务的监听地址 gateway: # 网关服务配置 advertise_urls: # 广播地址 - tcp://192.168.3.110:8081 - tls://192.168.3.116:8081 - tcp://10.8.0.15:8081 listen_urls: # 监听地址 - tcp://0.0.0.0:8081 - tls://192.168.3.116:8081 peer: # 节点通信配置 advertise_urls: - http://192.168.3.110:9401 - http://192.168.3.116:9401 - http://10.8.0.15:9401 certificate: - cert: key: listen_urls: # 监听地址 - http://0.0.0.0:94001
3、新增监控插件,并支持将请求记录输出到InfluxDB。
4、修改网关连接上游服务默认最大连接数为10240,默认最大连接等待时间为60s,客户端请求体最大为100M
5、输出器驱动新增作用范围配置(scope),默认支持scope:access_log、monitor。
当access log插件output配置为空列表时,scope为access_log的输出器会默认生效。如下:Bug修复
1、修复匿名应用删除后仍生效的问题
2、修复路由禁用后,缺少提示的问题
写在最后
目前Apinto 及其周边项目已经开源,我们希望通过Apinto强大的插件拓展能力,用户可像乐高积木一样根据需要自行拓展Apinto的插件,以满足不同的业务市场需求。
Apinto 目前属于萌芽阶段,我们希望集合广大开源爱好者的力量,与大家一起讨论方案,接受大家的批评指正,一起将产品打磨完善,做下一个端与端间的Traffic Middleware。
这是一个开放和积极的项目,我们诚挚地邀请您一起参与到我们的项目开源工作中。每一个贡献都是有意义的,包括但不限于:-
查找bugs,取得性能上的提升
-
帮助完善文档,提供用户操作体验
-
提交你们的issue,让我们知道您的奇思妙想
-
参与自定义插件的开发,丰富apinto的能力
-
...
欢迎各位开源爱好者参与到Apinto 项目中,和我们一起为开源事业贡献自己的力量。
联系我们
-
Github 链接:https://github.com/eolinker/apinto
-
QQ群号:725853895
-
-
Apinto企业版本试用用户招募
Apinto企业版即将在12月初发布。
Apinto企业版囊括了Apinto开源网关的所有功能,并在此基础上,提供了更加友好的用户体验、更加强大的管理功能,更好地满足企业安全需求。
为了答谢社区用户对Apinto开源网关的长期支持,现从社区中招募Apinto企业版试用用户,名额有限,先到先得,报名立享优惠。
填写完试用申请后,将会有专人联系您,提供试用部署及疑难解答服务。感谢各位的支持。
联系我们
-
Github 链接:https://github.com/eolinker/apinto
-
QQ群号:725853895
-
Apinto v0.8.5版本发布
v0.8版本变更
路由规则格式修改
改动前:一个路由支持配置多组路由规则
旧版路由规则配置(此处使用Apinto Dashboard示例)如下图所示:
改动后:一个路由仅支持配置一组路由规则
新版本路由规则配置(此处使用Apinto Dashboard示例)如下图所示:
多协议底层支持
通过对Eosc底层改动,Apinto支持端口协议复用,为后续Apinto支持gRPC、WebSocket、TCP等多种通信协议奠定底层基础。
新增模块:插件模版
该模块用于统一配置插件,生成可复用的插件模版。多个路由可以绑定同一个插件模版,以减少重复配置操作。
插件模版配置示例如下:
路由绑定插件示例如下
新增模块:应用
应用是对请求来源的抽象概念,其可以是一个客户端App,也可以是一个后端服务,还可以是Web App......
请求达到网关时,会先进行鉴权检验,鉴权通过后,将匹配唯一应用,并进行应用设置的规定行为,包括但不限于流量限制、数据修饰(额外参数、格式转换等)、访问控制等。
新增插件:应用(eolinker.com:apinto:plugin_app)
该插件用于控制应用模块的生效范围,若需要使应用模块生效,则需要在全局插件中新增该插件,并设置插件生效范围(enable 或 global )。
删除模块:鉴权
鉴权模块在v0.8.0中删除,鉴权相关操作将转移到应用模块中。
删除插件:鉴权(eolinker.com:apinto:auth)
鉴权插件在v0.8.0中删除,鉴权相关操作将转移到应用模块中。
新增apinto version命令
执行下列指令,即可看到apinto编译的相关信息
修复输出器部分字段获取失败的问题
字段涉及范围:
- proxy_header
- proxy_query
- 以proxyheader 为前缀的字段
- 以proxyquery 为前缀的字段
- 以header_为前缀的字段
- 以query_为前缀的字段
修复当上游为https协议时,转发失败的问题
写在最后
目前Apinto 及其周边项目已经开源,我们希望通过Apinto强大的插件拓展能力,用户可像乐高积木一样根据需要自行拓展Apinto的插件,以满足不同的业务市场需求。
Apinto 目前属于萌芽阶段,我们希望集合广大开源爱好者的力量,与大家一起讨论方案,接受大家的批评指正,一起将产品打磨完善,做下一个端与端间的Traffic Middleware。
这是一个开放和积极的项目,我们诚挚地邀请您一起参与到我们的项目开源工作中。每一个贡献都是有意义的,包括但不限于:
-
查找bugs,取得性能上的提升
-
帮助完善文档,提供用户操作体验
-
提交你们的issue,让我们知道您的奇思妙想
-
参与自定义插件的开发,丰富apinto的能力
-
...
欢迎各位开源爱好者参与到Apinto 项目中,和我们一起为开源事业贡献自己的力量。
联系我们
-
Github 链接:https://github.com/eolinker/apinto
-
QQ群号:725853895
-
Goku_lite、Goku企业版、Apinto网关版本对比
GoKu网关 提供企业版【EE】 与开源版【CE】 两个版本,满足不同阶段用户对于微服务的需求,两个版本均支持 私有云部署 。
Apinto开源版本 是 Goku 开源版【CE】的一次架构升级,经过前面几年的网关架构和客户需求的摸索,我们已经在微服务网关上面积累了大量的实践经验,现在我们抱着更加开放的心态,希望能够将过往的产品和技术经验重新整理并回馈技术社区,因此我们在今年3月开始了新的一轮重构。
版本适用范围
GoKu企业版: 适用于中大型企业,可加速企业数字化转型,是一个降低成本和提高灵活性的微服务解决方案;
Goku开源版:适用于个人或小型团队,仅支持最基本的网关功能。获取仓库请点击Goku开源版
Apinto开源版: 适用于个人或小中型团队,提供网关核心功能,拥有简易控制台。获取仓库请点击Apinto开源版
免费试用企业版,申请地址 https://www.eolink.com/apply_ams_cloud/
版本功能对比
功能 描述 Goku开源版 Goku企业版 Apinto开源版 控制台界面 全Web化配置,操作易用 √
自带可视化界面√
自带可视化界面√
可视化界面仓库水平扩展 多集群、多节点 √ √ √ 容器部署 支持通过容器(Kubernets等)动态扩展 √ √ √ 节点异地多活 节点自动切数据源 √ √ √ 动态路由 根据请求参数、请求路径进行动态路由匹配,分配流量到指定服务,支持Header、Query、Location(Location指标类似Nginx的Location)等路由指标 √ √ √ 协议 通信相关协议,如HTTP/HTTPS、Webservice等 HTTP
HTTPS
Restful
Webservice
* SOAPHTTP
HTTPS
Restful
Webservice
* SOAPHTTP
HTTPS
Restful
Webservice
SOAP
gRPC(后续接入)
TCP(后续接入)
WebSocket(后续接入)SSL证书 可为网关配置多个ssl证书 √ √ √ 访问域名 可为网关配置多个域名进行访问 √ √ √ 数据处理 请求内容与返回内容支持JSON与XML互转 多租户 多个访问策略 √ √ √ 服务编排 把多个API封装成一个API提供服务,对返回数据做重新组装 √ √ 服务发现 支持对接Eureka、Nacos、Consul、Kubernetes等多个服务注册中心 Eureka
Nacos
Consul
KubernetesEureka
Nacos
Consul
KubernetesEureka
Nacos
* Consul负载均衡 根据权重动态分配流量,减小服务器压力 √ √ √ 健康检查 转发列表自动剔除异常后端,后端正常再恢复转发 √ √ √ 用户鉴权 匿名、Basic、Apikey、OAuth2、JWT、OAuth2第三方认证、AK/SK认证等多种鉴权 匿名
Basic
* Apikey匿名
Basic
Apikey
OAuth2
JWT
OAuth2.0第三方认证
* AK/SK认证匿名
Basic
Apikey
JWT
AK/SK认证流控控制 粒度可达API级别 √ √ 熔断API 熔断单个API √ 服务降级 给某个API进行服务降级 √ 灰度发布 金丝雀发布 √ √ API监控统计 监控数据输出到控制台,提供图表(请求数、响应时间等)查看;也可对接Pormetheus、Graphite等第三方组件 √ API告警 告警粒度最细可达API级别,可发送告警邮件,也通过Webhook对接企业内部通知系统、短信API等 √ 日志分析 全面的请求日志、节点日志和控制台日志,方便排查问题和做统计分析,支持输出日志内容到 Prometheus、Graphite等第三方组件 √ √ 节点异常自启 节点异常重新拉起,并产生告警 √ Redis告警 自动监控Redis,异常则产生告警 √ 插件化 基于Golang自行开发插件 √ √ √ 用户权限 给不同的用户添加不同模块的操作权限 √ 导入导出接口文档 Eolinker √ √ 超时 API设置不同超时限制 √ √ √ 重试 为避免网络抖动的情况,API超时重新发送请求 √ √ √ 其他 OPEN API √ √ 服务支持 规划方案、在线客服、产品培训 √ GoKu网关开源版支持插件:
IP黑白名单、Basic鉴权、Apikey鉴权、参数映射、额外参数
GoKu网关企业版支持插件:
流量控制、Basic鉴权、Apikey鉴权、OAuth2.0鉴权、OAuth2.0第三方认证、JWT鉴权、AK/SK认证、IP黑白名单、跨域、防重放攻击、返回头部、默认返回、参数映射、额外参数、熔断、服务降级、请求大小限制、数据缓存、请求xml/json转换、响应xml/json转换
Apinto开源网关支持插件:
请求重写、响应重写、Basic鉴权、Apikey鉴权、JWT鉴权、AK/SK认证、额外参数、参数映射、gzip压缩、流量控制、ip黑白名单、跨域、熔断、access日志
-
如何Debug Apinto微服务网关
前提
操作系统:linux/mac
Golang版本:1.17及其以上
IDEA:Goland
Linux
1、安装最新的gops
go install github.com/google/gops@latest
2、编写启动配置
上图红框处需要特别注意,需要和图中保持一致,此处设置了环境变量APINTO_DEBUG=true,开启Apinto的Debug模式。
如果选择在命令行编译程序,则在编译需要携带-gcflags="all=-N -l"参数,如下
go build -gcflags="all=-N -l" -o apinto
此文不再说明命令行编译程序的debug方法。
3、运行程序
此处需要选择Debug的按钮4、Attach To Process
在弹出的进程列表中选择需要Debug的进程即可
注意 : Debug模式开启后,master进程名称为“apinto start”,当Debug模式关闭,master进程名称为“apinto: master”
Windows
由于Apinto 在实现restart、stop操作时,需要使用到linux系统的信号指令,Windows 上没有相关指令的支持,因此Apinto 不能直接在Windows 上编译运行。
若想在Windows 上启动,则需要在Windows 上安装Ubuntu 子系统。
安装ubuntu子系统
1、安装部署WSL2:安装WSL(一定要升级到WSL2,否则会有些不兼容的问题)
2、安装ubuntu可视化界面,具体教程请参考Ubuntu安装可视化界面
3、Debug程序,Linux Debug方法一致
MAC
与Linux Debug方法一致,若在arm架构上attach失败,无法找到对应的apinto进程,可以先将gops删除,再重新安装。
go install github.com/google/gops@latest
-
Apinto 七月归档
事件一览
一、发布Apinto 0.6.4版本
0.6.4版本修复了0.6.3版本的一系列问题,详情如下:
-
修改额外参数插件value类型
-
修复cli命令操作失败无日志输出的问题
-
修复output拓展缺少CheckSkill方法,导致apinto dashboard不能联动的问题
二、发布Apinto V0.7版本
-
升级raft算法,将kv存储替换成etcd内置的kv实现
注意:由于raft算法升级,旧配置不兼容,若之前使用的 apinto为0.6.x及更老的版本,需要使用apinto-import进行升级 -
修复文件日志驱动配置错误时,删除操作阻塞的问题
-
新增proxy_rewrite_v2插件
-
服务发现忽略scheme字段
关闭的Issue
在七月我们解决并关闭了Github 上的四个Issue,感谢 Github 用户 nonzzz 、Dot-Liu 、chen2eric 、strawcarb 的支持
一、端口占用失败,程序未提示
- Issue传送门:https://github.com/eolinker/apinto/issues/56
- 提供者:chen2eric
- 问题描述:
- 原因:Apinto在cli命令执行时未指定日志输出位置,导致日志输出失败。
- 解决方案:新增初始化cli日志方法,并在程序启动时进行调用
二、快速部署教程访问失败
- Issue传送门:https://github.com/eolinker/apinto/issues/58
- 提供者:strawcarb
- 问题描述:
- 原因:apinto-dashboard教程上线,Readme文档中相关的链接未及时修改
- 解决方案:修改Readme文档中的教程链接
三、支持配置导入导出
- Issue传送门:https://github.com/eolinker/apinto/issues/52
- 提供者:Dot-Liu
- 问题描述:
- 解决方案:官方提供导入工具apinto-import ,支持网关配置通过文件方式导入导出,具体可访问仓库https://github.com/eolinker/apinto-import
四、安装包下载链接固定
- Issue传送门:https://github.com/eolinker/apinto/issues/64
- 提供者:nonzzz
- 问题描述:
- 解决方案:不处理。文件的版本名可以有效减少信息差异,让使用者知道当前下载的版本号、适用的系统和架构。我们了解了其他相关项目,如NSQ和Nacos,他们也是这么做的。
常见问题整理
一、openApi的代码入口在哪?
- 代码目录:github.com/eolinker/eosc/process-admin
二、Apinto转发代码的入口
- 代码目录:github.com/eolinker/apinto/router/router.go. 55行
三、apinto和eosc的关系
eosc是apinto依赖的底层框架,apinto更像是一个有多个拓展组装而成的程序,eosc实现了下述特性:
-
多进程模型,使各个进程各司其职
-
cli命令实现
-
可插拔的插件框架
-
raft集群同步机制
-
定义程序的执行流程
-
端口监听与流量通信机制
-
环境变量机制
-
日志模块底层实现
-
......
四、如何开启Debug模式
Debug模式描述:
-
Apinto执行时只会输出error等级的日志,一般的使用已经满足
-
对于开发调试来说,往往需要了解程序执行各个阶段的交互信息,此时可以开启Debug模式,输出更详细的执行信息
-
由于Debug模式会输出较多日志,除了开发调试、排查程序执行失败等情况,其余时候不建议开启
-
Debug模式默认关闭
开启步骤
(1)在执行程序的服务器/系统设置环境变量
export APINTO_DEBUG=true
(2)启动程序(默认程序已停止运行)
./apinto start
关闭步骤
(1)在执行程序的服务器/系统设置环境变量
export APINTO_DEBUG=false
(2)启动程序(默认程序已停止运行)
./apinto start
写在最后
目前Apinto 及其周边项目已经开源,我们希望通过Apinto强大的插件拓展能力,用户可像乐高积木一样根据需要自行拓展Apinto的插件,以满足不同的业务市场需求。
Apinto 目前属于萌芽阶段,我们希望集合广大开源爱好者的力量,与大家一起讨论方案,接受大家的批评指正,一起将产品打磨完善,做下一个端与端间的Traffic Middleware。
这是一个开放和积极的项目,我们诚挚地邀请您一起参与到我们的项目开源工作中。每一个贡献都是有意义的,包括但不限于:
-
查找bugs,取得性能上的提升
-
帮助完善文档,提供用户操作体验
-
提交你们的issue,让我们知道您的奇思妙想
-
参与自定义插件的开发,丰富apinto的能力
-
...
欢迎各位开源爱好者参与到Apinto 项目中,和我们一起为开源事业贡献自己的力量。
联系我们
-
Github 链接:https://github.com/eolinker/apinto
-
QQ群号:725853895
-