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. java——类、对象、方法

    一.类 1.Java语言把一组对象中相同属性和方法抽象到一个Java源文件就形成了类. 一个java文件可以有多个类,但是每一个类都会生成一个class字节码文件. 如果class 前加public ...

  2. 常用的settings.xml文件

    <?xml version="1.0"?> <settings> <localRepository>/Users/bernie.cx/.m2/r ...

  3. C# WebAPI分页实现分享

    第一次分享代码,不足或不对之处请指正.. 需求:微信端传递不同的参数调用WebAPI进行分页查询菜谱计划点评结果 思路:基于视图来查询,根据传递的不同参数拼接分页查询Sql来查询. 分页的sql如下 ...

  4. Docker Toolbox

    Toolbox包含以下Docker工具: 用于运行docker-machine命令的Docker Machine 用于运行docker命令的Docker Engine Docker Compose用于 ...

  5. Problem A: STL——灵活的线性表

    Description 数组和链表是我们熟知的两种线性结构,但是它们不够灵活(不能同时实现直接插入.删除和访问操作),给你若干种操作,你能通过一种灵活的容器,实现它们的功能吗? 操作1:Build a ...

  6. jmeter保持登录

    1.添加配置元祖---http cookie 管理器(注意上面的http cookie管理器和其他的配置是对其的) 2.这里是当你想要配置多用户并发是要配置不同的账号,配置后记得上面的第一张图的清除c ...

  7. spring cloud config git库文件搜索顺序

    spring.cloud.config.server.git.uri只配置到仓库那一层就行了,需要访问仓库的子目录的话就配置spring.cloud.config.server.git.searchP ...

  8. shell编程规范

    1 脚本名以.sh结尾,名称尽量见名之意,比如ClearLog.sh Clear_Log.sh clearlog.sh SerRestart.sh Ser_Restart.sh;2 尽量使用UTF-8 ...

  9. python学习第五次笔记

    python学习第五次笔记 列表的缺点 1.列表可以存储大量的数据类型,但是如果数据量大的话,他的查询速度比较慢. 2.列表只能按照顺序存储,数据与数据之间关联性不强 数据类型划分 数据类型:可变数据 ...

  10. c++单链表冒泡排序(交换结点),链表增删改查,运算符重载

    #include <iostream> #include <stdlib.h> #include <time.h> #include <fstream> ...