-
Notifications
You must be signed in to change notification settings - Fork 82
安装初始化
安装之前需要先准备好数据库,测试功能可以用mysql5.7。
!!!正式环境建议使用tidb或其他mysql兼容的newsql。
未来计划支持MaxCompute,Hive
Hello world:
1.打开/geoip/geo.py 文件,根据文件里的地址,下载ipcity和ipasn文件,并放到/geoip目录下。<--这一步必须做,否则会报错
2.配置/configs/db.py 里的数据库连接参数。
3.打开/configs/admin.py 修改查询密码和Kafka支持(默认关闭,直接写入数据)。如果开启Kafka支持,需要配置/configs/kafka.py和运行/kafka_consumer.py来订阅数据,否则收到的埋点信息只会写入kafka,并不会写入数据库。
4.打开/component/setup.py 在最后一行修改自己想要创建的项目名。运行setup.py程序,会完成数据表创建。至此鬼策服务端初始化完成。
5.运行/flask_main.py 可以开始接收数据了(如果启用kafka支持,需要再运行 /kafka_consumer.py)
其他可能需要执行的程序:
configs/admin.py下的参数
use_kafka <--确定是否使用kafka做缓冲,使用的时候需要额外运行kafka_consumer.py
independent_listener <--确定是否使用独立的触发器,使用时需要额外运行trigger.py
scheduler.py <--如果使用用户分群和召回模块,需要运行此程序
messenger.py <--如果使用召回模块,需要运行此程序
根据压力选型:
压力主要根据每天的事件量来定,事件量要看埋点设计的上报时机。一般情况下:
每天少于5万事件量或测试使用 ==> MySQL 5.7 。4C8G。鬼策可以部署在同一台机
每天少于50万 ==> TiDB 单机版(官方叫做实验环境)。8C16G 。鬼策可以部署在同一台机。
每天少于500万 ==> TiDB 最低配 8C32G x3 TiDB,TiKV,PD 混合部署(PD和TiDB都需要多于1个,不然滚动升级时业务会断),TiDB前可选负载均衡。鬼策和kafka需要独立部署在一台4C8G的机器上。
每天超过1000万及以上 ==> 增加TiDB中TiDB的数量,kafka和鬼策消费者(kafka_consumer.py)分开部署。