随笔分类 -  分布式

摘要:转自: 如何选择分布式事务解决方案? 导读 分布式事务中涉及的参与者分布在异步网络中,参与者通过网络通信来达到分布式一致性,网络通信不可避免出现失败、超时的情况,因此分布式事务的实现比本地事务面临更多的困难。本文归纳总结五种分布式事务解决方案,并剖析其特点。较长,同学们可收藏后再看。 概述 事务是一 阅读全文
posted @ 2020-05-28 16:47 myseries 阅读(1141) 评论(0) 推荐(0) 编辑
摘要:出处: 让我们聊一聊分布式事务 分布式事务一致性协议2pc和3pc 一个复杂的系统往往都是从一个小而简的系统发展衍化而来,为了满足日益增长的业务需求,不断的增加系统的复杂度,从单体架构逐步发展为分布式架构,而分布式系统架构的设计主要关注:高性能,高可用,高拓展 分布式事务 高可用是指系统无中断的执行 阅读全文
posted @ 2019-12-21 13:56 myseries 阅读(374) 评论(0) 推荐(1) 编辑
摘要:一:atomikos 二:阿里分布式事务框架 GTS 阅读全文
posted @ 2019-12-21 12:12 myseries 阅读(516) 评论(0) 推荐(0) 编辑
摘要:出处: 分布式与集群的区别是什么? 下面就正经解释下三种结构的区别吧~ 单机结构 我想大家最最最熟悉的就是单机结构,一个系统业务量很小的时候所有的代码都放在一个项目中就好了,然后这个项目部署在一台服务器上就好了。整个项目所有的服务都由这台服务器提供。这就是单机结构。 那么,单机结构有啥缺点呢?我想缺 阅读全文
posted @ 2019-11-01 21:48 myseries 阅读(3600) 评论(0) 推荐(1) 编辑
摘要:分布式系统的CAP理论是由Eric Brewer于1999年首先提出的,又被称作布鲁尔定理(Brewer's theorem),CAP是对Consistency(一致性)、Availability(可用性)、Partition tolerance(分区容忍性)的一种简称,如下图所示: 它指出对于一个 阅读全文
posted @ 2019-07-31 10:27 myseries 阅读(494) 评论(0) 推荐(0) 编辑
摘要:Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器。基于REST架构风格,以统一资源描述符(Uniform Resources Identifier)URI或者统一资源定位符(Uniform Resources Locato 阅读全文
posted @ 2019-07-30 15:57 myseries 阅读(431) 评论(0) 推荐(0) 编辑
摘要:一、前言 中大型项目中,一旦遇到数据量比较大,小伙伴应该都知道就应该对数据进行拆分了。有垂直和水平两种。 垂直拆分比较简单,也就是本来一个数据库,数据量大之后,从业务角度进行拆分多个库。如下图,独立的拆分出订单库和用户库。 水平拆分的概念,是同一个业务数据量大之后,进行水平拆分。 上图中订单数据达到 阅读全文
posted @ 2019-07-30 10:45 myseries 阅读(1919) 评论(0) 推荐(2) 编辑
摘要:问题 其实分布式系统接口的调用顺序,也是个问题,一般来说是不用保证顺序的。但是有时候可能确实是需要严格的顺序保证。给大家举个例子,你服务 A 调用服务 B,先插入再删除。好,结果俩请求过去了,落在不同机器上,可能插入请求因为某些原因执行慢了一些,导致删除请求先执行了,此时因为没数据所以啥效果也没有; 阅读全文
posted @ 2019-06-01 15:40 myseries 阅读(1907) 评论(0) 推荐(0) 编辑
摘要:在项目中缓存是如何使用的?缓存如果使用不当会造成什么后果? Redis 和 Memcached 有什么区别?Redis 的线程模型是什么?为什么单线程的 Redis 比多线程的 Memcached 效率要高得多? Redis 都有哪些数据类型?分别在哪些场景下使用比较合适? Redis 的过期策略都 阅读全文
posted @ 2019-05-31 18:21 myseries 阅读(345) 评论(0) 推荐(0) 编辑
摘要:一致性Hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义: 1、平衡性(Balance):平衡性是指哈希的结果能够尽可能分布在所有的缓冲(Cache)中去,这样可以使得所有的缓冲空间得到利用。很多哈希算法都能够满足这一条件。 2、单调性(Monotonicity):单调性是指 阅读全文
posted @ 2019-05-31 18:20 myseries 阅读(5037) 评论(0) 推荐(0) 编辑
摘要:数据一致性问题非常多样,下面举一些常见例子。比如在更新数据的时候,先更新了数据库,后更新了缓存,一旦缓存更新失败,此时数据库和缓存数据会不一致。反过来,如果先更新缓存,再更新数据库,一旦缓存更新成功,数据库更新失败,数据还是不一致; 比如数据库中的参照完整性,从表引用了主表的主键,对从表来说,也就是 阅读全文
posted @ 2019-05-28 18:16 myseries 阅读(4732) 评论(0) 推荐(0) 编辑
摘要:昨晚某技术群里大家热火的在讨论分布式事务的问题,想起了自己前几年由于技术太渣也犯过很多相关错误,现结合自己之前一次BUG案例由感而写此文,希望对看到文章的同学们多少有些帮助(如果发现错误之处,欢迎交流)。 一个注册业务,用户注册成功后,后台调用另外一个服务同步完成开通资金账户,后来加了一个需求同时还 阅读全文
posted @ 2019-05-27 22:41 myseries 阅读(748) 评论(2) 推荐(1) 编辑
摘要:在我们支付系统设计中,经常会遇到这样一个问题,防止用户重复支付。用户明明只想购买一次,却因为系统问题,导致重复支付,带来额外的物流成本和扯皮退货的运营成本,对商家的信誉和系统的体验很不好。 那么实际我们在设计支付系统时,如何来避免这一问题呢。 为什么会出现重复支付 1.客户误操作点了两次 比如下单的 阅读全文
posted @ 2019-05-27 22:38 myseries 阅读(7193) 评论(0) 推荐(0) 编辑
摘要:电子交易的一个很基本的问题,就是避免用户下重复订单。用户明明想买一次,结果一看下了两个单。如果没有及时发现,就会带来额外的物流成本和扯皮。对商家的信誉也不好看。 从技术上看,这是一个分布式一致性问题;但实际上,技术无法100%解决这类问题,得结合多种手段综合处理。这里就来说道说道。 为啥会下重了呢? 阅读全文
posted @ 2019-05-27 19:07 myseries 阅读(1977) 评论(0) 推荐(0) 编辑
摘要:只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? 面试题剖析 一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求 “缓存+数据库” 必须保持一致性的话,最好不要做这个方案,即:读请求和写请 阅读全文
posted @ 2019-05-27 14:10 myseries 阅读(1307) 评论(0) 推荐(0) 编辑
摘要:前言 随着分布式服务架构的流行与普及,原来在单体应用中执行的多个逻辑操作,现在被拆分成了多个服务之间的远程调用。虽然服务化为我们的系统带来了水平伸缩的能力,然而随之而来挑战就是分布式事务问题,多个服务之间使用自己单独维护的数据库,它们彼此之间不在同一个事务中,假如A执行成功了,B执行却失败了,而A的 阅读全文
posted @ 2019-05-06 15:22 myseries 阅读(9328) 评论(0) 推荐(1) 编辑
摘要:一、前言 分布式系统中我们会对一些数据量大的业务进行分拆,如:用户表,订单表。因为数据量巨大一张表无法承接,就会对其进行分库分表。 但一旦涉及到分库分表,就会引申出分布式系统中唯一主键ID的生成问题,永不迁移数据和避免热点的文章中要求需要唯一ID的特性: 整个系统ID唯一 ID是数字类型,而且是趋势 阅读全文
posted @ 2019-04-29 11:27 myseries 阅读(1424) 评论(0) 推荐(0) 编辑
摘要:文章出处:https://www.cnblogs.com/taiyonghai/p/6094350.html https://blog.csdn.net/mine_song/article/details/64118963 1 本地事务 还是以支付宝转账余额宝为例,假设有 支付宝账户表:A(id,u 阅读全文
posted @ 2019-03-12 09:45 myseries 阅读(450) 评论(0) 推荐(0) 编辑