分布式
文章平均质量分 91
分布式相关文章
jiqiren1994
基本所有文章都是总结性质得文章,将网上大部分博主的内容整合了一下,加入了部分自己的理解,方便自己工作时查阅资料用,好处就是不用忘记了去搜各种文章。
展开
-
Seat 学习
一、Seata 简介Seata(Simple Extensible Autonomous Transaction Architecture)是一套一站式分布式事务解决方案,是阿里集团和蚂蚁金服联合打造的分布式事务框架。发展史二、 特色功能微服务框架支持⽬前已支持 Dubbo、Spring Cloud、Sofa-RPC、Motan 和 grpc 等RPC框架,其他框架持续集成中AT 模式提供无侵入自动补偿的事务模式,目前已支持 MySQL、 Oracle 、PostgreSQL和 TiDB的原创 2021-11-13 16:12:21 · 2325 阅读 · 0 评论 -
分布式事务学习
一、分布式事务理论CAP(强一致性)CAP 定理,又被叫作布鲁尔定理。对于共享数据系统,最多只能同时拥有CAP其中的两个,任意两个都有其适应的场景。BASE(最终一致性)BASE 是指基本可用(Basically Available)、软状态( Soft State)、最终一致性( Eventual Consistency)。它的核心思想是即使无法做到强一致性(CAP 就是强一致性),但应用可以采用适合的方式达到最终一致性。BA指的是基本业务可用性,支持分区失败,允许损失部分可用性,延迟或者降原创 2021-11-08 18:19:59 · 155 阅读 · 0 评论 -
DDD 落地学习
领域设计领域驱动设计通常适用于增删改的业务操作,但不适用于分析统计。在一个系统中,增删改的业务可以采用领域驱动的设计,但在非增删改的分析汇总场景中,则不必采用领域驱动的设计,直接 SQL 查询就好了,也就不必再遵循聚合的约束了。为了让微服务设计做到高内聚,最佳的实践则是 DDD:先从 DDD 开始需求分析、领域建模,逐渐建立起多个问题子域;再将问题子域落实到限界上下文,它们之间的关联形成上下文地图;最后,各子域落实到微服务中贫血模型或充血模型的设计,从而在微服务之间依据上下文地图形成接口。软原创 2021-11-05 21:50:40 · 405 阅读 · 0 评论 -
DDD 学习
一、DDD 简介领域驱动设计(Domain Driven Design,简称 DDD)。DDD 核心思想是通过领域驱动设计方法定义领域模型,从而确定业务和应用边界,保证业务模型与代码模型的一致性。DDD 是一种处理高度复杂领域的设计思想,它试图分离技术实现的复杂性,并围绕业务概念构建领域模型来控制业务的复杂性,以解决软件难以理解,难以演进的问题。DDD 不是架构,而是一种架构设计方法论,它通过边界划分将复杂业务领域简单化,帮我们设计出清晰的领域和应用边界,可以很容易地实现架构演进。二、DDD 设计D原创 2021-11-05 13:10:40 · 228 阅读 · 0 评论 -
分布式系统定义及面临的问题
一、分布式系统我们将分布式系统定义为:分布式系统是同时跨越多个物理主机,独立运行的多个软件所组成系统。类比⼀下,分布式系统就是⼀群人⼀起干活。人多力量大,每个服务器的算力是有限的,但是通过分布式系统,由n个服务器组成起来的集群,算力是可以无限扩张的。二、分布式面临的问题优点显而易见,人多干活快,并且互为备份。但是缺点也很明显。我们可以想象⼀下,以⼀个小研发团队开发软件为例,假设我们有⼀个5人的项目组,要开始⼀个系统的开发,项目组将面临如下问题:图中列举的就是项目组将要⾯临到的问题,这些问题在我们⽇原创 2021-03-11 09:27:34 · 746 阅读 · 0 评论 -
秒杀活动如何实现
redis、mq、mysql原创 2021-03-05 23:32:42 · 2910 阅读 · 0 评论 -
分布式问题总结
一、缓存穿透一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。缓存穿透是指在高并发下查询key不存在的数据,会穿过缓存查询数据库。导致数据库压力过大而宕机解决方案对查询结果为空的情况也进行缓存,缓存时间(ttl)设置短一点,或者该key对应的数据insert了之后清理缓存。问题:缓存太多空值占用了更多的空间使用布隆过滤器。在缓存之前在加一层布隆过滤器,在查询的时候先去布隆过滤器查询 key 是否存在,如果不存在就直接返回,存在再查缓存原创 2021-03-16 22:55:23 · 308 阅读 · 0 评论 -
常用架构总结
zookeepermongodb原创 2021-03-15 22:04:39 · 968 阅读 · 1 评论