
分布式
Franco蜡笔小强
小码农
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
分布式锁-这一篇全了解(Redis实现分布式锁完美方案)
前言在某些场景中,多个进程必须以互斥的方式独占共享资源,这时用分布式锁是最直接有效的。随着技术快速发展,数据规模增大,分布式系统越来越普及,一个应用往往会部署在多台机器上(多节点),在有些场景中,为了保证数据不重复,要求在同一时刻,同一任务只在一个节点上运行,即保证某一方法同一时刻只能被一个线程执行。在单机环境中,应用是在同一进程下的,只需要保证单进程多线程环境中的线程安全性,通过 JAV...原创 2019-12-31 12:11:29 · 25693 阅读 · 8 评论 -
[分布式]:分布式系统的BASE理论
BASE理论eBay的架构师Dan Pritchett源于对大规模分布式系统的实践总结,在ACM上发表文章提出BASE理论,BASE理论是对CAP理论的延伸,核心思想是即使无法做到强一致性(Strong Consistency,CAP的一致性就是强一致性),但应用可以采用适合的方式达到最终一致性(Eventual Consitency)。BASE是指基本可用(Basically Available...转载 2018-05-24 17:01:14 · 503 阅读 · 0 评论 -
[分布式]:关于分布式事务、两阶段提交协议、三阶提交协议
随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在分布式一致性一文中主要介绍了分布式系统中存在的一致性问题。本文将简单介绍如何有效的解决分布式的一致性问题,其中包括什么是分布式事务,二阶段提交和三阶段提交。分布式一致性回顾在...转载 2018-05-24 17:02:40 · 270 阅读 · 0 评论 -
[分布式]:分布式一致性算法——paxos
随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在关于分布式事务、两阶段提交协议、三阶提交协议一文中主要用于解决分布式一致性问题的集中协议,那么这篇文章主要讲解业内公认的比较难的也是最行之有效的paxos算法。我认为对pax...转载 2018-05-24 17:07:47 · 432 阅读 · 0 评论 -
Zookeeper介绍(一)——背景知识
该系列文章转自Hollis本文主要介绍什么是分布式系统以及分布式系统存在哪些问题。分布式互联网技术的发展,导致大型网站需要的计算能力和存储能力越来越高。网站架构逐渐从集中式转变成分布式。什么是分布式把一个计算任务分解为若干个计算单元,并分派到若干个不同的计算机中去执行,然后再汇总计算结果。分布式的工作方式有点类似于团队合作。当有一项任务分配到某个团队之后,团队内部的成员开始各司其职,然后把工作结果...转载 2018-05-24 18:50:16 · 203 阅读 · 0 评论 -
Zookeeper介绍(二)——Zookeeper概述
在Zookeeper介绍(一)——背景知识中介绍过,随着网站的不断发展,逐渐从集中式演变到分布式。但是,在分布式系统中存在着很多数据一致性的问题。那么,有没有什么系统或者组件能够帮助我们解决这些一致性问题呢?本文将简单介绍一个分布式服务协调组件——Zookeeper。什么是ZookeeperZookeeper是一个开放源码的分布式服务协调组件,是Google Chubby的开源实现。是一个高性能的...转载 2018-05-24 18:51:06 · 275 阅读 · 0 评论 -
服务限流算法的几种实现
保障服务稳定的三大利器:熔断降级、服务限流和故障模拟。今天和大家谈谈限流算法的几种实现方式,本文所说的限流并非是Nginx层面的限流,而是业务代码中的逻辑限流。为什么需要限流按照服务的调用方,可以分为以下几种类型服务1、与用户打交道的服务比如web服务、对外API,这种类型的服务有以下几种可能导致机器被拖垮: 用户增长过快(这是好事) 因为某个热点事件(微博热搜)...转载 2018-09-17 09:36:39 · 493 阅读 · 0 评论 -
一篇文章带你深入理解Zookeeper
本文来自作者投稿,作者:林湾村龙猫,Hollis做了一些修改和补充。随着互联网技术的发展,大型网站需要的计算能力和存储能力越来越高。网站架构逐渐从集中式转变成分布式。虽然分布式和集中式系统相比有很多优势,比如能提供更强的计算、存储能力,避免单点故障等问题。但是由于采用分布式部署的方式,就经常会出现网络故障等问题,并且如何在分布式系统中保证数据的一致性和可用性也是一个比较关键的问题。分布...转载 2018-12-04 21:04:15 · 530 阅读 · 0 评论 -
常见分布式全局唯一ID生成策略及算法的对比
全局唯一的 ID 几乎是所有系统都会遇到的刚需。这个 id 在搜索, 存储数据, 加快检索速度 等等很多方面都有着重要的意义。工业上有多种策略来获取这个全局唯一的id,针对常见的几种场景,我在这里进行简单的总结和对比。简单分析一下需求 [1]所谓全局唯一的 id 其实往往对应是生成唯一记录标识的业务需求。这个 id 常常是数据库的主键,数据库上会建立聚集索引(cluster index...转载 2018-12-10 08:53:58 · 1001 阅读 · 0 评论 -
[分布式]:分布式系统的CAP理论
2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想。2年后,麻省理工学院的Seth Gilbert和Nancy Lynch从理论上证明了CAP。之后,CAP理论正式成为分布式计算领域的公认定理。CAP理论概述一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition...转载 2018-05-24 17:00:11 · 23673 阅读 · 11 评论 -
[分布式]:初识分布式系统
随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。本文主要简单介绍了分布式系统的概念、分布式系统的特点、常用的分布式方案以及分布式和集群的区别等。一、集中式系统在学习分布式之前,先了解一下与之相对应的集中式系统是什么样的。集中...转载 2018-05-24 16:58:00 · 332 阅读 · 0 评论 -
Zookeeper介绍(三)——Zookeeper的安装
在Zookeeper概述中简单介绍了Zookeepr,工欲善其事,必先利其器。那么本文就介绍如何安装Zookeeper。Zookeeper有三种安装方式:单机模式、集群模式、伪集群模式。单机模式单机模式表示只运行在一台服务器上,适合测试环境; 安装步骤如下:一、下载ZooKeeper二、解压三、在conf目录下创建一个配置文件zoo.cfgtickTime=2000 dataDir=/Users...转载 2018-05-25 11:41:55 · 256 阅读 · 0 评论 -
Zookeeper介绍(四)——Zookeeper中的基本概念
在介绍了Zookeeper的安装之后,就可以了解一下Zookeeper中的常用概念了。本文将主要介绍ZK中角色、数据模型、节点、ACL、watcher等概念。角色在Zookeeper概述中也提到过,Zookeeper的Follower在接到客户端请求之后会把请求转发到Leader,这里提到的Follower和Leader就是ZK中的角色,ZK中有以下角色:领导者(leader)负责进行投票的发起和...转载 2018-05-25 11:42:49 · 303 阅读 · 0 评论 -
[分布式]:深入理解分布式系统的2PC和3PC
关注我的博客(http://www.hollischuang.com)的人可能都知道,我之前写过一篇文章专门介绍了一下2PC和3PC(详见:关于分布式事务、两阶段提交协议、三阶提交协议)。上一篇文章中主要介绍了下这两种分布式一致性协议的概念、具体提交流程以及优缺点。本文在上篇文章的基础上在深入了解下这两种分布式一致性协议。主要来分析下为什么2PC存在数据一致性问题,3PC是如何解决了部分2PC存在...转载 2018-05-25 11:44:09 · 6484 阅读 · 3 评论 -
[分布式]:关于命名服务的知识点都在这里了
命名服务,顾名思义,就是帮助我们对资源进行命名的服务,命名的目的当然是为了更好的定位了。这里所提到的资源在不同场景中包括但不限于计算机(主机)名和地址、应用提供的服务的地址或者远程对象等。本文主要介绍Java中的命名服务、简单的命名服务的实现策略以及在分布式场景中如何实现命名服务。JNDI要介绍命名服务,不得不提 Java 命名和目录接口(Java Naming and Directory Int...转载 2018-05-25 11:44:53 · 1566 阅读 · 0 评论 -
[分布式]:Java中的事务——JDBC事务和JTA事务
我的博客中曾经关于事务有过很多讨论,之前的事务介绍基本都是数据库层面的事务,本文来介绍一下J2EE中和事务相关的内容,在阅读本文之前,希望读者对分布式有一定的了解。关于事务的基础知识这里不再详细介绍,想要了解的同学可以在我的博客中阅读相关文章。Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。 常见的容器事务如Spring事务,容器事务主要是...转载 2018-05-25 11:45:54 · 348 阅读 · 0 评论 -
[分布式]:Java中的事务——全局事务与本地事务
在上一篇文章中说到过,Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。这是从事务的实现角度区分的,本文从另外一个角度来再次区分一下Java中的事务。站在事务管理的角度,可以把Java中用到的事务分为本地事务和全局事务。本地事务不用事务的编程框架来管理事务,直接使用资源管理器来控制事务。典型的就是java.sql.Connection 中的 ...转载 2018-05-25 11:46:42 · 423 阅读 · 0 评论 -
[分布式]:分布式锁的几种实现方式
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致...转载 2018-05-25 11:47:29 · 1952 阅读 · 0 评论 -
[分布式]:关于分布式一致性的探究
声明以下分布式系列的文章大多转自Hollis随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在初识分布式系统一文中简单介绍了分布式的基本概念,本文将在上篇文章的基础上继续学习分布式的一致性问题。主要介绍分布式一致性的基本概念...转载 2018-05-24 16:49:08 · 2720 阅读 · 0 评论 -
理解大型分布式网站你必须知道这些概念
本文转载自 Java高级架构1. I/O优化增加缓存,减少磁盘的访问次数。优化磁盘的管理系统,设计最优的磁盘方式策略,以及磁盘的寻址策略,这是在底层操作系统层面考虑的。设计合理的磁盘存储数据块,以及访问这些数据库的策略,这是在应用层面考虑的。例如,我们可以给存放的数据设计索引,通过寻址索引来加快和减少磁盘的访问量,还可以采用异步和非阻塞的方式加快磁盘的访问速度。应用合理的RAID策略提升磁盘I/O...转载 2018-04-24 17:13:19 · 303 阅读 · 0 评论