国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

zookeeper最基礎(chǔ)教程

這篇具有很好參考價(jià)值的文章主要介紹了zookeeper最基礎(chǔ)教程。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


一、簡介

1、工作機(jī)制

官方地址:https://zookeeper.apache.org/

Zookeeper是一個(gè)開源的分布式的,為分布式框架提供協(xié)調(diào)服務(wù)的Apache項(xiàng)目。

  • Zookeeper從設(shè)計(jì)模式角度來理解:是一個(gè)基于觀察者模式設(shè)計(jì)的分布式服務(wù)管理框架,它負(fù)責(zé)存儲(chǔ)和管理大家都關(guān)心的數(shù)據(jù),然后接受觀察者的注冊,一旦這些數(shù)據(jù)的狀態(tài)發(fā)生變化,Zookeeper就將負(fù)責(zé)通知已經(jīng)在Zookeeper上注冊的那些觀察者做出相應(yīng)的反應(yīng)。

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

2、特點(diǎn)

  • Zookeeper:一個(gè)領(lǐng)導(dǎo)者(Leader),多個(gè)跟隨者(Follower)組成的集群。
  • 集群中只要有半數(shù)以上節(jié)點(diǎn)存活,Zookeeper集群就能正常服務(wù)。所以Zookeeper適合安裝奇數(shù)臺(tái)服務(wù)器。
  • 全局?jǐn)?shù)據(jù)一致:每個(gè)Server保存一份相同的數(shù)據(jù)副本,Client無論連接到哪個(gè)Server,數(shù)據(jù)都是一致的。
  • 更新請求順序執(zhí)行,來自同一個(gè)Client的更新請求按其發(fā)送順序依次執(zhí)行。
  • 數(shù)據(jù)更新原子性,一次數(shù)據(jù)更新要么成功,要么失敗。
  • 實(shí)時(shí)性,在一定時(shí)間范圍內(nèi),Client能讀到最新數(shù)據(jù)。

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

3、數(shù)據(jù)結(jié)構(gòu)

  • ZooKeeper數(shù)據(jù)模型的結(jié)構(gòu)與Unix文件系統(tǒng)很類似。
  • 整體上可以看作是一棵樹,每個(gè)節(jié)點(diǎn)稱做一個(gè)ZNode。
  • 每一個(gè)ZNode默認(rèn)能夠存儲(chǔ)1MB的數(shù)據(jù),每個(gè)ZNode都可以通過其路徑唯一標(biāo)識(shí)。

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

4、應(yīng)用場景

提供的服務(wù)包括:統(tǒng)一命名服務(wù)、統(tǒng)一配置管理、統(tǒng)一集群管理、服務(wù)器節(jié)點(diǎn)動(dòng)態(tài)上下線、軟負(fù)載均衡等。

  • 統(tǒng)一命名服務(wù)
  • 統(tǒng)一配置管理
  • 統(tǒng)一集群管理
  • 服務(wù)器節(jié)點(diǎn)動(dòng)態(tài)上下線
  • 軟負(fù)載均衡等

統(tǒng)一命名服務(wù)

  • 在分布式環(huán)境下,經(jīng)常需要對應(yīng)用/服務(wù)進(jìn)行統(tǒng)一命名,便于識(shí)別。例如:IP不容易記住,而域名容易記住。

外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳

統(tǒng)一配置管理

  • 分布式環(huán)境下,配置文件同步非常常見。

    • 一般要求一個(gè)集群中,所有節(jié)點(diǎn)的配置信息是一致的,比如 Kafka 集群。
    • 對配置文件修改后,希望能夠快速同步到各個(gè)節(jié)點(diǎn)上。
  • 配置管理可交由ZooKeeper實(shí)現(xiàn)。

    • 可將配置信息寫入ZooKeeper上的一個(gè)Znode。
    • 各個(gè)客戶端服務(wù)器監(jiān)聽這個(gè)Znode。
    • 一旦Znode中的數(shù)據(jù)被修改,ZooKeeper將通知各個(gè)客戶端服務(wù)器。

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

