系统架构
文章平均质量分 85
xushiyu1996818
这个作者很懒,什么都没留下…
展开
-
数字证书、数字签名和非对称加密算法
注意本文参考。原创 2022-07-27 23:32:36 · 418 阅读 · 0 评论 -
系统需求多变如何设计
在我之前的公司,使用的是Groovy脚本。大致的实现逻辑就是有专门后台对脚本进行管理,然后会把脚本写到「分布式配置中心」(实时刷新),客户端监听「分布式配置中心」所存储的脚本是否有改动。(脚本我这里指的是规则集,它可以是Drools的dsl,也可以是Groovy,也可以是aviator等等)在业务系统里使用「服务编排」的客户端,请求时只要传入「服务编排」的ID,就可以按「服务编排」的流程执行代码。这样做的好处就是业务链是在后台配置的,不用在系统业务上维护链,灵活性更高(写好的责任链节点可以随意组合)...原创 2022-07-18 09:12:30 · 247 阅读 · 0 评论 -
缓存设计总结
主体结构hashmap结构,key是一个id,value可以直接是一个缓存的对象,也可以是一个map过期时间可以另外起一个map,key是id,value是过期时间也可以在主map的value里面也加入过期时间也可以是一个堆的结构,里面的node是过期时间和id。同时另起一个map,key是id,value是node。过期时间清理堆结构,另起一个线程,删除堆顶的node,并删除node对应的缓存。惰性删除,get缓存的时候,获取过期时间,如果已经过期了,就删除定期原创 2022-05-04 17:58:45 · 219 阅读 · 0 评论 -
幂等性和状态服务总结
注意:本文参考 java中接口幂等性解决方案总结_青朽_的博客-CSDN博客_java 接口幂等性知识积累:幂等性问题的思考和总结,防重、幂等,常用解决方案,解决方式_一张船票的博客-CSDN博客_幂等性和防重区别概念一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。防重和幂等的区别:防重设计主要为了避免产生重复数据,对接...原创 2022-05-04 17:57:04 · 8545 阅读 · 0 评论 -
微服务拆分策略和原则
注意:本文参考微服务拆分策略和原则 - 简书微服务拆分目的不忘初心方得始终。在介绍如何拆分之前,我们需要了解下拆分的目的是什么,这样才不会在后续的拆分过程中忘了最初的目的。拆分的本质是为了将复杂的问题简单化,那么我们在单体架构阶段遇到了哪些复杂性问题呢?首先来回想下当初为什么选用了单体架构,在很多项目刚启动的时候,我们只希望能尽快地将项目搭建起来,方便将产品更早的投放市场进行快速验证。在开发初期,这种架构确实给开发和运维带来了很大的便捷,主要体现在:1 开发简单直接,代码和项目集中...原创 2022-05-03 15:25:46 · 2330 阅读 · 0 评论 -
分布式事务 Seata总结
目录解决分布式事务的思路Seata基础Seata的架构部署TC服务微服务集成SeataSeata的4种事务模式XA模式AT模式TCC模式SAGA模式四种模式对比Seata的高可用高可用架构模型TC服务的高可用和异地容灾Seata in AT mode 的实现Seata in AT mode 工作流程概述Seata in AT mode 工作流程详述注意:本文参考1.4 w字,25 张图让你彻底掌握分布式事务原理分布式事务_...原创 2022-04-26 13:55:05 · 538 阅读 · 0 评论 -
分布式事务与最终一致性理论总结
目录单数据源事务 & 多数据源事务常见分布式事务解决方案分布式事务模型二将军问题和幂等性两阶段提交(2PC) & 三阶段提交(3PC)方案TCC 方案事务状态表方案基于消息中间件的最终一致性事务方案Seata in AT mode 的实现Seata in AT mode 工作流程概述Seata in AT mode 工作流程详述注意:本文参考 1.4 w字,25 张图让你彻底掌握分布式事务原理单数据源事务 & 多数据源事务如..原创 2022-04-26 13:54:57 · 633 阅读 · 1 评论 -
Tomcat总结
目录Tomcat线程池原理线程池参数与ThreadPoolExecutor线程池工作原理Tomcat的线程模型BIO模式BIO定义BIO运行流程Tomcat中BIO的工作原理NIO模式NIO定义Tomcat设置NIO模式Tomcat中NIO的工作原理Tomcat与服务器WEB服务器Http服务器Application ServerTomcat工作原理Tomcat架构模块Tomcat运行流程Connector 组件Servl.原创 2022-04-18 23:14:30 · 418 阅读 · 0 评论 -
高可用系统设计
目录什么是高可用?可用性的判断标准是啥?哪些情况会导致系统不可用?有哪些提高系统可用性的方法?1 注重代码质量,测试严格把关2 使用集群,减少单点故障3 限流4 超时和重试机制设置5 熔断机制6 异步调用7 使用缓存8 其他注意:本文参考docs/high-availability/high-availability-system-design.md · SnailClimb/JavaGuide - Gitee.com什么是高可用?可用性的判断标准..原创 2022-04-18 23:19:34 · 301 阅读 · 0 评论 -
抢红包总结
参考 https://www.jianshu.com/p/63f238b04c59?from=singlemessagehttps://www.cnblogs.com/8hao/archive/2016/04/12/5383143.html业务场景分析根据微信红包的操作,可以把红包的业务场景分为发放红包,抢红包和打开红包三个步骤。PS:我觉得微信红包的架构讨论之所以非常火爆,一个重要原因就是微信红包的业务场景大家都很熟悉发放红包发放者设置红包金额,红包数量等属性从发放者账户扣除红..原创 2020-07-03 15:33:03 · 557 阅读 · 0 评论 -
单点登录总结
参考 https://www.kancloud.cn/nikili/login_system/743309单系统登录机制http无状态协议web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必须鉴别浏览器请..原创 2020-07-02 16:12:58 · 353 阅读 · 0 评论 -
系统架构总结
电商秒杀总结 https://blog.csdn.net/xushiyu1996818/article/details/106056091流量控制算法总结 https://blog.csdn.net/xushiyu1996818/article/details/106764890原创 2020-06-16 11:02:53 · 304 阅读 · 0 评论 -
流量控制算法总结
目录流量控制算法简介漏桶算法漏桶算法的实现令牌桶算法漏桶和令牌桶的区别令牌桶原理单速率三色标记算法双速率三色标记算法令牌桶实现流量控制算法简介流量控制在计算机领域称为过载保护。何为过载保护?所谓“过载”,即需求超过了负载能力;而“保护”则是指当“过载”发生了,采取必要的措施保护自己不受“伤害”。在计算机领域,尤其是分布式系统领域,“过载保护”是一个重要的概念。一个不具备“过载保护”功能的系统,是非常危险和脆弱的,很可能由于瞬间的压力激增,引起“雪崩效应”,导致系统原创 2020-06-16 11:00:34 · 6042 阅读 · 2 评论 -
电商秒杀总结
目录秒杀业务分析秒杀技术挑战1、对现有网站业务造成冲击2、高并发下的应用、数据库负载3、突然增加的网络及服务器带宽4、直接下单5、如何控制秒杀商品页面购买按钮的点亮6、如何只允许第一个提交的订单被发送到订单子系统7、如何进行下单前置检查8、秒杀一般是定时上架9、减库存的操作10、库存会带来“超卖”的问题:售出数量多于库存数量11、秒杀器的应对秒杀架构原则1、尽量将请求拦截在系统上游2、读多写少的常用多使用缓存秒杀架构设计1、前端层设计原创 2020-05-12 16:07:33 · 1301 阅读 · 0 评论