每个人都应该懂的websocket+mq消息推送在微服务下方案
websocket 在微服务下方案 存在问题: A服务的实例1和用户进行连接,但是实例2收到请求/触发消息/其他等需要推送用户消息的情况。此时由于不是一个实例,实例1不知道要推送消息给用户,需要处理消息丢失问题 方案1: 实例直接使用mq(Rocket,Rabbit,Kafka)广播 此方…
31 2024-06-04 去围观每个人都应该懂的文件方案设计
架构图 5.1 文件上传流程 前端发送文件名,MD5, 文件大小等信息提交后端文件服务[注意只限一个文件,多文件多次请求] 后端文件服务从OBS获取对应文件上传URL,该URL短期有效,且只能上传该MD5,文件名的文件,上传目录为临时目录。 后端文件服务返回上传URL与后端数…
111 2024-01-15 去围观每个人都应该懂的支付方案设计
支付方案: 订单1:N 支付单。 用户选择支付方式后生成支付单或拿到最近支付单(注意分布式锁,并且支付单绑定订单号,防止多次支付) 返回前端, 前端用户支付 1. 支付完成后支付回调, 收到回调后,重新查询支付单状态,并修改状态 2. 用户前端刷新查询,查询第三…
48 2024-01-15 去围观每个人都应该懂的分布式鉴权方案设计
通用流程: 用户通过gateway访问某服务 如果该请求未携带token【无token该请求必须是登录,其他请求一定带token,可以在gateway中配置判断】,gateway先请求auth鉴权服务,然后auth根据用户名密码,返回用户的role角色和permission权限。----RBAC 【选做】如果有需要…
50 2023-10-28 去围观Seata 偶发Global lock wait timeout
背景: seata偶发,并发下,事务长时间持有锁,后续事务无法获取锁,报错Global lock wait timeout 排查: 场景直接重试无复现,偶发问题 测试协助压测接口,发现发生概率约为4% 看Skywalking发现,底层某接口获取Seata全局事务锁超时具体报错如下 Error updating dat…
2 2024-10-28 去围观rocketmq 内存cpu不停飙高
现象: cpu 内存随着时间不停上升,即便消息很少,没有堆积 排查: 查证没有死信消息,消息消费失败重发两次后直接丢弃 按照网上改了xms xmx等配置,无效 jmap -heap {pid} 看着占用内存很高 手动gc可以让内存下降,但是后续还是不会自己释放—jcmd pid GC.run,并且执…
30 2024-08-22 去围观WebSocket Spring gateway 转发,问题处理
1. 转发处理 Gateway 配置中 routes: - id: business-backend-orch-server-websocket # 路由的编号 uri: lb://business-backend-orch-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/ws 注意 uri…
24 2024-06-07 去围观rocketmq 消费者收到了不应该收到的数据
问题/现象: 线上消费订阅为Topic-A 下有两个 consumer group A,B; 分别订阅 tag-A 与 tag-B 但是tag-B并未在使用(此前使用,后续暂时移除,计划过几个迭代后添加) consumer group A订阅一切正常,但是 consumer group B开始收到A下消息 如下图某消息同时发到A和B …
23 2024-05-31 去围观