随笔分类 - 分布式服务 / Zookeeper
摘要:一、分布式服务体系 (一)分布式系统概述 单体系统存在业务扩展性(任何业务的调整都需要发布整个系统)、性能扩展性(动态扩容对单体系统而言效率低下)、代码复杂度(修改一处代码容易引发连锁反应)的问题。 系统扩展性,指的是当系统的业务需求发生变化时,我们对现在系统改动程度的一种控制能力。改动程度
阅读全文
摘要:一、业务场景分析 在实际开发中,我们需要使用到锁,来防止并发问题,以秒杀为例,如果没有锁的处理,就会发生超卖的问题,超卖问题的出现,是由于多线程并发处理,一个事务未提交,但是另外的线程来查询时,可以查询到仍有库存,就会发生超卖。 解决这类问题,一般有三种方案: 1、使用锁处理 也就是让所有的操作都串
阅读全文
摘要:一、配置维护 配置维护也就是配置中心,目前市面上比较常见的配置中心(注册中心)有spring cloud config、Nacos、Apollo等 zk可以通过发布订阅模式实现对集群文件的管理和维护。发布订阅模式分为推模式和拉模式,而zk的发布订阅模式采用的是推拉结合的方式实现的。 实现原理: 首先
阅读全文
摘要:一、重要理论 (一)数据模型 zk 数据存储结构与标准的 Unix 文件系统非常相似,都是在根节点下挂很多子节点。zk 中没有引入传统文件系统中目录与文件的概念,而是使用了称为 znode 的数据节点概念。 znode 是 zk 中数据的最小单元,每个 znode 上都可以保存数据,同时还可以挂载子
阅读全文
摘要:一、Zookeeper简介 Zookeeper是一个开源的分布式应用程序协调服务器。其为分布式系统提供一致性服务。 其一致性服务主要是通过Paxos算法和ZAB协议完成的。 其主要功能包括:配置维护、域名服务、分布式同步、集群管理等。 二、一致性 Zookeeper的具有一致性,主要是因为ZK有以下
阅读全文
摘要:一、单机版安装 1、安装Zookeeper 官网地址:https://zookeeper.apache.org/ #下载安装包 wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6
阅读全文