一、目前有个小项目(数据中台类型的项目)
先作个简单的项目描述:
1.数据采集,把人家平台的数据通过爬虫或者给其它平台提供上报接口把数据落地到我们平台
2.有自己的各种活动,还有支付,数据分析处理等
3.数据量级要按照500万的活跃用户,爬虫的数据输出按照100M每秒来设计
4.后期会为运营提供数据支持
二、大概的构思
三、详细说明
1.选用的扩展:
数据库:tdsql
消息中间件:kafuka,redis
web服务器:nginx
开发语言:go
2.代码构建说明
1.数据从爬虫服务进入,首先会存一份原始到数据库,然后做简单处理之后丢入中间件kafuka。
2.微服(数据中心,支付中心,前台业务服,日志服)之间使用GRPC进行通信,数据中心通过各个微服和爬虫的数据去统计出运营需要的数据,各微服通过GRPC为api提供支持。
3.每个微服都会有自己的域名,然后由nginx分发请求到每个服务器。
4.日志服的作用是采集各服务器有用的日志数据,比如当自己平台用户有登录日志输出的时候,我可以把这个json格式的日志丢到中间件去,去慢慢消费它。
3.数据库的大概处理思路
1.保存原始数据
2.按一定需求分表
3.要求读数据的速度(索引的构建,字段结构的设计)
4.总结
这种构思的瓶颈在于nginx,还有tdsql本身的查询速度,后期可以考虑clickhous这类列式表。