【分布式系统架构理论】
青山师
编码、架构、程序人生;此博客输出内容永久免费,长期分享JAVA开发技术
展开
-
CAP理论
分布式领域CAP理论Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容错性) 可靠性定理:任何分布式系统只可同时满足二点,没法三者兼顾。 忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。关系数据库的ACID模型拥有 高一致性 + 可用性 很转载 2016-12-01 17:38:21 · 519 阅读 · 0 评论 -
spin_lock 自旋锁 和 mutex_lock 互斥锁的区别
spin_lock 自旋锁 和 mutex_lock 互斥锁的区别内核锁的讨论:为什么需要内核锁?多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是可以访问所有内核数据的,因此要对共享数据进行保护,即互斥处理有哪些内核锁机制?(1)原子操作atomic_t数据类型,atomic_inc(atomic_t *v)将v加1 原子操作比普通操作效率要低,因此必要时才使用,且不能与普通转载 2017-08-10 17:11:15 · 1836 阅读 · 0 评论 -
自旋锁(spinlock)
自旋锁(spinlock) 自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,”自旋”一词就是因此而得名。 由于自旋锁使用者一般保持锁时间非常短,因此选择自旋而不是睡眠是非常必要的,自旋锁的效率远高于互斥锁。 信号量和读写信号量适合于保持时间较长的情况,它们会导致调用者睡眠,因此只能在进程上下转载 2017-08-10 16:51:53 · 508 阅读 · 0 评论 -
Quorum
基于Quorum投票的冗余控制算法 Quorom 机制,是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法,其主要数学思想来源于鸽巢原理。10只鸽子放进9个鸽笼,那么一定有一个鸽笼放进了至少两只鸽子。在有冗余数据的分布式存储系统当中,冗余数据对象会在不同的机器之间存放多份拷贝。但是同一时刻一个数据对象的多份拷贝只能用于读或者用于写。 该算法可以保证同一份数据对象的多份...转载 2018-08-13 17:30:31 · 1223 阅读 · 0 评论 -
【转】你真的了解延时队列吗
1 使用场景关闭空闲连接。服务器中,有很多客户端的连接,空闲一段时间之后需要关闭之。清理过期数据业务上。比如缓存中的对象,超过了空闲时间,需要从缓存中移出。任务超时处理。在网络协议滑动窗口请求应答式交互时,处理超时未响应的请求。下单之后如果三十分钟之内没有付款就自动取消订单。订餐通知:下单成功后60s之后给用户发送短信通知。当订单一直处于未支付状态时,如何及时的关闭订单,并退还库存...转载 2018-08-16 17:23:18 · 489 阅读 · 0 评论