Orange

基于 OpenResty 的 API 网关
授权协议 MIT
开发语言 JavaScript HTML/CSS Lua
所属分类 管理和监控、 DevOps/运维工具
软件类型 开源软件
地区 国产
投 递 者 欧阳永宁
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Orange是一个基于OpenResty的API Gateway,提供API及自定义规则的监控和管理,如访问统计、流量切分、API重定向、API鉴权、WEB防火墙等功能。Orange可用来替代前置机中广泛使用的Nginx/OpenResty, 在应用服务上无痛前置一个功能丰富的网关系统。它有以下特性:

  • 动态更新Nginx/OpenResty配置而无需重启或reload

  • 通过MySQL存储来简单支持集群部署

  • 支持多种条件匹配和变量提取

  • 支持通过自定义插件方式扩展功能

  • 内置多个通用插件

    • 全局状态统计

    • 自定义监控

    • URL重写

    • URI重定向

    • 访问限速

    • Key based rate limiting

    • HTTP Basic Auth

    • HTTP Key Auth

    • Signature Auth

    • 简单防火墙WAF

    • 代理、ABTesting、分流

    • Shared Dict存取接口

  • 提供Dashboard用于管理内置插件

  • 开放API: 所有插件均开放API供第三方使用, 通过这些API可简单灵活得配置插件、查看运行状态、统计数据等

  • 架构简单,依赖少,许可协议宽松,适合直接二次开发或改造

GitHub 地址:https://github.com/sumory/orange

 相关资料
  • 基于 OpenResty 安装 Luarocks 基于 OpenResty 来安装 其实意在基于 OpenResty 自带的 Luajit 来安装 Luarocks, Luarocks 安装时需要指定 lua 目录和 lua 的 include 目录,而 OpenResty 自身带有的 Luajit 就包含所需的 Lua 解释器和头文件。 只不过 Luarocks 安装需要的是 Lua 而不是 L

  • 经过多年大型企业中台化改造项目的积累,我们逐步完善并沉淀出一套行之有效的设计理念。基于先代码后 SQL 的原则,通过统一服务内与服务间的数据组装接口,使得我们的基础架构可以快速有效的应对微服务系统的不断拆分与再合并。在此基础之上,通过组合完整的主流技术栈,我们开发出了简单易用的中台化代码生成器。开发者可根据实际需求创建业务微服务,配置服务内与服务间的数据模型关系、字典表和静态字典数据,便可一键生成

  • 这个插件是一个 jQuery 扩展,能够检查 javascript 对象,并使用 javascript 对象来填充 html 模板。这允许轻松地组成和调整 html 片段,并保持数据与显示代码分离,直到它真正需要被渲染。在所有的 IE 和 Firefox 平台上工作。 支持 html 模板的 ajax 加载,模板命名,随时检索和设置模板。核心工具可以作为 jQuery 方法或函数使用。 这个扩展是

  • Orange Leap (前身是 MPowerOpen) 是第一个全功能的开源的组织关系管理系统,适用于任意规模的非盈利组织使用。

  • 问题内容: 我正在使用的库使用回调对象发出一系列对象。 使用某些调用添加回调,并使用非阻塞方法调用启动该过程。 创建将发射这些对象的的最佳方法是什么? 如果阻止了该怎么办? 问题答案: 我认为您需要这样的东西(scala中给出的示例) 至于阻塞/非阻塞:通常,基于回调的体系结构将回调订阅与进程启动分开。在这种情况下,您可以完全独立于进程的时间创建任意数量的。另外,是否分叉的决定完全取决于您。您的体

  • 我尝试基于Akka创建一些使用CQRS的微服务。所以我的微服务有Httpendpoint的写端(向集群发送命令)和读端(从数据库读取投影),但这不是主要问题。由于许多微服务,问题出现了为客户端收集复杂的API。我找到了答案:API网关模式。但我还有下一个问题:如何实现它? > < li> 我可以创建单独的项目,该项目将实现API网关模式(在简单的情况下,它是一个反向代理)。完整堆栈将: 赞成的意见