选型:使用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的更多相关文章

  1. 利用Python【Orange】结合DNA序列进行人种预测

    http://blog.csdn.net/jj12345jj198999/article/details/8951120 coursera上 web intelligence and big data ...

  2. orange pi pc 体验(一)

    最近在淘宝上看到一款和树莓派差不多的卡片机,定价才99元,而且是国产的,忍不住入手了一个,就是orange pi 感兴趣的可以百度搜索下,深圳一个公司出的,不过资料比树莓派少了很多,论坛中人也没多少, ...

  3. 《Orange'S:一个操作系统的实现》笔记(一)

    感觉自己对于操作系统始终没有一个清楚的概念,尤其最近困扰于实模式.保护模式以及寻址方式等一些概念.转而一想,所有的程序,最终都是操作的计算机资源,需要和操作系统打交道,所以操作系统有必要深入了解一下. ...

  4. python数据挖掘orange

    http://blog.csdn.net/pipisorry/article/details/52845804 orange的安装 linux下的安装 先安装依赖pyqt4[PyQt教程 - pyth ...

  5. Orange Greenworks

    对于steam游戏开发,成就功能是必不可少的. 而Rpgmaker系列无自带的插件或指令实现,且多数游戏作者并无熟练的脚本编写能力,所以~~ 我们要使用外部插件----Orange  Work. 这里 ...

  6. Orange——开源机器学习交互式数据分析工具

    Orange为新手和专家提供开源机器学习和数据可视化.使用大型工具箱交互式数据分析工作流程. 交互式数据可视化 Orange的全部内容都是关于数据可视化,帮助发现隐藏的数据模式,提供数据分析过程背后的 ...

  7. Orange Pi 3 GPIO 笔记

    这是我写过的最水的文章 设备:Orange pi H6,Pi 3 引脚图: (使用Wiringpi 查看GPIO) +------+-----+----------+------+---+Orange ...

  8. 女子监狱第四季/全集Orange Is the New Black迅雷下载

    女子监狱 第三季 Orange Is the New Black 3 (2015) 本季看点:该剧由<吉尔莫女孩>.<单身毒妈第一季>编剧杰姬·科恩的打造.由<护士当家& ...

  9. 女子监狱第一季/全集Orange Is the New Black迅雷下载

    本季第一季 Orange Is the New Black 1 (2013) 看点:该剧描述主人公Piper Chapman(Taylor Schilling)在大学里结识了毒贩Alex(Laura ...

  10. 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{ ...

随机推荐

  1. 《Android Studio实用指南》4.27 使用演示模式

    本文节选自<Android Studio实用指南> 第4章第27节 作者: 毕小朋 目前本书已上传到百度阅读, 在百度中搜索[Anroid Studio实用指南]便可以找到本书. 什么是演 ...

  2. linux系统文件的链接

    一. 硬链接(实际链接) (以linux系统为例) 1. 文件的索引节点inode 假设我们在硬盘当前目录下建立了一个名为mytext文本文件,其内容只有一行:This is my file. (1) ...

  3. python-nmap模块常用方法说明

    一.模块常用方法说明 本节介绍python-nmap模块的两个常用类,一个为PortScanner()类,实现一个nmap工具的端口扫描功能封装:另一个为PortScannerHostDict()类, ...

  4. SUSE Linux 多路径软件+LVM+裸设备的配置

    1.先要查出光纤卡的WWN号,SUSE 10下光纤卡的WWD在/sys/class/fc_host/host5/port_name文件中,有两块卡就会有两个host*的目录 接好光纤后可以在dev下可 ...

  5. 爬虫常用Xpath和CSS3选择器对比

    爬虫常用Xpath和CSS3选择器对比 1. 简介 CSS是来配合HTML工作的,和Xpath对比起来,CSS选择器通常都比较短小,但是功能不够强大.CSS中的空白符' '和Xpath的'//'都表示 ...

  6. lnmp 多站点配置负载均衡

    1.虚拟机安装3个centos 2.三台服务器IP: 192.168.191.129(主)192.168.191.130192.168.191.131 3.分别在3台服务器的vhost目录下新建配置文 ...

  7. Call to undefined function Think\C()

    Fatal error: Call to undefined function Think\C() in /alidata/www/default/2017/newyear/simplewind/Co ...

  8. Introduction mybatis

    项目地址 https://github.com/mybatis/mybatis-3 英文官网 http://mybatis.github.io/mybatis-3/ 中文官网 http://mybat ...

  9. 在Linux上编译Hadoop-2.4.0

    目录 目录 1 1. 前言 1 2. 安装依赖 1 2.1. 安装ProtocolBuffer 2 2.2. 安装CMake 2 2.3. 安装JDK 2 2.4. 安装Maven 3 3. 编译Ha ...

  10. [修正] Firemonkey Windows 控件有虚线残影问题

    说明:在 Wndows 显示时,有时控件左方会显示一条虚线 适用:Firemonkey Windows (Berlin 或更高版) 修正方法: 请将源码 FMX.Canvas.D2D.pas 复制到自 ...