首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
架构-理论
秃了也弱了
创建于2023-11-02
订阅专栏
架构-理论
等 30 人订阅
共38篇文章
创建于2023-11-02
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【精选】缓存一致性解决方案——改数据时如何保证缓存和数据库中数据的一致性
我们都知道,缓存是为了提高数据的读取速度的,应对的场景是读多写少的场景。读数据我们通常先读缓存,如果缓存没有再读数据库然后更新缓存。 高并发下,由于卡顿等原因,导致写缓存2在最前,写缓存1在后面,就导致了缓存与数据库数据不一致的情况,也就是出现了脏数据。但是,这种脏数据只是暂时的...
什么是分布式锁?redis、zookeeper、etcd实现分布式锁有什么不同之处?
分布式环境下,锁定全局唯一资源。请求处理串行化、实际表现为互斥锁。 交易订单锁定:防止重复下单、解决业务层幂等问题。 MQ消息消费幂等性:发送消息重复、消息消费端去重、比如手机提现。 在用户对商品下单后,订单状态为待支付,在某一时刻用户正在对该订单做支付操作,商...
数据库设计的三范式超详细详解
很多数据库设计者,都是按照自己的性子和习惯来设计数据库数据表,其实不然。其实,数据库的设计也有要遵循的原则。范式,就是规范,就是指设计数据库需要(应该)遵循的原则。每个范式,都是用来规定某种结构或数据要求——后一范式都是在前一范式已经满足的情况用来“加强要求”(这句话很重要)。这...
接口幂等性解决方案:基于token实现接口幂等的落地实现
通过token机制来保证幂等是一种非常常见的解决方案,同时也适合绝大部分场景。该方案需要前后端进行一定程度的交互来完成。 1)服务端提供获取token接口,供客户端进行使用。服务端生成token后,如果当前为分布式架构,将token存放于redis中,如果是单体架构,可以保存在j...
2019建中台,2020拆中台,为什么很多公司中台战略宣告“失败”?
中台这个词,近几年来非常火。 这个最早由阿里在2015年提出的“大中台,小前台”战略中延伸出来的概念,灵感来源于一家芬兰的小公司Supercell——一家仅有300名员工,却接连推出爆款游戏,是全球最会赚钱的明星游戏公司。 这家看似很小的公司,设置了一个强大的技术平...
【精选】接口的幂等性——详细谈谈接口的幂等即解决方案
接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因 为多次点击而产生了副作用;比如说支付场景,用户购买了商品支付扣款成功,但是返回结 果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结 果成功,用户查询余额返发现多扣钱了,...
终于把单点登录完整流程图画明白了!史上最完整的CAS单点登录完整图解!
本人也是初次接触CAS,有问题还请指正。比如说百度,在浏览器中登录百度贴吧之后,百度的其他网站也同步登录了;退出百度贴吧之后,百度的其他网站也同步退出了。简单来说就是将多个系统抽离出一个登录系统,进行统一登录。
秒杀系统的设计与实现思路
秒杀大家都不陌生,而且是电商项目必备的一个技能点。 但是真正的秒杀服务是非常复杂的,秒杀具有瞬间高并发的特点,所以解决瞬间高并发的问题,就可以解决秒杀的问题。 今天就将秒杀系统完整的实现分解开,一起研究一下吧。 秒杀服务是有很大风险的,一不小心就会造成服务宕机或者一瞬间占用大量服...
单点登录-认证服务器与客户端的session过期时间如何统一
之前画了一个单点登录的逻辑图,其中有很多细节没有展现清楚。 我们从流程图中可以看出,当用户完成了首次登录认证之后,会在认证服务器存放一份session,同样也会在客户端服务器存放一份session,以后再访问APP,不会再经过认证服务器来认证该用户是否登录,而是直接在APP的后台...
SOA和微服务之间的区别(应用和数据的垂直拆分水平拆分)
互联网发展迅猛,互联网系统也由原来的单机服务逐步的演化为分布式服务,同样,服务架构也由原来的单体架构逐步演化为如今的分布式架构,由此衍生出许多架构类型。今天就谈谈微服务架构和传统的SOA架构到底有什么区别。当单体架构满足不了日益增长的客户需求时,就要将数据库和应用程序等拆分开,也...
怎么成为一名架构师?架构师第一步。基层开发人员逆袭成为架构师真的很难吗?
一个团队中,每个人的追求是不一样的。有的人比较咸鱼,有的人喜欢跑业务,有的人喜欢钻研技术。“不想当将军的士兵不是一个好士兵”,相信大部分追求技术的研发小伙伴心里都有着一个梦想,那就是成为一名“无所不能”的架构师。但是,理想与现实是有差别的,抛开架构不谈,光铺天盖地层出不穷的技术,...
【精选】生产问题-生产服务器buff/cache占用过高,swap交换区超限预警
“xx,来一趟生产。于是,我意识到又有问题了,于是,问题出现了。。。生产机器的内存Swap区,占用量超过了三分之一,导致运维报警。然后就找到了我们的开发头上。。。我一个开发,哪里懂得这些东西呀,于是,开始从头到尾的认真(胡乱)分析。 Swap分区在系统的物理内存不够...
数据库中的乐观锁与悲观锁详解
当我们要对一个数据库中的一条数据进行修改的时候,为了避免同时被其他人修改,最好的办法就是直接对该数据进行加锁以防止并发。这种借助数据库锁机制在修改数据之前先锁定,再修改的方式被称之为悲观并发控制(又名“悲观锁”,Pessimistic Concurrency Control,缩写...
软件设计文档示例模板,万能的软件设计文档模板
1 设计概述1.1 功能概述1.2 系统部署图与整体设计2.1 系统部署图2.2 下单场景子系统序列图2.3 退款场景子系统序列图2.3 子系统 1 设计3.1 子系统 1 组件图3.1.1 场景 A 组件序列图3.1.3.2 组件 1 设计3.2.1 组件 1 类图3.2.2 ...
什么是服务的幂等?为什么要实现幂等?
系统中的重复操作,不管执行多少次,都产生一样的效果,或返回一样的结果。读请求不需要做幂等(因为读请求不会对数据发生改变)。写请求需要做幂等(对数据发生改变了就根据需要做幂等)。因为数据访问层和数据库直接联系,涉及到数据的增删改查,所以需要在数据访问层做幂等处理。 增:主键分...
分布式锁和数据一致性的讨论——redis集群做分布式锁的风险
未必! 如果你的业务⽆关紧要,如果你的业务是可以挂掉的内部系统,如果你的业务可以接受出错的时候,直接返回错误给⽤户,那⼀个单节点 Redis 或关系型数据库的分布式锁就能满⾜你的需求。 如果你的业务不允许随意宕机,那我们就要来好好讨论容错性了。讨论“分布式”,意味着可能会发⽣各种...
分布式事务详解【分布式事务的几种解决方案】彻底搞懂分布式事务
什么是事务?举个生活中的例子:你去小卖铺买东西,“一手交钱,一手交货”就是一个事务的例子,交钱和交货必须全部成功,事务才算成功,任一个活动失败,事务将撤销所有已成功的活动。明白上述例子,再来看事务的定义: 事务可以看做是一次大的活动,它由不同的小活动组成,这些活动要么全部成功,要...
互联网架构升级改造演进过程,一文带你了解互联网架构的变迁
答案数据是本质。管理数据的方案则称之为管理架构体系,随着数据之间的关系关联性不断延伸,则管理的本质也随着发生演化。目前互联网总共经历了如下四个阶段: 1.互联网1.0阶段完成了传统广告业数据化(三大门户网站)(数据提取与展示-PGC) 2.互联网2.0阶段完成了内容产业数据化-用...