統(tǒng)一集群管理

  • 分布式環(huán)境中,實(shí)時(shí)掌握每個(gè)節(jié)點(diǎn)的狀態(tài)是必要的。
    • 可根據(jù)節(jié)點(diǎn)實(shí)時(shí)狀態(tài)做出一些調(diào)整。
  • ZooKeeper可以實(shí)現(xiàn)實(shí)時(shí)監(jiān)控節(jié)點(diǎn)狀態(tài)變化。
    • 可將節(jié)點(diǎn)信息寫入ZooKeeper上的一個(gè)ZNode。
    • 監(jiān)聽這個(gè)ZNode可獲取它的實(shí)時(shí)狀態(tài)變化。

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

服務(wù)器動(dòng)態(tài)上下線

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

軟負(fù)載均衡

  • 在Zookeeper中記錄每臺(tái)服務(wù)器的訪問數(shù),讓訪問數(shù)最少的服務(wù)器去處理最新的客戶端請求。

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

5、選舉機(jī)制

首次啟動(dòng)

  • 1)服務(wù)器1啟動(dòng),發(fā)起一次選舉。服務(wù)器1投自己一票。此時(shí)服務(wù)器1票數(shù)一票,不夠半數(shù)以上(3票),選舉無法完成,服務(wù)器1狀態(tài)保持為LOOKING;
  • 2)服務(wù)器2啟動(dòng),再發(fā)起一次選舉。服務(wù)器1和2分別投自己一票并交換選票信息:此時(shí)服務(wù)器1發(fā)現(xiàn)服務(wù)器2的myid比自己目前投票推舉的(服務(wù)器1)大,更改選票為推舉服務(wù)器2。此時(shí)服務(wù)器1票數(shù)0票,服務(wù)器2票數(shù)2票,沒有半數(shù)以上結(jié)果,選舉無法完成,服務(wù)器1,2狀態(tài)保持LOOKING。
  • 3)服務(wù)器3啟動(dòng),發(fā)起一次選舉。此時(shí)服務(wù)器1和2都會(huì)更改選票為服務(wù)器3。此次投票結(jié)果:服務(wù)器1為0票,服務(wù)器2為0票,服務(wù)器3為3票。此時(shí)服務(wù)器3的票數(shù)已經(jīng)超過半數(shù),服務(wù)器3當(dāng)選Leader。服務(wù)器1,2更改狀態(tài)為FOLLOWING,服務(wù)器3更改狀態(tài)為LEADING;
  • 4)服務(wù)器4啟動(dòng),發(fā)起一次選舉。此時(shí)服務(wù)器1,2,3已經(jīng)不是LOOKING狀態(tài),不會(huì)更改選票信息。交換選票信息結(jié)果:服務(wù)器3為3票,服務(wù)器4為1票。此時(shí)服務(wù)器4服從多數(shù),更改選票信息為服務(wù)器3,并更改狀態(tài)為FOLLOWING;
  • 5)服務(wù)器5啟動(dòng),同4一樣當(dāng)小弟。

外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳

非第一次啟動(dòng)

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

二、軟件安裝

# The number of milliseconds of each tick
# 通信心跳時(shí)間,Zookeeper服務(wù)器與客戶端心跳時(shí)間,單位毫秒
tickTime=2000d

# The number of ticks that the initial 
# synchronization phase can take
# LF初始通信時(shí)限
initLimit=10

# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
# LF同步通信時(shí)限
syncLimit=5

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
#dataDir=/tmp/zookeeper
# 保存Zookeeper中的數(shù)據(jù)
dataDir=/opt/module/zookeeper-3.5.7/zkData

# the port at which the clients will connect
#客戶端連接端口,通常不做修改
clientPort=2181

1、單機(jī)版安裝

安裝JDK(首先需要安裝JDK)

yum install java-1.8.0-openjdk-devel.x86_64 

創(chuàng)建文件/opt/module

mkdir /opt/module
cd /opt/module

下載文件

wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7-bin.tar.gz

解壓文件

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module

修改安裝目錄名

mv apache-zookeeper-3.5.7-bin zookeeper-3.5.7

配置環(huán)境變量

vim /etc/profile.d/my_env.sh

# ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.5.7
export PATH=$PATH:$ZOOKEEPER_HOME/bin

加載環(huán)境變量

source /etc/profile

添加配置文件

cd /opt/module/zookeeper-3.5.7/conf/
mv zoo_sample.cfg zoo.cfg

