Orange
来源:互联网 发布:13.3英寸笔记本知乎 编辑:程序博客网 时间:2024/04/20 06:33
Orange
Orange是一个基于OpenResty的API Gateway,提供API及自定义规则的监控和管理,如访问统计、流量切分、API重定向、WEB防火墙等功能。它有以下特性:
配置项支持文件存储和MySQL存储(0.2.0版本开始将去除文件支持)
通过MySQL存储来简单支持集群部署
支持多种条件匹配和变量提取
支持通过自定义插件方式扩展功能
默认内置六个插件
全局状态统计
自定义监控
URL重写
URI重定向
简单防火墙
代理、ABTesting、分流
提供管理界面用于管理内置插件
以restful形式完全开放API
Github: https://github.com/sumory/orange
Screenshots
安装说明
安装OpenResty1.9.7.3+
安装lor,Orange要求的lor最低版本为0.1.0
Orange使用的uuid生成器,依赖libuuid.so, centos可通过以下命令安装,其他linux发行版请自行google
yum install libuuid-devel
安装Orange
git clone https://github.com/sumory/orangecd orange#查看并根据需要修改`orange.conf`{ "plugins": [//默认的可用插件,若不需要删除即可 "stat", "monitor", "redirect", "rewrite", "waf", "divide" ], "store": "mysql", //存储方式:`mysql` "store_mysql": { //使用`mysql`存储时的配置,需要导入install/${对应版本}.sql到数据库中 "timeout": 5000, "connect_config": { "host": "127.0.0.1", "port": 3306, "database": "orange", "user": "root", "password": "", "max_packet_size": 1048576 }, "pool_config": { "max_idle_timeout": 10000, "pool_size": 3 }, "desc":"mysql configuration" }}#修改conf/nginx.conf里的一些配置,如# `resolver`,用于DNS解析# 各日志目录等# 各lua_shared_dict的大小# 端口为9999的`server`, 这个server用于Orange的管理,请确保对该端口的访问授权,如只支持内网访问#修改好orange.conf和conf/nginx.conf后,启动即可sh start.sh
访问 http://localhost:9999/orange/dashboard/
特别注意
现实中由于用户的业务系统多种多样,对于复杂应用,Orange并不是一个开箱即用的组件,需要调整一些配置才能集成到现有系统中。
Orange提供的的配置文件和示例都是最简配置,用户使用时请根据具体项目或业务需要自行调整,这些调整可能包括但不限于:
使用的各个shared dict的大小, 如ngx.shared.status
nginx.conf配置文件中各个server、location的配置及其权限控制,比如orange dashboard的server应该只对内部有权限的机器开放访问
根据不同业务而设置的不同nginx配置,如timeout、keepalive、gzip、log、connections等等
其它
Orange0.2.0版本即将发布,API已经全部开放,用户可通过默认的Dashboard管理,也可通过Restful的API进行操作。第三方SPA版的Dashboard已在开发中,届时会伴随0.2.0一起发布。
- orange
- Orange
- Orange数据格式
- Orange数据格式
- Flex orange 主题
- 【orange】bochs2.4.5配置文件
- 【orange】初识保护模式
- orange's 文件系统
- orange-protect mode
- 02 orange loader 源码
- 03 orange kernel
- Orange's boot_loader_kernel
- Orange's 进程
- Orange's TTY
- A. Dividing Orange
- Orange's笔记
- 20140110orange.cpp
- orange OS GCC编译
- spring基于注解的普通类怎么调用@Services注解的service方法
- ubuntu系统下,搭建Android开发环境!!
- Spark性能优化指南
- 运维学习16
- 临时测试php又不想搭建vhost就用它把 php内置的web服务器
- Orange
- Lintcode 落单的数 II
- ProGuard代码混淆技术详解
- java_web 学习记录(六):文件上传和下载
- 编程之美-2.15 子数组之和的最大值(二维)
- Codeforces 505C Mr. Kitayuta, the Treasure Hunter DP+技巧优化
- 异或运算的经典算法题:找出数组中只出现一次的数字,其它数字都出现了两次
- 三层架构-循序渐进
- 查询、关键字