微服务架构
2022-04-24 22:35:45 0 举报
架构
作者其他创作
大纲/内容
游戏数据库D
游戏B
整个系统中,用户id是关键key,主要依靠它来分库分表
游戏...
nacos集群
日志实现看具体需求,elk或者简单搞下都行
增删改查
网关服务Gateway
消费记录信息Mysql分库分表
CDN
鉴权服务Auth
Redis
每局游戏中的过程计算数据放入缓存
游戏规则读取
消费服务
报表服务
nacos
客户基础信息Mysql分库分表
分布式锁
分布式任务服务
网页端
客户服务UserCenter
游戏业务请求
游戏数据库A
根据定时和命令计算报表
报表信息Mysql分库分表
微服务架构图
前台nginx
seate分布式事务
双方互为校验
计算服务
游戏C
第三方接口
防火墙
令牌
注册
第三方接口调用
sentinel限流、熔断、降级
外部请求
客户信息读取
业务数据查询
此架构建议搞一套k8s,但是相应的运维压力会较大。不过好处也是显而易见的,在线调度、扩容,都非常方便。因此,这个架构可以分简单搞和复杂搞两种方式。复杂搞可以将gitlab、maven、nexus、Jenkins、harbor、argcd、prometheus、grafana、skywalking等一整套cicd和链路追踪以及监控都搞上去;简单搞则是用简易化的替代方案,只起注册中心,日志只收集关键信息,使用spring admin简单监控或者用其他探针进行监控。
游戏D
日志实现
获取信息
每局游戏过程中数据异步写入数据库
移动端
spring admin监控
游戏A
游戏数据库...
分布式锁与游戏过程数据的计算是关键点
消费数据写入必须保证顺序性;并且要在代码层面进行锁的操作;因为此处业务涉及到代理返佣等多级用户的结算;如果只靠数据库的锁,面对分库分表的情况,可能出现记录的顺序性无法保证。
0 条评论
回复 删除
下一页