修改配置文件

vim zoo.cfg
#	修改數(shù)據(jù)所在文件
dataDir=/opt/module/zookeeper-3.5.7/zkData

創(chuàng)建日志目錄

mkdir /opt/module/zookeeper-3.5.7/zkData

啟動(dòng)zookeeper

bin/zkServer.sh start

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

查詢啟動(dòng)狀態(tài)

# 查看進(jìn)程
jps
# 查看狀態(tài)
bin/zkServer.sh status

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

啟動(dòng)客戶端

bin/zkCli.sh

退出客戶端

quit

停止zookeeper

bin/zkServer.sh stop

2、集群安裝

安裝JDK(首先需要安裝JDK)

yum install java-1.8.0-openjdk-devel.x86_64 

創(chuàng)建文件/opt/module

mkdir /opt/module
cd /opt/module

下載文件

wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7-bin.tar.gz

解壓文件

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module

修改安裝目錄名

cd /opt/module
mv apache-zookeeper-3.5.7-bin zookeeper-3.5.7

創(chuàng)建數(shù)據(jù)存儲(chǔ)目錄

cd /opt/module/zookeeper-3.5.7/
mkdir zkData

/opt/module/zookeeper-3.5.7/zkData目錄下創(chuàng)建一個(gè)myid的文件

在文件中添加與server對應(yīng)的編號(注意:上下不要有空行,左右不要有空格)

cd /opt/module/zookeeper-3.5.7/zkData
vim myid
#	服務(wù)器編號,每臺(tái)服務(wù)器要不同
1

配置zoo.cfg配置文件

cd /opt/module/zookeeper-3.5.7/conf
mv zoo_sample.cfg zoo.cfg

修改配置文件

vim /opt/module/zookeeper-3.5.7/conf/zoo.cfg

#	修改數(shù)據(jù)存儲(chǔ)位置
dataDir=/opt/module/zookeeper-3.5.7/zkData

# 增加集群配置
#######################cluster##########################
server.1=hadoop101:2888:3888
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

啟動(dòng)集群(3臺(tái)都要啟動(dòng))

cd /opt/module/zookeeper-3.5.7
bin/zkServer.sh start

查看狀態(tài)

bin/zkServer.sh status

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

3、配置參數(shù)解讀(zoo.cfg)

Zookeeper中的配置文件zoo.cfg中參數(shù)含義解讀如下:

# 通信心跳時(shí)間
tickTime=2000
# LF初始通信時(shí)限
initLimit=10
# LF同步通信時(shí)限
syncLimit=5
# 保存Zookeeper中的數(shù)據(jù)
dataDir=/tmp/zookeeper
# 客戶端連接端口,通常不做修改
clientPort=2181
  • tickTime = 2000:通信心跳時(shí)間,Zookeeper服務(wù)器與客戶端心跳時(shí)間,單位毫秒

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

  • initLimit = 10:LF初始通信時(shí)限

Leader和Follower初始連接時(shí)能容忍的最多心跳數(shù)(tickTime的數(shù)量)

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

  • syncLimit = 5:LF同步通信時(shí)限

Leader和Follower之間通信時(shí)間如果超過syncLimit * tickTime,Leader認(rèn)為Follwer死掉,從服務(wù)器列表中刪除Follwer。

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

  • dataDir:保存Zookeeper中的數(shù)據(jù)

注意:默認(rèn)的tmp目錄,容易被Linux系統(tǒng)定期刪除,所以一般不用默認(rèn)的tmp目錄。

  • clientPort = 2181:客戶端連接端口,通常不做修改。

4、ZK集群啟動(dòng)腳本

#!/bin/bash

case $1 in
"start"){
	for i in hadoop102 hadoop103 hadoop104
	do
        echo ---------- zookeeper $i 啟動(dòng) ------------
		ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
	done
};;
"stop"){
	for i in hadoop102 hadoop103 hadoop104
	do
        echo ---------- zookeeper $i 停止 ------------    
		ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
	done
};;
"status"){
	for i in hadoop102 hadoop103 hadoop104
	do
        echo ---------- zookeeper $i 狀態(tài) ------------    
		ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
	done
};;
esac

三、命令行操作

