个人随笔
网站介绍
火龙的爷爷
2116759078
2116759078@qq.com
一个程序员的学习笔记
网站统计
访问 1051806
网站标签
当前位置:
首页
分布式架构
架构设计感想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
20240708架构学习:超高并发库存扣减的设计思路之分片库存
假设我们要进行抽奖,或者秒杀什么的,奖品只有一个,如果用户量不大比如几千上万,那么正常可以直接一个redis库存控制即可。但是,如果我们并发量超级大,一个redis key可能就会存在热点问题了,毕竟就算redis是集群的,但是一个key也只会在一个分片上,此时我们可以有多个分片法。具体的做法是根据流量大小,将一个库存分成多个库存。比如奖品A,我们可以把A的库存分成5个。redis中就是A_...
分布式架构
2024-07-08 22:13:03
20240613架构学习:JWT与Token的区别
在当今的互联网应用中,安全认证和授权机制对于保护用户数据和保证服务的安全性至关重要。JWT(JSON Web Token)和Token都是常用的认证和授权方案,但它们在实现方式、验证过程和应用场景上存在一些区别。本文将详细分析JWT和Token的原理和特点,以便读者更好地在实际应用中选择合适的方案。一、基本概念JWT(JSON Web Token):JWT是一种基于JSON的开放标准(RFC...
分布式架构
2024-06-13 21:52:03
20240613架构学习:阿里开发规范为啥要强制禁止使用存储过程
存储过程难以调试和扩展,更没有移植性1、去IOE化,存储过程移植困难2、分片场景下存储过程只能作用在局部数据3、无法保证分布式全局事务4、存储过程难以调试,没有内置的版本管理方案5、业务执行碎片化,难以查找执行bug
分布式架构
2024-06-13 21:42:08
20240613架构学习:用乐观锁解决并发冲突
解决并发冲突,我们可以用最简单的解决方案for update行锁数据库,也可以借助redis分布式锁。但是悲观锁for update并发性太差了,高并发场景用户体验差,redis由成本比较大,要引用新的中间件,会有新的业务问题。那么我们可以尝试使用乐观锁。乐观锁其实就是数据表加一个版本号。更新的时候带上查询出来的版本号,比如select id,version from table where...
分布式架构
2024-06-13 21:24:35
首页
<
1/7
70
>
尾页
有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔
备案号 : 粤ICP备18099399号-2