• 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/apinto

    Apinto 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 项目中,和我们一起为开源事业贡献自己的力量。

    联系我们


  • 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 项目中,和我们一起为开源事业贡献自己的力量。

    联系我们


  • 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 项目中,和我们一起为开源事业贡献自己的力量。

    联系我们


  • Apinto企业版本试用用户招募

    Apinto企业版即将在12月初发布。

    Apinto企业版囊括了Apinto开源网关的所有功能,并在此基础上,提供了更加友好的用户体验、更加强大的管理功能,更好地满足企业安全需求。

    为了答谢社区用户对Apinto开源网关的长期支持,现从社区中招募Apinto企业版试用用户,名额有限,先到先得,报名立享优惠。

    填写完试用申请后,将会有专人联系您,提供试用部署及疑难解答服务。感谢各位的支持。

    联系我们


  • Apinto v0.8.5版本发布

    v0.8版本变更

    路由规则格式修改

    改动前:一个路由支持配置多组路由规则

    旧版路由规则配置(此处使用Apinto Dashboard示例)如下图所示:

    改动后:一个路由仅支持配置一组路由规则

    新版本路由规则配置(此处使用Apinto Dashboard示例)如下图所示:

    多协议底层支持

    通过对Eosc底层改动,Apinto支持端口协议复用,为后续Apinto支持gRPC、WebSocket、TCP等多种通信协议奠定底层基础。

    新增模块:插件模版

    该模块用于统一配置插件,生成可复用的插件模版。多个路由可以绑定同一个插件模版,以减少重复配置操作。

    插件模版配置示例如下:

    路由绑定插件示例如下

    新增模块:应用

    应用是对请求来源的抽象概念,其可以是一个客户端App,也可以是一个后端服务,还可以是Web App......

    请求达到网关时,会先进行鉴权检验,鉴权通过后,将匹配唯一应用,并进行应用设置的规定行为,包括但不限于流量限制、数据修饰(额外参数、格式转换等)、访问控制等。

    新增插件:应用(eolinker.com:apinto:plugin_app)

    该插件用于控制应用模块的生效范围,若需要使应用模块生效,则需要在全局插件中新增该插件,并设置插件生效范围(enableglobal )。

    删除模块:鉴权

    鉴权模块在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 项目中,和我们一起为开源事业贡献自己的力量。

    联系我们


  • 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
    * SOAP
    HTTP
    HTTPS
    Restful
    Webservice
    * SOAP
    HTTP
    HTTPS
    Restful
    Webservice
    SOAP
    gRPC(后续接入)
    TCP(后续接入)
    WebSocket(后续接入)
    SSL证书 可为网关配置多个ssl证书
    访问域名 可为网关配置多个域名进行访问
    数据处理 请求内容与返回内容支持JSON与XML互转
    多租户 多个访问策略
    服务编排 把多个API封装成一个API提供服务,对返回数据做重新组装
    服务发现 支持对接Eureka、Nacos、Consul、Kubernetes等多个服务注册中心 Eureka
    Nacos
    Consul
    Kubernetes
    Eureka
    Nacos
    Consul
    Kubernetes
    Eureka
    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 的支持

    一、端口占用失败,程序未提示

    • 原因:Apinto在cli命令执行时未指定日志输出位置,导致日志输出失败。
    • 解决方案:新增初始化cli日志方法,并在程序启动时进行调用

    二、快速部署教程访问失败

    • 原因:apinto-dashboard教程上线,Readme文档中相关的链接未及时修改
    • 解决方案:修改Readme文档中的教程链接

    三、支持配置导入导出

    • 解决方案:官方提供导入工具apinto-import ,支持网关配置通过文件方式导入导出,具体可访问仓库https://github.com/eolinker/apinto-import

    四、安装包下载链接固定

    • 解决方案:不处理。文件的版本名可以有效减少信息差异,让使用者知道当前下载的版本号、适用的系统和架构。我们了解了其他相关项目,如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 项目中,和我们一起为开源事业贡献自己的力量。

    联系我们