1、語法

命令基本語法 功能描述
help 顯示所有操作命令
ls path 使用 ls 命令來查看當(dāng)前znode的子節(jié)點(diǎn) [可監(jiān)聽]-w 監(jiān)聽子節(jié)點(diǎn)變化-s 附加次級信息
create 普通創(chuàng)建-s 含有序列-e 臨時(shí)(重啟或者超時(shí)消失)
get path 獲得節(jié)點(diǎn)的值 [可監(jiān)聽]-w 監(jiān)聽節(jié)點(diǎn)內(nèi)容變化-s 附加次級信息
set 設(shè)置節(jié)點(diǎn)的具體值
stat 查看節(jié)點(diǎn)狀態(tài)
delete 刪除節(jié)點(diǎn)
deleteall 遞歸刪除節(jié)點(diǎn)

2、使用

啟動(dòng)客戶端

bin/zkCli.sh -server hadoop101:2181

顯示所有操作命令

help

查看當(dāng)前znode中所包含的內(nèi)容

ls /

查看當(dāng)前節(jié)點(diǎn)詳細(xì)數(shù)據(jù)

ls -s /
  • czxid:創(chuàng)建節(jié)點(diǎn)的事務(wù)zxid
    • 每次修改ZooKeeper狀態(tài)都會(huì)產(chǎn)生一個(gè)ZooKeeper事務(wù)ID。事務(wù)ID是ZooKeeper中所有修改總的次序。每次修改都有唯一的zxid,如果zxid1小于zxid2,那么zxid1在zxid2之前發(fā)生。
  • ctime:znode被創(chuàng)建的毫秒數(shù)(從1970年開始)
  • mzxid:znode最后更新的事務(wù)zxid
  • mtime:znode最后修改的毫秒數(shù)(從1970年開始)
  • pZxid:znode最后更新的子節(jié)點(diǎn)zxid
  • cversion:znode子節(jié)點(diǎn)變化號,znode子節(jié)點(diǎn)修改次數(shù)
  • dataversion:znode數(shù)據(jù)變化號
  • aclVersion:znode訪問控制列表的變化號
  • ephemeralOwner:如果是臨時(shí)節(jié)點(diǎn),這個(gè)是znode擁有者的session id。如果不是臨時(shí)節(jié)點(diǎn)則是0。
  • dataLength:znode的數(shù)據(jù)長度
  • numChildren:znode子節(jié)點(diǎn)數(shù)量

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

3、節(jié)點(diǎn)相關(guān)

節(jié)點(diǎn)可以分為持久節(jié)點(diǎn)、短暫節(jié)點(diǎn)。

  • 持久(Persistent):客戶端和服務(wù)器端斷開連接后,創(chuàng)建的節(jié)點(diǎn)不刪除。
    • 持久化目錄節(jié)點(diǎn)客戶端與Zookeeper斷開連接后,該節(jié)點(diǎn)依舊存在
    • 持久化順序編號目錄節(jié)點(diǎn)客戶端與Zookeeper斷開連接后,該節(jié)點(diǎn)依舊存在,只是Zookeeper給該節(jié)點(diǎn)名稱進(jìn)行順序編號
  • 短暫(Ephemeral):客戶端和服務(wù)器端斷開連接后,創(chuàng)建的節(jié)點(diǎn)自己刪除。
    • 臨時(shí)目錄節(jié)點(diǎn)客戶端與Zookeeper斷開連接后,該節(jié)點(diǎn)被刪除。
    • 臨時(shí)順序編號目錄節(jié)點(diǎn)客戶端與Zookeeper斷開連接后,該節(jié)點(diǎn)被刪除,只是Zookeeper給該節(jié)點(diǎn)名稱進(jìn)行順序編號。

說明:創(chuàng)建znode時(shí)設(shè)置順序標(biāo)識(shí),znode名稱后會(huì)附加一個(gè)值,順序號是一個(gè)單調(diào)遞增的計(jì)數(shù)器,由父節(jié)點(diǎn)維護(hù)。

注意:在分布式系統(tǒng)中,順序號可以被用于為所有的事件進(jìn)行全局排序,這樣客戶端可以通過順序號推斷事件的順序。

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

