【Zookeeper】一、Zookeeper的使命

devtools/2024/11/19 21:27:52/

摩尔定律揭示了集成电路每18个月计算性能就会增加一倍。

Zookeeper以Fast Paxos算法为基础。

在一个大型应用中,经常会按照功能边界将应用分为多个模块,这些模块可以分别独立部署。而要完成某一项具体的功能,不能仅靠其中一个模块,需要多个模块一起配合工作。如何让一个应用中多个模块之间协同工作是一件非常困难的事情。

Zookeeper的设计保证了健壮性,可以让开发者更多的关注到自己的应用程序逻辑本身,不必过多的考虑程序模块之间的协同工作。

zookeeper_8">关于zookeeper的核心功能

用于在分布式系统中协作多个任务,一个协作任务是指一个包含多个进程的任务。这个任务可以是为了协作和管理竞争。

协作是指多个进程共同处理某些事情,一个进程采取某些行动使得其他进程可以继续工作。比如在典型的主从架构中,从节点处于空闲状态会通知主节点,说明其可以接收下一项任务,于是主节点便会分配任务给从节点。

竞争是指两个进程不能同时处理一项工作,其中一个进程必须等待另一个进程处理完成才能继续进行。例如还是在主从架构中,进行主节点选举时,很多节点都想成为主节点,所以此时必须通过互斥排他锁来保证只有一个节点成为主节点。

Zookeeper使用实例
HBase

在HBase中,Zookeeper用于选举一个集群内的主节点。

Kafka

在Kafka中,Zookeeper用于崩溃检测,实现主题(Topic)的发现,并保持主题的生产和消费状态。

Zookeeper名字的来源

ZooKeeper由雅虎研究院开发。小组也一同致力于Hadoop项目,参与了很多动物命名的项目,其中有广为人知的Apache Pig项目。

分布式系统就像动物园中的各种动物,混乱且难以管理,而Zookeeper就是将这一切变得可控。

Zookeeper解决了什么问题

使用ZooKeeper可以让开发人员更专注于其应用本身的逻辑而不是神秘的分布式系统概念。

Zookeeper不适合的场景

ZooKeeper不适合用作海量数据存储。

关于分布式系统的定义

同时跨越多个物理主机,独立运行的多个软件组件所组成的系统。

为什么要采用分布式去设计系统
  • 充分利用多处理器的运算能力来运行组件。
  • 一个系统由于战略的原因,需要分布在多个地域,例如一个应用需要多个不同地点的服务器提供服务。
分布式系统的各进程之间如何通信?
  • 通过网络进行信息交换。
  • 读写某些共享存储。

网络通信是分布式系统中并发设计的基础。


http://www.ppmy.cn/devtools/135299.html

相关文章

django从入门到精通(六)——auth认证及自定义用户

Django 提供了一个强大的用户认证系统,允许开发者轻松管理用户的注册、登录、权限和组等功能。以下是对 Django 用户认证系统的详细介绍,包括默认的用户认证、自定义用户认证和权限设置。 1. 默认用户认证 1.1 用户模型 Django 默认提供了一个用户模型…

计算机网络之表示层

一、定义与概述 在计算机网络中,OSI(Open Systems Interconnection)模型是一种广泛接受的分层模型,用于描述网络通信的各个方面。这个模型将网络通信划分为七个不同的层次,每一层都负责特定的任务,以确保数…

一文理解:结构化数据、非结构化数据、半结构化数据和元数据

一文理解:结构化数据、非结构化数据、半结构化数据和元数据 1. 结构化信息 (Structured Data)2. 非结构化信息 (Unstructured Data)3. 半结构化信息 (Semi-structured Data)4. 元数据 (Metadata)5. 结构化信息、非结构化信息、半结构化信息和元数据之间的关系总结 1…

ArcGIS Pro的arpx项目在ArcGIS Server中发布要素服务(FeatureServer)

写在前面 前一段时间做ArcGIS 的javascript开发,对arcgis的服务概念比较混乱,只记得当时使用arcgis pro直接发布要素服务,然后基于javascript开发就够了,但是arcgis pro是portal托管服务,你不需要自己的arcgis server…

Centos安装Elasticsearch教程

网上相关的安装教程有很多,基本是官网下载、解压、启动完事了,本文主要记录个人在实际安装过程终于到的问题,如果你刚好也刷到了这篇文档,希望对你有所帮助。 操作系统版本:Centos7Elasticsearch版本:7.9.3…

Springboot集成ElasticSearch实现minio文件内容全文检索

一、docker安装Elasticsearch (1)springboot和Elasticsearch的版本对应关系如下,请看版本对应: 注意安装对应版本,否则可能会出现一些未知的错误。 (2)拉取镜像 docker pull elasticsearch:7…

计算机网络基础——针对实习面试

目录 计算机网络基础OSI七层模型TCP/IP四层模型为什么网络要分层?常见网络协议 计算机网络基础 OSI七层模型 开放系统互连参考模型(Open Systems Interconnection Reference Model,简称OSI模型)是一个概念性模型,用于…

Prompt设计技巧和高级PE

目录 PD and PE:INTRODUCTION AND ADVANCED METHODS 1.Instructions 2.Basic Knowledge - Prompt 2.1 Prompt 2.2 Prompt Cases 2.3 Prompt Engineering 3. LLM 的局限 4. Prompt 设计技巧和方法 4.1 Chain of thought prompting 4.2 Encouraging the model to be fa…