分布式
hanchao5272
路漫漫其修远兮,吾将上下而求索。https://hanchao.blog.csdn.net/
展开
-
常见容错机制:failfast、failsafe、failover、failback
failfast(快速故障)描述:如果出现故障,则立即报错。通常用于非幂等性操作,如:下单操作,如果写入故障,则立即报错,不必重试。示例: /** * fail-fast: 快速故障 */ public Object failFast() { //保存订单 boolean result = MajorExternalS...原创 2019-07-18 17:48:24 · 7540 阅读 · 0 评论 -
Redis: 缓存过期、缓存雪崩、缓存穿透、缓存击穿(热点)、缓存并发(热点)、多级缓存、布隆过滤器
1.缓存过期缓存过期:在使用缓存时,可以通过TTL(Time To Live)设置失效时间,当TTL为0时,缓存失效。为什么要设置缓存的过期时间呢?一、为了节省内存例如,在缓存中存放了近3年的10亿条博文数据,但是经常被访问的可能只有10万条,其他的可能几个月才访问一次。那么,就没有必要让所有的博文数据长期存在于缓存中。设置一个过期时间比方说7天,超过7天未被访问的博文数据将会自动失效...原创 2019-08-18 16:34:24 · 5628 阅读 · 25 评论 -
分布式概念简单了解:数据一致性、CAP、BASE、分布式事务、分布式锁
今天对分布式相关的一些概念与理论进行学习。1.集群与分布式**集群:**相同的应用部署在多台服务器。**分布式:**不同的应用部署在多台服务器。1.数据一致性在分布式环境中,为了提高系统整体性能,数据以多副本冗余机制存储,副本之间通过数据复制进行同步。数据副本与数据复制必然引入新的问题:如何处理副本数据的一致性?总的来说,无法找到一种能够满足所有分布式环境的一致性解决方案,很多时候要...原创 2019-08-24 16:44:05 · 1495 阅读 · 2 评论 -
负载均衡、DNS、F5、反向代理、LVS、四层与七层、CDN
1.负载均衡负载均衡:将负载(大量请求)均匀的、平衡的分摊到多个服务节点上进行处理。实现负载均衡有很多种手段,例如:DNS、硬件负载均衡设备、Nginx反向代理、LVS。1.1.DNSDNS:Domain Name System,域名系统,更加专业的名字为域名解析系统。域名解析系统部署在DNS服务器上,提供域名解析服务。简单来说,域名解析就是将一个域名解析成多个ip地址。如下图是通过...原创 2019-08-25 16:44:35 · 8389 阅读 · 24 评论 -
Redis: 分布式锁的官方算法RedLock以及Java版本实现库Redisson
1.简介在单机应用中,当多个线程访问共享资源时,我们通常通过synchronized关键字、Lock锁、线程安全对象等措施保证资源的安全使用。在分布式环境下,上述措施不再能满足需求,这事,我们需要一种应用于分布式换件的加锁机制,即:分布式锁。分布式锁的实现方式有多重,如:数据库、Redis、ZooKeeper等等。本文主要讲解Redis的分布式锁实现方式,主要依据官方文档:Distribu...原创 2019-08-17 17:08:45 · 5445 阅读 · 3 评论 -
四张图理解一致性哈希算法(Consistent Hashing)
1.简述1.1.哈希算法哈希算法:将任意长度的输入通过散列算法转换成固定长度的输出。哈希算法是一种映射算法,将任意个数的输入映射为固定个数的哈希值。1.2.应用场景举例分布式缓存现有用户数据3000万,为提高访问速度,将用户基本信息保存在缓存中,其中:key=user:{uid},其中uid为用户ID,由UUID生成。value为姓名、账号级别等构成的Json串。为了分担单台服务...原创 2019-08-26 13:50:28 · 1862 阅读 · 4 评论