分別創(chuàng)建2個(gè)普通節(jié)點(diǎn)(創(chuàng)建節(jié)點(diǎn)時(shí),要賦值)

create /sanguo "diaochan"
create /sanguo/shuguo "liubei"

獲取子節(jié)點(diǎn)

ls /sanguo

獲取sanguo的值

get -s /sanguo

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

  • 普通節(jié)點(diǎn):create /test/test1 "zhansan01"
  • 帶序號節(jié)點(diǎn):create -s /test/test1 "zhansan01":創(chuàng)建的節(jié)點(diǎn)帶序號test1000001
  • 短暫節(jié)點(diǎn):create -e /test/test1 "zhansan01":關(guān)閉客戶端后會(huì)消失(臨時(shí))

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

創(chuàng)建普通節(jié)點(diǎn)

create /test/test1 "zhansan01"

創(chuàng)建帶序號節(jié)點(diǎn)

create -s /test/test2/test21 "zhansan02"
create -s /test/test2/test22 "lisi02"
create -s /test/test2/test23 "wangwu02"

創(chuàng)建短暫節(jié)點(diǎn)(關(guān)閉客戶端后消失)

create -e /test/test3 "zhansan03"
#	創(chuàng)建短暫的帶序號的節(jié)點(diǎn)
create -e -s /test/test3 "lisi03"

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

修改節(jié)點(diǎn)的值

set /test/test3 "wangwu03"

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

4、監(jiān)聽器原理

客戶端注冊監(jiān)聽它關(guān)心的目錄節(jié)點(diǎn),當(dāng)目錄節(jié)點(diǎn)發(fā)生變化(數(shù)據(jù)改變、節(jié)點(diǎn)刪除、子目錄節(jié)點(diǎn)增加刪除)時(shí),ZooKeeper會(huì)通知客戶端。監(jiān)聽機(jī)制保證ZooKeeper保存的任何的數(shù)據(jù)的任何改變都能快速的響應(yīng)到監(jiān)聽了該節(jié)點(diǎn)的應(yīng)用程序。

監(jiān)聽原理

  • 1)首先要有一個(gè)main()線程
  • 2)在main線程中創(chuàng)建Zookeeper客戶端,這時(shí)就會(huì)創(chuàng)建兩個(gè)線程,一個(gè)負(fù)責(zé)網(wǎng)絡(luò)連接通信(connet),一個(gè)負(fù)責(zé)監(jiān)聽(listener)。
  • 3)通過connect線程將注冊的監(jiān)聽事件發(fā)送給Zookeeper。
  • 4)在Zookeeper的注冊監(jiān)聽器列表中將注冊的監(jiān)聽事件添加到列表中。
  • 5)Zookeeper監(jiān)聽到有數(shù)據(jù)或路徑變化,就會(huì)將這個(gè)消息發(fā)送給listener線程。
  • 6)listener線程內(nèi)部調(diào)用了process()方法。

常見的監(jiān)聽

#監(jiān)聽節(jié)點(diǎn)數(shù)據(jù)的變化
get path [watch]
# 監(jiān)聽子節(jié)點(diǎn)增減的變化
ls path [watch]

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

監(jiān)控/test值變化

get -w /test
#	更新/test值
set /test "zhangsan"

注意:在hadoop103再多次修改/sanguo的值,hadoop104上不會(huì)再收到監(jiān)聽。因?yàn)樽砸淮?,只能監(jiān)聽一次。想再次監(jiān)聽,需要再次注冊。

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

監(jiān)控子目錄變化

ls -w /test
#	新建子目錄值
create /test/test4 "zhangsan04"

注意:節(jié)點(diǎn)的路徑變化,也是注冊一次,生效一次。想多次生效,就需要多次注冊。

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

5、節(jié)點(diǎn)刪除與查看

刪除節(jié)點(diǎn)

delete /test/test4

遞歸刪除節(jié)點(diǎn)

deleteall /test/test2

查看節(jié)點(diǎn)狀態(tài)

stat /test

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生

三、寫數(shù)據(jù)流程

zookeeper最基礎(chǔ)教程,大數(shù)據(jù),zookeeper,分布式,云原生文章來源地址http://www.zghlxwxcb.cn/news/detail-755988.html

