个人随笔
网站介绍
火龙的爷爷
2116759078@qq.com
一个程序员的学习笔记
网站统计
访问 1109978
网站标签
当前位置:
首页
分布式架构
事务一致性的相关策略
分布式事务解决⽅案汇总1、2PC2PC理论。在讲MySQL Binlog和Redo Log的⼀致性问题时,已经⽤到了2PC。当然,那个场景只是内部的分布式事务问题,只涉及单机的两个⽇志⽂件之间的数据⼀致性;2PC 是应⽤在两个数据库或两个系统之间。2PC 有两个⾓⾊:事务协调者和事务参与者。具体到数据库的实现来说,每⼀个数据库就是⼀个参与者,调⽤⽅也就是协调者。2PC是指事务的提交分为两个阶...
分布式架构
2025-04-21 21:57:48
简单分析⾼可⽤与稳定性的策略
如果“⾼并发”是为了让系统变得“有效率”,可以抵抗⼤规模⽤户访问,那么x下面所讲的就是为了让系统变得“更靠谱”。靠谱包括了⾼可⽤性、稳定性、可靠性。要实现一个靠谱的系统,要从哪些方面下手呢?多副本不要把鸡蛋放在同一个篮子里,具体到计算机系统,就是常说的避免“单点”:⽹关层的Nginx宕机怎么办?做多个副本;应⽤服务器宕机怎么办?做多个副本;缓存宕机怎么办?做多个副本;数据库宕机怎么办?做多个...
分布式架构
2025-04-21 21:27:00
高并发问题的解决策略简述
有些系统侧重于高并发读,比如搜素引擎,电商商品列表,商品详情,有些系统侧重于高并发写比如广告的扣费系统,对点击浏览次数收费,有些系统同时侧重于高并发读和写,比如秒杀系统,微信红包,微博这些,那么我们有什么解决策略呢?高并发读策略1:加缓存我们可以通过加分布式缓存,比如redis,也可以加本地缓存,比如Memcached。也可以通过MSQL的主从,读从库。也可以用CDN对静态文件进行加速。策略...
分布式架构
2025-04-21 21:06:29
一个宝藏级别的系统设计的github项目
https://github.com/donnemartin/system-design-primer
分布式架构
2025-01-02 22:25:15
架构设计感想20241014:100%推送数据到第三方接口的方法:补偿
我们在开发过程中,总是遇到各种批处理任务,或者要把某些信息推送给第三方,那么这里我们不管用什么技术,单线程也好,多线程也罢,一定要加上兜底补偿的功能,我们调用第三方接口推送数据,几乎肯定会遇到接口调用失败的问题,此时我们可以用重试来补偿,也可以后台起一个定时任务定时轮训失败的来补偿,但是定时轮训失败有些任务会一直失败怎么办,所以肯定是有上限的,所以最终还有一个补偿,那就是通知工作人员人工处理...
分布式架构
2024-10-14 22:14:17
架构设计20240914:关于扣减类接口的调用逻辑的简单思考
一、需求场景我们在开发业务需求中,很容易遇到类似调用第三方接口进行扣减类的业务需求,比如支付、红包领取、代金券领取、积分兑换等。那么会遇到那些问题呢?三、小白实现逻辑如果我们用简单的如下逻辑实现1、开启事务2、调用第三方扣减接口3、本地权益赠送4、提交事务这个方案,稍微有点开发经验的程序员就会发现问题大大的。问题1、若是在步骤2调用第三方扣减接口因为网络抖动,超时了怎么办?步骤2超时,程序抛...
分布式架构
2024-09-14 14:22:58
架构设计思考20240826:架构是否到达了需要重构的地步思考
对于一个项目,具体用什么样的架构,其实是根据需求的迫切程度,用户量,成本等各种因素柔和在一起考虑的,并没有说什么样的架构是最好的,架构没有对不对,只有合不合适,你总不能搞个个人网站上个微服务吧。其实我觉得,用户量是一个非常重要的指标,刚开始用户量少,就几十上百人访问,然后业务也不要求多少个9稳定,那么最快的解决方案可能就是Nginx+springboot单点加mysql就好了。后续的演变都可...
分布式架构
2024-08-26 22:46:56
架构设计感想20240819:微服务的好处和不足
现在微服务很火,但是也有不足之处一、好处1、易于扩展每个服务都是独立的模块,若某个服务处理能力不足,可以直接增加该服务的节点即可。2、发布简单只需要发布本模块涉及的功能,不需要跟单体架构一样,全量发布3、技术异构有些服务可能用java开发,有些适合用python,有些可能适合用go,不需要跟单体架构一样,绑定死一种开发语言。4、便于重构微服务单个模块的重构,不会影响其他模块的运行,可以比较方...
分布式架构
2024-08-19 22:25:04
架构设计20240816:关于前后端分离项目的部署模式一些思考
之前项目没有前后端分离的时候,部署贼简单,直接启动一个应用就可以了。但是如果拆分成前后端分离的项目,那么部署方式可能就变了,毕竟已经有两个项目了,那具体怎么部署呢?毕竟两个项目有可能会有跨域的问题。部署方案1、单项目部署模式假设我们前端是vue或者html项目,后端是springboot项目,那么部署的时候直接把前端打包后的静态资源放在springboot项目下的static文件夹下面,当作...
分布式架构
2024-08-16 16:06:57
架构设计思考20240815:关于后台处理批量任务的解决方案的一点点思考
一、业务场景在开发中,我们总是会遇到类似批处理的需求,比如批量发送短信,批量下载文件,批量同步数据,批量分析结果等。这些需求通常有一个特点,那就是耗时却没那么急,比如有些数据统计是在凌晨统计完,白天才需要查看。但是也有些也比较急,比如订单同步,第三方订单同步过来,我们要对订单进行分析计算业绩送权益等。那我们常用的解决方案是啥呢?二、解决方案分析对于这种批处理需求,无非就是根据时间邀求,如果不...
分布式架构
2024-08-15 15:40:31
首页
<
1/8
74
>
尾页
有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔
备案号 : 粤ICP备18099399号-2