架构
文章平均质量分 54
技术创业者王先生
专注java后端、架构、大数据方向
展开
-
电商秒杀系统架构
秒杀其实主要解决两个问题,一个是并发读,一个是并发写。并发写的处理原则也一样,它要求我们在数据库层面独立出来一个库,做特殊的处理。另外,我们还要针对秒杀系统做一些保护,针对意料之外的情况设计兜底方案,以防止最坏的情况发生。现实中总难免出现一些我们考虑不到的情况,所以要保证系统的高可用和正确性,我们还要设计一个 PlanB 来兜底,以便在最坏情况发生时仍然能够从容应对。秒杀请求依赖登录状态,登录状态一般都是保存在分布式缓存中的,因此发送秒杀请求发送给任意服务器都可以,这里选择“轮询”或者“随机”算法。原创 2023-07-02 19:11:09 · 374 阅读 · 1 评论 -
zookeeper高可用集群方案
4. 所有节点 watch parent znode,收到变更通知的时候读取 parent znode 的数据,发现是自己则成。集群共用父节点 parent znode,集群中的每个节点在 parent 目录下创建自己的 znode。集群共用父节点 parent znode,集群中的每个节点在 parent 目录下创建自己的 znode。当 Leader 节点挂掉的时候,持有最小编号 znode 的集群节点成为新的 Leader,因此用。1. 节点启动或者重连后,在 parent 目录下创建自己的。原创 2023-06-22 10:52:11 · 526 阅读 · 1 评论 -
教育行业广告投放系统异地多活架构设计
3、分班(期id, 班id, 群id), 全局唯一、不可重复,每次新增,不同步。业务包括:链路(手机号登录)、接量(报名分班)、促活(短信、消息等)、回传。2、分班(期id, 班id, 群id), 全局唯一、可重复,由算法生成。1、获取落地页相关信息,渠道码和子渠道码信息,全局唯一,不可变,不可丢失。1、用户id: 全局唯一、不可变,采用数据库+消息队列同步。1、报名id, 全局唯一、不可变,可重复生成。2、报名id:全局唯一、不可重复,每次新增,不同步。2、手机验证码留资,可重复生成、可丢失。原创 2023-06-18 20:03:36 · 91 阅读 · 1 评论 -
电商微服务架构设计
因为都是java语言,选择dubbo或者spring cloud, 从性能角度考虑,rpc由于采用tcp协议,效率比spring cloud高,因此采用dubbo。2、服务网关:spring cloud gateway。3、配置和注册中心:nacos。4、消息队列:rocketmq。1、微服务框架:dubbo。原创 2023-06-11 16:52:22 · 309 阅读 · 0 评论