到了這里,關(guān)于zookeeper最基礎(chǔ)教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • golang/云原生/Docker/DevOps/K8S/持續(xù) 集成/分布式/etcd 教程

    golang/云原生/Docker/DevOps/K8S/持續(xù) 集成/分布式/etcd 教程

    3-6個(gè)月幫助學(xué)員掌握golang后端開發(fā)崗位必備技術(shù)點(diǎn) 教程時(shí)長: 150+小時(shí) 五大核心專欄,原理+源碼+案例分析+項(xiàng)目實(shí)戰(zhàn)直擊工作崗位 golang:解決go語言編程問題 工程組件:解決golang工程化問題 分布式中間件:解決技術(shù)棧單一及分布式開發(fā)問題 云原生:解決云原生分布式部署及監(jiān)

    2024年02月07日
    瀏覽(63)
  • 云原生可觀測框架 OpenTelemetry 基礎(chǔ)知識(shí)(架構(gòu)/分布式追蹤/指標(biāo)/日志/采樣/收集器)...

    云原生可觀測框架 OpenTelemetry 基礎(chǔ)知識(shí)(架構(gòu)/分布式追蹤/指標(biāo)/日志/采樣/收集器)...

    OpenTelemetry 是一個(gè)開源的可觀測性框架,由云原生基金會(huì)(CNCF)托管。它是 OpenCensus 和 OpenTracing 項(xiàng)目的合并。旨在為所有類型的可觀測信號(如跟蹤、指標(biāo)和日志)提供單一標(biāo)準(zhǔn)。 https://opentelemetry.io https://www.cncf.io https://opencensus.io OpenTelemetry 指定了如何收集遙測數(shù)據(jù)并將其發(fā)送到

    2024年01月16日
    瀏覽(46)
  • Java中利用Redis,ZooKeeper,數(shù)據(jù)庫等實(shí)現(xiàn)分布式鎖(遙遙領(lǐng)先)

    Java中利用Redis,ZooKeeper,數(shù)據(jù)庫等實(shí)現(xiàn)分布式鎖(遙遙領(lǐng)先)

    1.1 什么是分布式鎖 在我們進(jìn)行單機(jī)應(yīng)用開發(fā)涉及并發(fā)同步的時(shí)候,我們往往采用synchronized或者ReentrantLock的方式來解決多線程間的代碼同步問題。但是當(dāng)我們的應(yīng)用是在分布式集群工作的情況下,那么就需要一種更加高級的鎖機(jī)制,來處理種跨機(jī)器的進(jìn)程之間的數(shù)據(jù)同步問題

    2024年02月03日
    瀏覽(26)
  • 云原生分布式多模架構(gòu):華為云多模數(shù)據(jù)庫 GeminiDB 架構(gòu)與應(yīng)用實(shí)踐

    云原生分布式多模架構(gòu):華為云多模數(shù)據(jù)庫 GeminiDB 架構(gòu)與應(yīng)用實(shí)踐

    在本文中我們聯(lián)合華為云 NoSQL 數(shù)據(jù)庫研發(fā)總監(jiān)余汶龍,與您一起探討華為云多模數(shù)據(jù)庫 GeminiDB 的技術(shù)架構(gòu),以及它們?nèi)绾胃镄庐?dāng)代應(yīng)用的數(shù)據(jù)處理方式,內(nèi)容包括介紹云原生分布式多模架構(gòu),四種數(shù)據(jù)模型接口及其競爭力特性,GeminiDB 的應(yīng)用場景:游戲、監(jiān)控、智慧生活、

    2024年01月21日
    瀏覽(23)
  • 在Spring中,可以使用不同的方式來實(shí)現(xiàn)分布式鎖,例如基于數(shù)據(jù)庫、Redis、ZooKeeper等

    在Spring中,可以使用不同的方式來實(shí)現(xiàn)分布式鎖,例如基于數(shù)據(jù)庫、Redis、ZooKeeper等

    在Spring中,可以使用不同的方式來實(shí)現(xiàn)分布式鎖,例如基于數(shù)據(jù)庫、Redis、ZooKeeper等。下面是兩種常見的實(shí)現(xiàn)方式: 使用Redis實(shí)現(xiàn)分布式鎖: 使用自定義注解實(shí)現(xiàn)本地鎖: 以上是兩種常見的在Spring中實(shí)現(xiàn)分布式鎖的方式。第一種方式使用Redis作為分布式鎖的存儲(chǔ)介質(zhì),通過

    2024年03月17日
    瀏覽(24)
  • 【大數(shù)據(jù)】Hadoop-3.3.4完全分布式安裝(包含VMware16和Ubuntu22的下載安裝及配置)、搭建、配置教程,以及Hadoop基礎(chǔ)簡介

    【大數(shù)據(jù)】Hadoop-3.3.4完全分布式安裝(包含VMware16和Ubuntu22的下載安裝及配置)、搭建、配置教程,以及Hadoop基礎(chǔ)簡介

    注:本篇文章主要涉及到: HDFS (分布式文件系統(tǒng))、 YARN (資源管理和調(diào)度框架)、以及 MapReduce (離線計(jì)算)。 以下就是本篇文章所采用的的架構(gòu) 。 (1)HDFS架構(gòu)簡述 HDFS架構(gòu)圖 注:上述的master、slave1、slave2均是主機(jī)名(結(jié)點(diǎn)名),可以和本篇文章不一致,但下面所有涉

    2023年04月17日
    瀏覽(21)
  • OceanBase X Flink 基于原生分布式數(shù)據(jù)庫構(gòu)建實(shí)時(shí)計(jì)算解決方案

    OceanBase X Flink 基于原生分布式數(shù)據(jù)庫構(gòu)建實(shí)時(shí)計(jì)算解決方案

    摘要:本文整理自 OceanBase 架構(gòu)師周躍躍,在 Flink Forward Asia 2022 實(shí)時(shí)湖倉專場的分享。本篇內(nèi)容主要分為四個(gè)部分: 分布式數(shù)據(jù)庫 OceanBase 關(guān)鍵技術(shù)解讀 生態(tài)對接以及典型應(yīng)用場景 OceanBase X Flink 在游戲行業(yè)實(shí)踐 未來展望 點(diǎn)擊查看原文視頻 演講PPT 作為一款歷經(jīng) 12 年的純自研

    2024年02月13日
    瀏覽(26)
  • 分布式鎖解決方案_Zookeeper實(shí)現(xiàn)分布式鎖

    提示:這里可以添加系列文章的所有文章的目錄,目錄需要自己手動(dòng)添加 分布式鎖解決方案_Zookeeper實(shí)現(xiàn)分布式鎖 提示:寫完文章后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 提示:這里可以添加本文要記錄的大概內(nèi)容: Zookeeper 是一個(gè)開源的分布式協(xié)調(diào)服務(wù),它

    2024年02月03日
    瀏覽(17)
  • 分布式調(diào)用與高并發(fā)處理 Zookeeper分布式協(xié)調(diào)服務(wù)

    分布式調(diào)用與高并發(fā)處理 Zookeeper分布式協(xié)調(diào)服務(wù)

    單機(jī)架構(gòu) 一個(gè)系統(tǒng)業(yè)務(wù)量很小的時(shí)候所有的代碼都放在一個(gè)項(xiàng)目中就好了,然后這個(gè)項(xiàng)目部署在一臺(tái)服務(wù)器上,整個(gè)項(xiàng)目所有的服務(wù)都由這臺(tái)服務(wù)器提供。 缺點(diǎn): 服務(wù)性能存在瓶頸,用戶增長的時(shí)候性能下降等。 不可伸縮性 代碼量龐大,系統(tǒng)臃腫,牽一發(fā)動(dòng)全身 單點(diǎn)故障

    2024年02月12日
    瀏覽(101)
  • 【分布式】Zookeeper

    可以參考:https://zhuanlan.zhihu.com/p/62526102 ZooKeeper 是一個(gè)分布式的,開放源碼的分布式應(yīng)用程序協(xié)同服務(wù)。ZooKeeper 的設(shè)計(jì)目標(biāo)是將那些復(fù)雜且容易出錯(cuò)的分布式一致性服務(wù)封裝起來,構(gòu)成一個(gè)高效可靠的原語集,并以一系列簡單易用的接口提供給用戶使用。 配置管理。 Java微服

    2024年02月11日
    瀏覽(43)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包