fanxing.md
2.1 KB
繁星重构设计说明
- 在繁星1.0的设计过程中繁星通过Websocket和平台连接,繁星即是服务端接收客户端消息也是客户端向客户端发送消息。
graph LR
yw((运维))
fx[dev_fx]
style yw fill:#ff99ff,stroke:#fff,color:#fff
style fx fill:#33ffff,stroke:#fff,color:#333
yw--ws-->fx
fx--ws-->yw
为了更好的解耦平台让繁星成为一个独立的服务存在利用中间件来实现解耦
graph LR
yw((运维))
k(kafka)
fx[dev_fx]
style yw fill:#ff99ff,stroke:#fff,color:#fff
style fx fill:#33ffff,stroke:#fff,color:#333
style k fill:#ff3333,stroke:#fff,color:#fff
yw-->k-->fx
fx-->k-->yw
2. 去除base64图片传输引入HDFS将base64转换成url发送给推送服务
graph LR
yw((运维))
resv[推送服务]
store[存储服务]
other[第三方服务]
style yw fill:#ff99ff,stroke:#fff,color:#fff
style resv fill:#ff3333,stroke:#fff,color:#fff
style store fill:#33ffff,stroke:#fff,color:#333
style other fill:#33ffff,stroke:#fff,color:#333
yw--http-->resv-->store
resv-->other
3.引入新的架构方式
(1)采用spring cloud 替代现有的微服务架构
(2)应用自带的gateway替换掉原来的配置服务
(3)采用HDFS替换掉原有的图片服务
(4)数据库由原来的postgres和MongoDB合并到postgres(解决大量数据查询MongoDB查询速度过慢问题)
整理后的结构图
graph TB
yw((运维))
resv[转发服务]
k(kafka)
store[存储服务]
other[第三方服务]
dev[配置服务]
stream[推流服务]
web[客户端]
gatewy[网关]
code[code服务]
org[组织服务]
auth[认证服务]
H[HDFS]
style yw fill:#ff99ff,stroke:#fff,color:#fff
style resv fill:#3fafa3,stroke:#fff,color:#fff
style store fill:#33ffff,stroke:#fff,color:#333
style other fill:#33ffff,stroke:#fff,color:#333
style k fill:#ff3333,stroke:#fff,color:#fff
web-->gatewy-->auth
auth-.->org
auth-.->code
auth-.->store
auth-.->dev
auth-.->stream
dev-->k-->yw
yw-->k
yw-->resv--base64-->H
H--url-->resv
resv-->store
resv-->other
k-->dev