flagr 是一个很不错的特性开关、a/b 测试服务,默认使用的是sqlite 数据库,但是我们可以通过配置,使用不同的数据库
sqlite、mysql、postrgresql、json_file、json_http

说明测试都是通过docker-compose 运行

sqlite默认配置

sqlite 数据库

  • docker-compose 文件
version: "3"
services:
feature-api:
image: checkr/flagr
ports:
- "8080:18000"

mysql 配置

  • docker-compose 文件
version: "3"
services:
feature-api:
image: checkr/flagr
ports:
- "8080:18000"
environment:
- "FLAGR_DB_DBDRIVER=mysql"
- "FLAGR_DB_DBCONNECTIONSTR=flagr:dalongrong@tcp(mysql:3306)/flagr?parseTime=true"
mysql:
image: mysql:5.7.16
volumes:
- ./db/mysql:/var/lib/mysql
ports:
- 3306:3306
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
environment:
- "MYSQL_ROOT_PASSWORD=dalongrong"
- "MYSQL_DATABASE=flagr"
- "MYSQL_USER=flagr"
- "MYSQL_PASSWORD=dalongrong"
- "TZ=Asia/Shanghai"

pg 配置

  • docker-compose 文件
version: "3"
services:
feature-api:
image: checkr/flagr
ports:
- "8081:18000"
environment:
- "FLAGR_DB_DBDRIVER=postgres"
- "FLAGR_DB_DBCONNECTIONSTR=host=postgres user=postgres dbname=postgres password=dalong sslmode=disable"
postgres:
image: postgres:9.6
ports:
- "5432:5432"
environment:
- "POSTGRES_PASSWORD:dalong"
volumes:
- ./db_data:/var/lib/postgresql/data

json_file 配置

格式如下:
/tmp/flags.json

json_http

这个是一个接口地址,详细的请求处理,还需要通过源码学习

说明

关于json_file 以及sqlite 对于测试使用还是比较方便的,实际生产还是推荐使用集成了数据库或者通过类似webhook 的后端存储处理

参考资料

https://checkr.github.io/flagr/#/flagr_env

https://github.com/rongfengliang/flagr-db-config-docker-compose-demo

 
 
 
 

flagr 数据库配置的更多相关文章

  1. laravel5 数据库配置(MySQL)

    laravel5 数据库配置(MySQL) 首先有一个安装完成可以运行的laravel框架. 配置database.php 进入laravel根目录. 在config目录下找到database.php ...

  2. discuz论坛移植修改数据库配置

    从其他地方拷贝的discuz源码,可能需要修改数据库配置 分别打开discuz目录下面以下三个文件 discuzRoot/uc_server/data/config.inc.phpdiscuzRoot ...

  3. Spring 数据库配置用户名和密码加密

    单个数据库配置 : 一般spring容器启动时,通过PropertyPlaceholderConfigurer类读取jdbc.properties文件里的数据库配置信息.通过这个原理,我们把加密后的数 ...

  4. atitit.动态加载数据库配置in orm hibernate mybatis

    atitit.动态加载数据库配置in orm 1. 动态加载数据库配置的优点::: 1 1.1. 组合多个配置文件... 1 1.2. 连接多个数据库 1 2. 基本的流程:::getCfg内存对象, ...

  5. 如何修改opencms数据库配置

    修改/webapps/opencms/WEB-INF/config/opencms.properties文件 什么情况下需要修改配置? 1. 使用过程中,修改数据库配置: 2. 太长时间没接触服务器, ...

  6. ThinkPHP讲解(五)——数据库配置及Model数据模型层、查询

    数据库配置 在TP框架中要进行连接数据库操作,要进行配置 要在convertion.php中找到“数据库配置”,并复制到项目配置文件config.php中 Model模型层制作 model:数据库中每 ...

  7. tomcat字符,文档,数据库配置

    修改tomcat目录下conf目录下的server.xml tomcat容器的解码配置 URIEncoding="UTF-8" <Connector port="8 ...

  8. CDbConnectionExt.php 23.2实现数据库的主从分离,该类会维护多个数据库的配置:一个主数据库配置,多个从数据库的配置

      <?php   /** * 实现数据库的主从分离,该类会维护多个数据库的配置:一个主数据库配置,多个从数据库的配置. * 具体使用主数据库还是从数据库,使用如下规则: * 1.CDbComm ...

  9. PHP MYSQL 数据库配置连接

    //配置文件 Config.php // 默认使用数据库配置 ***************************************** $Config['ConnectTag'] = 'de ...

随机推荐

  1. jmeter如何进行MQTT性能测试(测试前期准备二,MQTT插件及协议了解)

    jmeter插件下载地址及使用,已经有大佬总结好了 大佬的博客地址: https://blog.csdn.net/yellowanwu/article/details/50889677 添加线程组:添 ...

  2. Android四大组件之 --- Service入门

    在前面了解了什么是多线程和异步消息处理机制后,我们来看一下到底什么是Service. 1. 什么是service(service的作用)一个服务是一个具有较长生命周期但没有用户界面的程序,例如:一个正 ...

  3. python笔记27-time模块

    import datetime, time#一种是时间戳.一种是格式化时间.一种是时间元组# print(time.timezone) # 和标准时间相差的时间,单位是sprint(int(time. ...

  4. php字符串转数组

    下面代码包括了含有中文汉字的字符. function str2arr($str) { $length = mb_strlen($str, 'utf-8'); $array = []; for ($i= ...

  5. java集合(二)

  6. 18-09-06天津 关于Excel的一些操作

    1 字符串分后后一个返回值是个list 2个以上就是字符串 a = '/sldj/fj/'b ,c = a.strip('/').split('/')print(b,c) # sldj fj 2关于o ...

  7. java中字符串“不可变性”的破坏,使用反射破坏final属性。以及涉及到字符串常量池的问题。

    大家都清楚java中String类是不可变的,它的定义中包含final关键字.一旦被创建,值就不能被改变(引用是可以改变的). 但这种“不可变性”不是完全可靠的,可以通过反射机制破坏.参考一下代码: ...

  8. java面向对象编程(九)--final

    1.final概念 final可以修饰变量或者方法.在某些情况下,程序员可能有以下需求: a.当不希望父类的某个方法被子类覆盖(override)时,可以用final关键字修饰. b.当不希望类的某个 ...

  9. windows 下安装MySQL 服务无法启动类问题

    解决方案: 1 执行 mysqld.exe -nt remove 2 执行 mysqld --initialize(中间是两个中划线) 3 执行 mysqld.exe -nt install 4 执行 ...

  10. vue 用户停留页面超过30分钟未操作 强制退出到登录页面

    先说下主要实现思路,通过给你的根节点绑定mouseover事件,首先声明下当前时间,每次滑过时记录下滑过的时间,两个时间转化成毫秒数,进行对比,如果超过30分钟,则清除token,跳转到login.h ...