a simple mongo proxy depend vertx3. write by kotlin lang
Bifrost 是基于vertx3 开发的mongo代理服务器,使用kotlin编写。
由于Sass后台各个服务中间件需要访问mongo越来越多,mongo集群数量也逐渐增加。为了管理和监控方便,必须要统一mongo访问。Bifrost 对开发者屏蔽了后端mongo架构,直接访问bifrost即可。
本项目默认会自动打包成docker容器,images名称以bifrost-server:version的形式存放在registry里.
通过docker命令docker run --name bifrost-kotlin --net=host -d bifrost-server:0.0.1-SNAPSHOT
默认服务占用271017
$ mvn clean install -Dmaven.test.skip=true
1.首先启动bifrost
服务,可以使用docker启动或者在项目中执行Bootstrap.kt。 默认占用端口为27017
,可以自行更改配置信息 config.json
。用户需要配置代理mongo 服务器地址,本项目是写死的,在DefaultNamespace.kt
中,可以根据自己的业务实现。目前仅支持mongo3.0版本
2.模拟mongo终端登录
$ ./mongo localhost:27017/geo_blocks -u "username" -p "password" --authenticationDatabase "geo_blocks" --authenticationMechanism SCRAM-SHA-1
支持标准mongo驱动程序访问。默认用户名&密码:bifrost/bifrost
bifrost-kotlin 会记录操作耗时大于10ms的请求,使用Es或者OpenTsDB来实现打点监控。效果如下: