orange
选型:使用orange系统
orange与kong的比较
1.kong整体代码上较凌乱, orange相对较有条理
2.kong本身不支持后台管理页面,只能通过api方式增,删,改plugin, orange支持页面操作(至少其模板,js 可以直接拿来使用)
3.功能上两者相近
orange系统流程
1)首先明确的是orange本身没有MVC框架, 对于数据库的引用也只是简单的require, 其结构比较简单,在实际开发中可能遇到的问题并不会很多, openrest本向就是以简单为主,涉及复杂的MVC框架反而可能会影响其速度。
2)后台管理使用的是lua的lor框架, 使用了rest full接口,框架本身较复杂, 在开发中可能会出现意想不到的问题,(比如框架本身的问题),为不牵扯太多时间,考虑使用php重新开发
3)orange执行流程比较鲜明, 在nginx不同阶段,调用不同的插件, 过滤用户行为
  在nginx启动时, 加载orange conf, mysql, plugins
  当url进入nginx时,执行指令access_by_lua_block中r的access()方法,该方法遍历plugin, 执行每个plugin中的access()方法
  例如限流:
  www.xueersi.com/1.php
  在进入nginx后, 执行到限流插件时,从共享内存中取出相应的规则,如果满足规则,则保存计数的值, 并放行, 否则禁止通过
目前选型已完成, 需要做的事情如下
一.后台管理系统重写(PHP语言)
  1)去掉后台管理系统中保存数据到mysql的逻辑,改为保存到配置中心(需要提供若干个api接口), 再由配置中心通知各个服务器来取最新数据,同时写到nginx的共享内存中
  2)该后台管理系统所的服务器也是配置中心下面的一个节点,也会pull最新的数据,并放到本地文件中
  3)在后台管理系统中有增,删,改操作的时候,把数据放到上面本地文件中合适位置,再将此文件的内容全部发送给配置中心
  4)本地文件中的内容格式为json, 数据基本参考orange中的数据
二. 配置中心:
  增加接收后台管理系统产生数据的api接口
三. 类似频控计数:
  计数统计的操作,由存储在mysql,改为在redis中保存
四. 逐步完成的功能
鉴权功能:将其逻辑修改为plugin形式
  频控功能 
  降级功能
  告警功能:
    通过api层次的统计: 成功次数,错误次数,异常次数
    通过系统层次的统计: 内存、磁盘、CPU等指标
                通过nginx层次的统计: 502 505
  AB测试
  降权功能
  数据合并功能
orange的更多相关文章
- 利用Python【Orange】结合DNA序列进行人种预测
		http://blog.csdn.net/jj12345jj198999/article/details/8951120 coursera上 web intelligence and big data ... 
- orange pi  pc 体验(一)
		最近在淘宝上看到一款和树莓派差不多的卡片机,定价才99元,而且是国产的,忍不住入手了一个,就是orange pi 感兴趣的可以百度搜索下,深圳一个公司出的,不过资料比树莓派少了很多,论坛中人也没多少, ... 
- 《Orange'S:一个操作系统的实现》笔记(一)
		感觉自己对于操作系统始终没有一个清楚的概念,尤其最近困扰于实模式.保护模式以及寻址方式等一些概念.转而一想,所有的程序,最终都是操作的计算机资源,需要和操作系统打交道,所以操作系统有必要深入了解一下. ... 
- python数据挖掘orange
		http://blog.csdn.net/pipisorry/article/details/52845804 orange的安装 linux下的安装 先安装依赖pyqt4[PyQt教程 - pyth ... 
- Orange Greenworks
		对于steam游戏开发,成就功能是必不可少的. 而Rpgmaker系列无自带的插件或指令实现,且多数游戏作者并无熟练的脚本编写能力,所以~~ 我们要使用外部插件----Orange Work. 这里 ... 
- Orange——开源机器学习交互式数据分析工具
		Orange为新手和专家提供开源机器学习和数据可视化.使用大型工具箱交互式数据分析工作流程. 交互式数据可视化 Orange的全部内容都是关于数据可视化,帮助发现隐藏的数据模式,提供数据分析过程背后的 ... 
- Orange Pi 3 GPIO 笔记
		这是我写过的最水的文章 设备:Orange pi H6,Pi 3 引脚图: (使用Wiringpi 查看GPIO) +------+-----+----------+------+---+Orange ... 
- 女子监狱第四季/全集Orange Is the New Black迅雷下载
		女子监狱 第三季 Orange Is the New Black 3 (2015) 本季看点:该剧由<吉尔莫女孩>.<单身毒妈第一季>编剧杰姬·科恩的打造.由<护士当家& ... 
- 女子监狱第一季/全集Orange Is the New Black迅雷下载
		本季第一季 Orange Is the New Black 1 (2013) 看点:该剧描述主人公Piper Chapman(Taylor Schilling)在大学里结识了毒贩Alex(Laura ... 
- java 泛型没有协变类型, 所以要重用extends, 但使用List<? extends Fruit> 可以是ArrayList<Fruit>()、ArrayList<Apple>()、ArrayList<Orange>(), 因此不能add元素进去
		class Fruit{} class Apple extends Fruit{} class SubApple extends Apple{} class Orange extends Fruit{ ... 
随机推荐
- Nginx源码完全注释(4)ngx_queue.h / ngx_queue.c
			队列头文件ngx_queue.h #include <ngx_config.h> #include <ngx_core.h> #ifndef _NGX_QUEUE_H_INCL ... 
- 大话CNN
			这几年深度学习快速发展,在图像识别.语音识别.物体识别等各种场景上取得了巨大的成功,例如AlphaGo击败世界围棋冠军,iPhone X内置了人脸识别解锁功能等等,很多AI产品在世界上引起了很大的轰动 ... 
- DBArtist之Oracle入门第3步: 安装配置PL/SQL Developer
			操作系统: WINDOWS 7 (64位) 数据库: Oracle 11gR2 (64位) PL/SQL Developer : PL/SQL ... 
- 530.Minimum Absolute Difference in BST 二叉搜索树中的最小差的绝对值
			[抄题]: Given a binary search tree with non-negative values, find the minimum absolute difference betw ... 
- Sqlserver时间函数用法(二)
			--1. 当前系统日期.时间 select getdate() --2015-01-06 09:27:27.277 --2.时间操作 dateadd 在向指定日期加上一段时间的基础上,返回新的 dat ... 
- tyvj  P3737 逐个击破
			http://tyvj.cn/p/3737 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 秉承伟大军事家的战略思想,作为一个有智慧的军长你,遇到了一个类似的 ... 
- linux换行PHP_EOL
			$file = 'log.txt';file_put_contents($file,$param.PHP_EOL,FILE_APPEND); 
- Error creating bean with name 'as' defined in class path resource
			(1)一个是setter方法的名字和配置文件对应名字有问题 (2)导入的包不对,搭建环境出错. 
- java中的上转型解释(多态的另一种)
			我们先来看个例子: public class Polymorphism extends BaseClass{ public String book="轻量级j2ee教程"; pub ... 
- SQLServer学习-- SQLServer
			SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行M ... 
