个人随笔
网站介绍
火龙的爷爷
2116759078
2116759078@qq.com
一个程序员的学习笔记
网站统计
访问 1030129
网站标签
当前位置:
首页
分布式架构
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
20240613架构学习:如何保证防重和幂等
概念防重:防止产生重复数据。幂等:除了防止产生重复数据外,还要求每次请求返回一样的结果。业务场景1、点赞2、加入购物车3、创建订单4、扣减库存5、消息重复消费6、表单重复提交解决方案如果有页面,js控制按钮防重复点击是基本操作1、用业务逻辑判断比如如果用户报名,先检查报名表是否有记录,没有记录再插入,并且数据库唯一索引,或者先将业务信息放入redis中,或者用分布式锁。再比如用户兑奖,接口调...
分布式架构
2024-06-13 21:07:33
20240611架构学习:架构设计的一些感悟
1、没有场景的架构设计就是耍流氓2、发现问题的复杂性是根本,这些包含在用户关键需求中3、“解耦”是架构设计时时刻刻需要考虑的事情4、尊重“爬-》走-》跑-》跳“的自然规律,好架构一定是演化而来的5、千万不能为了“炫技”进行设计,否则整个公司要为之买单6、架构没有对不对,只有合不合适7、好的架构师一定是一个“聆听”的高手,跟客户交流要说人话
分布式架构
2024-06-11 22:43:28
20240611架构学习: MySQL MHA高可用方案
MHA(Master High Availability)是一款专为MySQL设计的开源高可用解决方案,主要用于实现MySQL数据库的故障转移和主从复制管理,从而提高数据库服务的可靠性与可用性。优点1、由perl语言开发的开源工具2、可以支持基于GTID的复制模式3、当主DB不可用时,从多个服务器中选举出来新的主DB4、提供了主从切换和故障转移功能,在线故障转移时不易丢失数据5、同一个监控节...
分布式架构
2024-06-11 22:12:44
20240606架构学习:巧用阿里Canal实现MySQL异构数据同步
什么是异构数据比如MYSQL和ElasticSearch 之间要同步数据正常做法团队A在Java代码中新增MYSQL数据时向调用团队B同步接口新建ES商品数据这种方案的不足是团队A和团队B的协作产生代码强耦合,团队A必须了解团队B提供的接口才可以实现,但本身这并不属于团队A的工作范畴。扩展困难,假设团队C的数据库是MongoDB也要这份数据,那么团队A是不是又要改代码跟C对接。那怎么保证数据...
分布式架构
2024-06-06 22:32:10
20240606架构学习:前后端分离架构的好处
不分离的架构问题(ftl,jsp等)好处简单方便,一个人可以搞定所有不足前端团队无法单独调试前后端职责不清,分工不明不具备多端应用的潜力 (PC,H5,安卓,IOS)半分离架构前端静态放Nginx,异步ajax获取数据好处:前后端团队解耦后端API与数据重用应用渲染更灵活约定好接口与规范进行Mock开发不足:前端失去动态性,搜索引擎SEO不友好全分离架构设备(浏览器/APP)->应用网关->...
分布式架构
2024-06-06 22:31:17
20240606架构学习: 关于负载均衡器
什么是负载均衡器可以将请求均匀的分发给后端应用处理的硬件或者软件。特点:高可用性使每一台设备压力平均分配支持故障发现与转移负载均衡的种类1、硬件负载均衡H52、软件负载均衡Nginx四层代理(TCP)LVS七层代理(HTTP)Nginx
分布式架构
2024-06-06 22:30:05
首页
<
1/7
64
>
尾页
有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔
备案号 : 粤ICP备18099399号-2