架构图

b站架构 b站架构分析_kafka

 

 

 

说明

1.logic启动http服务器, 接受http请求,用于将数据推送到kafka以及获取在线用户信息,websocket身份校验

2.comet组件起动webdocket/tcp服务, 管理连接, 并负责将数据推送至指定连接

3. job组件订阅指定kafka指定频道的消息信息, 开启管道监听(将获得的数据推送到comet当中某个链接上)

  从discovery当中找到comet组件

4. discovery负责监控以上组件的活动状态

代码结构:

由于作者应该是修改了项目文件目录结构,导致按照现在的readme文档运行是找不到对应的目录的。

b站架构 b站架构分析_数据_02

 

 说明:(个人理解,不一定准确。欢迎指正)

goim/api:主要定义了comet和logic模块用到的protocal buffer协议。

goim/benchmarks:压测演示。

goim/cmd:这一部分对应了作者GitHub上readme文档的运行示例部分(如图)

b站架构 b站架构分析_b站架构_03

 

 少了个router文件夹。

goim/docs:分模块文档。

goim/examples:一个前端演示demo,具体实现了什么没看。

b站架构 b站架构分析_b站架构_04

 

 这三个分别是,基础模块包,依赖包,外部依赖运行脚本。