www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > > 架構(gòu)師社區(qū)
[導(dǎo)讀]Zookeeper 它作為Hadoop項目中的一個開源子項目,是一個經(jīng)典的分布式數(shù)據(jù)一致性解決方案,致力于為分布式應(yīng)用提供一個高性能、高可用,且具有嚴(yán)格順序訪問控制能力的分布式協(xié)調(diào)服務(wù)。



初識 zookeeper

Zookeeper?它作為Hadoop項目中的一個開源子項目,是一個經(jīng)典的分布式數(shù)據(jù)一致性解決方案,致力于為分布式應(yīng)用提供一個高性能、高可用,且具有嚴(yán)格順序訪問控制能力的分布式協(xié)調(diào)服務(wù)。

1、zookeeper數(shù)據(jù)模型

zookeeper?維護(hù)了一個類似文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),每個子目錄(/微信、/微信/公眾號)都被稱作為?znode?即節(jié)點(diǎn)。和文件系統(tǒng)一樣,我們可以很輕松的對?znode?節(jié)點(diǎn)進(jìn)行增加、刪除等操作,而且還可以在一個znode下增加、刪除子znode,區(qū)別在于文件系統(tǒng)的是,znode可以存儲數(shù)據(jù)(嚴(yán)格說是必須存放數(shù)據(jù),默認(rèn)是個空字符)。

由于zookeeper是目錄節(jié)點(diǎn)結(jié)構(gòu),在獲取和創(chuàng)建節(jié)點(diǎn)時,必須要以“/”?開頭,否則在獲取節(jié)點(diǎn)時會報錯?Path must start with / character

[zk:?localhost:2181(CONNECTED)?13]?get?test
Command?failed:?java.lang.IllegalArgumentException:?Path?must?start?with?/?character

根節(jié)點(diǎn)名必須為“/XXX”,創(chuàng)建子節(jié)點(diǎn)時必須要帶上根節(jié)點(diǎn)目錄“/XXX/CCC”、“/XXX/AAA”。

例如:想要獲取下圖?程序員內(nèi)點(diǎn)事?節(jié)點(diǎn)必須拼接完整的路徑?get /微信/公眾號/程序員內(nèi)點(diǎn)事

get?/微信/公眾號/程序員內(nèi)點(diǎn)事
一文徹底搞懂zookeeper 核心知識點(diǎn)(修訂版)
在這里插入圖片描述

znode被用來存儲?byte級?或?kb級?的數(shù)據(jù),可存儲的最大數(shù)據(jù)量是1MB請注意:一個節(jié)點(diǎn)的數(shù)據(jù)量不僅包含它自身存儲數(shù)據(jù),它的所有子節(jié)點(diǎn)的名字也要折算成Byte數(shù)計入,因此znode的子節(jié)點(diǎn)數(shù)也不是無限的)雖然可以手動的修改節(jié)點(diǎn)存儲量大小,但一般情況下并不推薦這樣做。


2、znode節(jié)點(diǎn)屬性

一個znode節(jié)點(diǎn)不僅可以存儲數(shù)據(jù),還有一些其他特別的屬性。接下來我們創(chuàng)建一個/test節(jié)點(diǎn)分析一下它各個屬性的含義。

[zk:?localhost:2181(CONNECTED)?6]?get?/test
456
cZxid?=?0x59ac?//
ctime?=?Mon?Mar?30?15:20:08?CST?2020
mZxid?=?0x59ad
mtime?=?Mon?Mar?30?15:22:25?CST?2020
pZxid?=?0x59ac
cversion?=?0
dataVersion?=?2
aclVersion?=?0
ephemeralOwner?=?0x0
dataLength?=?3
numChildren?=?0??
節(jié)點(diǎn)屬性 注解
cZxid 該數(shù)據(jù)節(jié)點(diǎn)被創(chuàng)建時的事務(wù)Id
mZxid 該數(shù)據(jù)節(jié)點(diǎn)被修改時最新的事物Id
pZxid 當(dāng)前節(jié)點(diǎn)的父級節(jié)點(diǎn)事務(wù)Id
ctime 該數(shù)據(jù)節(jié)點(diǎn)創(chuàng)建時間
mtime 該數(shù)據(jù)節(jié)點(diǎn)最后修改時間
dataVersion 當(dāng)前節(jié)點(diǎn)版本號(每修改一次值+1遞增)
cversion 子節(jié)點(diǎn)版本號(子節(jié)點(diǎn)修改次數(shù),每修改一次值+1遞增)
aclVersion 當(dāng)前節(jié)點(diǎn)acl版本號(節(jié)點(diǎn)被修改acl權(quán)限,每修改一次值+1遞增)
ephemeralOwner 臨時節(jié)點(diǎn)標(biāo)示,當(dāng)前節(jié)點(diǎn)如果是臨時節(jié)點(diǎn),則存儲的創(chuàng)建者的會話id(sessionId),如果不是,那么值=0
dataLength 當(dāng)前節(jié)點(diǎn)所存儲的數(shù)據(jù)長度
numChildren 當(dāng)前節(jié)點(diǎn)下子節(jié)點(diǎn)的個數(shù)

我們看到一個znode節(jié)點(diǎn)的屬性比較多,但比較主要的屬性還是zxid、version、acl?這三個。


Zxid:

znode節(jié)點(diǎn)狀態(tài)改變會導(dǎo)致該節(jié)點(diǎn)收到一個zxid格式的時間戳,這個時間戳是全局有序的,znode節(jié)點(diǎn)的建立或者更新都會產(chǎn)生一個新的。如果zxid1的值 zxid2的值,那么說明zxid2發(fā)生的改變在zxid1之后。每個znode節(jié)點(diǎn)都有3個zxid屬性,cZxid(節(jié)點(diǎn)創(chuàng)建時間)、mZxid(該節(jié)點(diǎn)修改時間,與子節(jié)點(diǎn)無關(guān))、pZxid(該節(jié)點(diǎn)或者該節(jié)點(diǎn)的子節(jié)點(diǎn)的最后一次創(chuàng)建或者修改時間,孫子節(jié)點(diǎn)無關(guān))。

zxid屬性主要應(yīng)用于zookeeper的集群,這個后邊介紹集群時詳細(xì)說。

Version:

znode屬性中一共有三個版本號dataversion(數(shù)據(jù)版本號)、cversion(子節(jié)點(diǎn)版本號)、aclversion(節(jié)點(diǎn)所擁有的ACL權(quán)限版本號)。

znode中的數(shù)據(jù)可以有多個版本,如果某一個節(jié)點(diǎn)下存有多個數(shù)據(jù)版本,那么查詢這個節(jié)點(diǎn)數(shù)據(jù)就需要帶上版本號。每當(dāng)我們對znode節(jié)點(diǎn)數(shù)據(jù)修改后,該節(jié)點(diǎn)的dataversion版本號會遞增。當(dāng)客戶端請求該znode節(jié)點(diǎn)時,會同時返回節(jié)點(diǎn)數(shù)據(jù)和版本號。另外當(dāng)dataversion為?-1的時候可以忽略版本進(jìn)行操作。對一個節(jié)點(diǎn)設(shè)置權(quán)限時aclVersion版本號會遞增,下邊會詳細(xì)說ACL權(quán)限控制。

驗(yàn)證一下,我們修改/test節(jié)點(diǎn)的數(shù)據(jù)看看dataVersion有什么變化,發(fā)現(xiàn)dataVersion屬性變成了 3,版本號遞增了。

[zk:?localhost:2181(CONNECTED)?10]?set?/test?8888
cZxid?=?0x59ac
ctime?=?Mon?Mar?30?15:20:08?CST?2020
mZxid?=?0x59b6
mtime?=?Mon?Mar?30?16:58:08?CST?2020
pZxid?=?0x59ac
cversion?=?0
dataVersion?=?3
aclVersion?=?0
ephemeralOwner?=?0x0
dataLength?=?4
numChildren?=?0


3、znode的類型

zookeeper?有四種類型的znode,在用客戶端?client?創(chuàng)建節(jié)點(diǎn)的時候需要指定類型。

zookeeper.create("/公眾號/程序員內(nèi)點(diǎn)事",?"".getBytes(),?Ids.OPEN_ACL_UNSAFE,?CreateMode.EPHEMERAL_SEQUENTIAL);
  • PERSISTENT-持久化目錄節(jié)點(diǎn) :client創(chuàng)建節(jié)點(diǎn)后,與zookeeper斷開連接該節(jié)點(diǎn)將被持久化,當(dāng)client再次連接后節(jié)點(diǎn)依舊存在。

  • PERSISTENT_SEQUENTIAL-持久化順序節(jié)點(diǎn) :client創(chuàng)建節(jié)點(diǎn)后,與zookeeper斷開連接該節(jié)點(diǎn)將被持久化,再次連接節(jié)點(diǎn)還存在,zookeeper會給該節(jié)點(diǎn)名稱進(jìn)行順序編號,例如:/lock/0000000001、/lock/0000000002、/lock/0000000003。

  • EPHEMERAL-臨時目錄節(jié)點(diǎn) :client與zookeeper斷開連接后,該節(jié)點(diǎn)即會被刪除

  • EPHEMERAL_SEQUENTIAL-臨時順序節(jié)點(diǎn) :client與zookeeper斷開連接后,該節(jié)點(diǎn)被刪除,會給該節(jié)點(diǎn)名稱進(jìn)行順序編號,例如:/lock/0000000001、/lock/0000000002、/lock/0000000003。



節(jié)點(diǎn)的ACL權(quán)限控制

ACL:即?Access Control List?(節(jié)點(diǎn)的權(quán)限控制),通過ACL機(jī)制來解決znode節(jié)點(diǎn)的訪問權(quán)限問題,要注意的是zookeeper對權(quán)限的控制是基于znode級別的,也就說節(jié)點(diǎn)之間的權(quán)限不具有繼承性,即子節(jié)點(diǎn)不繼承父節(jié)點(diǎn)的權(quán)限。

zookeeper中設(shè)置ACL權(quán)限的格式由::三段組成。

schema?:表示授權(quán)的方式

  • world:表示任何人都可以訪問
  • auth:只有認(rèn)證的用戶可以訪問
  • digest:使用username ?:password用戶密碼生成MD5哈希值作為認(rèn)證ID
  • host/ip:使用客戶端主機(jī)IP地址來進(jìn)行認(rèn)證

id:權(quán)限的作用域,用來標(biāo)識身份,依賴于schema選擇哪種方式。

acl:給一個節(jié)點(diǎn)賦予哪些權(quán)限,節(jié)點(diǎn)的權(quán)限有create,、delete、write、read、admin 統(tǒng)稱?cdwra。

1、world:表示任何人都可以訪問

我們用?getAcl?命令來看一下,沒有設(shè)置過權(quán)限的znode節(jié)點(diǎn),默認(rèn)情況下的權(quán)限情況。

[zk:?localhost:2181(CONNECTED)?12]?getAcl?/test
'world,'anyone
:?cdrwa

看到?jīng)]有設(shè)置ACL屬性的節(jié)點(diǎn),默認(rèn)schema 使用的是world,作用域是anyone,節(jié)點(diǎn)權(quán)限是cdwra,也就是說任何人都可以訪問。

那我們?nèi)绻o一個schema 為非world的節(jié)點(diǎn)設(shè)置world權(quán)限咋搞?

setAcl?/test?world:anyone:crdwa

2、auth:只有認(rèn)證的用戶可以訪問

schema 用auth授權(quán)表示只有認(rèn)證后的用戶才可以訪問,那么首先就需要添加認(rèn)證用戶,添加完以后需要對認(rèn)證的用戶設(shè)置ACL權(quán)限。

addauth?digest?test:password(明文)

需要注意的是設(shè)置認(rèn)證用戶時的密碼是明文的。

[zk:?localhost:2181(CONNECTED)?2]?addauth?digest?user:user?//用戶名:密碼
[zk:?localhost:2181(CONNECTED)?5]?setAcl?/test?auth:user:crdwa
[zk:?localhost:2181(CONNECTED)?6]?getAcl?/test
'digest,'user:ben+k/3JomjGj4mfd4fYsfM6p0A=
:?cdrwa

實(shí)際上我們這樣設(shè)置以后,就是將這個節(jié)點(diǎn)開放給所有認(rèn)證的用戶,setAcl /test auth:user:crdwa?相當(dāng)于setAcl /test auth::crdwa

3、digest:用戶名:密碼的驗(yàn)證方式

用戶名:密碼方式授權(quán)是針對單個特定用戶,這種方式是不需要先添加認(rèn)證用戶的。

如果在代碼中使用zookeeper客戶端設(shè)置ACL,那么密碼是明文的,但若是zk.cli等客戶端操作就需要將密碼進(jìn)行sha1base64處理。

setAcl??digest:::

setAcl?/test?digest:user:jalRr+knv/6L2uXdenC93dEDNuE=:crdwa

那么密碼如何加密嘞?有以下幾種方式:

通過shell命令加密

echo?-n?:<password>?|?openssl?dgst?-binary?-sha1?|?openssl?base64

使用zookeeper自帶的類庫org.apache.zookeeper.server.auth.DigestAuthenticationProvider生成

java?-cp?/zookeeper-3.4.13/zookeeper-3.4.13.jar:/zookeeper-3.4.13/lib/slf4j-api-1.7.25.jar?\
??org.apache.zookeeper.server.auth.DigestAuthenticationProvider?\
??root:root
root:root->root:qiTlqPLK7XM2ht3HMn02qRpkKIE=

4、host/ip:使用客戶端主機(jī)IP地址來進(jìn)行認(rèn)證

這種方式就比較好理解了,通過對特定的IP地址,也可以是一個IP段進(jìn)行授權(quán)。

[zk:?localhost:2181(CONNECTED)?3]?setAcl?/test0000000014?ip:127.0.0.1:crdwa
cZxid?=?0x59ac
ctime?=?Mon?Mar?30?15:20:08?CST?2020
mZxid?=?0x59b6
mtime?=?Mon?Mar?30?16:58:08?CST?2020
pZxid?=?0x59ac
cversion?=?0
dataVersion?=?3
aclVersion?=?3?//?這個版本一直在增加
ephemeralOwner?=?0x0
dataLength?=?4
numChildren?=?0




zookeeper 靈魂 watcher

我們在開頭就說過:zookeeper可以為dubbo提供服務(wù)的注冊與發(fā)現(xiàn),作為注冊中心,但你有想過zookeeper為啥能夠?qū)崿F(xiàn)服務(wù)的注冊與發(fā)現(xiàn)嗎?這就不得不說一下zookeeper的靈魂?Watcher(監(jiān)聽者)。

1、watcher是個啥?

watcher?是zooKeeper中一個非常核心功能 ,客戶端watcher?可以監(jiān)控節(jié)點(diǎn)的數(shù)據(jù)變化以及它子節(jié)點(diǎn)的變化,一旦這些狀態(tài)發(fā)生變化,zooKeeper服務(wù)端就會通知所有在這個節(jié)點(diǎn)上設(shè)置過watcher的客戶端 ,從而每個客戶端都很快感知,它所監(jiān)聽的節(jié)點(diǎn)狀態(tài)發(fā)生變化,而做出對應(yīng)的邏輯處理。

簡單的介紹了一下watcher?,那么我們來分析一下,zookeeper是如何實(shí)現(xiàn)服務(wù)的注冊與發(fā)現(xiàn)。zookeeper的服務(wù)注冊與發(fā)現(xiàn),主要應(yīng)用的是zookeeperznode節(jié)點(diǎn)數(shù)據(jù)模型和watcher機(jī)制,大致的流程如下:

一文徹底搞懂zookeeper 核心知識點(diǎn)(修訂版)
在這里插入圖片描述
  • 服務(wù)注冊:?服務(wù)提供者(Provider)啟動時,會向zookeeper服務(wù)端注冊服務(wù)信息,也就是創(chuàng)建一個節(jié)點(diǎn),例如:用戶注冊服務(wù)com.xxx.user.register,并在節(jié)點(diǎn)上存儲服務(wù)的相關(guān)數(shù)據(jù)(如服務(wù)提供者的ip地址、端口等)。

  • 服務(wù)發(fā)現(xiàn):?服務(wù)消費(fèi)者(Consumer)啟動時,根據(jù)自身配置的依賴服務(wù)信息,向zookeeper服務(wù)端獲取注冊的服務(wù)信息并設(shè)置watch監(jiān)聽,獲取到注冊的服務(wù)信息之后,將服務(wù)提供者的信息緩存在本地,并進(jìn)行服務(wù)的調(diào)用。

  • 服務(wù)通知:?一旦服務(wù)提供者因某種原因宕機(jī)不再提供服務(wù)之后,客戶端與zookeeper服務(wù)端斷開連接,zookeeper服務(wù)端上服務(wù)提供者對應(yīng)服務(wù)節(jié)點(diǎn)會被刪除(例如:用戶注冊服務(wù)com.xxx.user.register),隨后zookeeper服務(wù)端會異步向所有消費(fèi)用戶注冊服務(wù)com.xxx.user.register,且設(shè)置了watch監(jiān)聽的服務(wù)消費(fèi)者發(fā)出節(jié)點(diǎn)被刪除的通知,消費(fèi)者根據(jù)收到的通知拉取最新服務(wù)列表,更新本地緩存的服務(wù)列表。

上邊的過程就是zookeeper可以實(shí)現(xiàn)服務(wù)注冊與發(fā)現(xiàn)的大致原理。

2、watcher類型

znode節(jié)點(diǎn)可以設(shè)置兩類watch,一種是DataWatches,基于znode節(jié)點(diǎn)的數(shù)據(jù)變更從而觸發(fā)?watch?事件,觸發(fā)條件getData()、exists()setData()、?create()。

另一種是Child Watches,基于znode的孩子節(jié)點(diǎn)發(fā)生變更觸發(fā)的watch事件,觸發(fā)條件?getChildren()、?create()。

而在調(diào)用?delete()?方法刪除znode時,則會同時觸發(fā)Data WatchesChild Watches,如果被刪除的節(jié)點(diǎn)還有父節(jié)點(diǎn),則父節(jié)點(diǎn)會觸發(fā)一個Child Watches。

3、watcher特性

watch對節(jié)點(diǎn)的監(jiān)聽事件是一次性的!客戶端在指定的節(jié)點(diǎn)設(shè)置了監(jiān)聽watch,一旦該節(jié)點(diǎn)數(shù)據(jù)發(fā)生變更通知一次客戶端后,客戶端對該節(jié)點(diǎn)的監(jiān)聽事件就失效了。

如果還要繼續(xù)監(jiān)聽這個節(jié)點(diǎn),就需要我們在客戶端的監(jiān)聽回調(diào)中,再次對節(jié)點(diǎn)的監(jiān)聽watch事件設(shè)置為True。否則客戶端只能接收到一次該節(jié)點(diǎn)的變更通知。



zookeeper 實(shí)現(xiàn)的功能

服務(wù)的注冊與發(fā)現(xiàn)功能只是zookeeper的冰山一角,它還能實(shí)現(xiàn)諸如分布式鎖、隊列、配置中心等一系列功能,接下來我們只分析一下原理,具體的實(shí)現(xiàn)大家上網(wǎng)查一下資料還是比較全的。

1、分布式鎖

zookeeper基于watcher機(jī)制和znode的有序節(jié)點(diǎn),天生就是一個分布式鎖的坯子。首先創(chuàng)建一個/test/lock父節(jié)點(diǎn)作為一把鎖,盡量是持久節(jié)點(diǎn)(PERSISTENT類型),每個嘗試獲取這把鎖的客戶端,在/test/lock父節(jié)點(diǎn)下創(chuàng)建臨時順序子節(jié)點(diǎn)。

由于序號的遞增性,我們規(guī)定序號最小的節(jié)點(diǎn)即獲得鎖。例如:客戶端來獲取鎖,在/test/lock節(jié)點(diǎn)下創(chuàng)建節(jié)點(diǎn)為/test/lock/seq-00000001,它是最小的所以它優(yōu)先拿到了鎖,其它節(jié)點(diǎn)等待通知再次獲取鎖。/test/lock/seq-00000001執(zhí)行完自己的邏輯后刪除節(jié)點(diǎn)釋放鎖。

那么節(jié)點(diǎn)/test/lock/seq-00000002想要獲取鎖等誰的通知呢?

這里我們讓/test/lock/seq-00000002節(jié)點(diǎn)監(jiān)聽/test/lock/seq-00000001節(jié)點(diǎn),一旦/test/lock/seq-00000001節(jié)點(diǎn)刪除,則通知/test/lock/seq-00000002節(jié)點(diǎn),讓它再次判斷自己是不是最小的節(jié)點(diǎn),是則拿到鎖,不是繼續(xù)等通知。

以此類推/test/lock/seq-00000003節(jié)點(diǎn)監(jiān)聽/test/lock/seq-00000002節(jié)點(diǎn),總是讓后一個節(jié)點(diǎn)監(jiān)聽前一個節(jié)點(diǎn),不用讓所有節(jié)點(diǎn)都監(jiān)聽最小的節(jié)點(diǎn),避免設(shè)置不必要的監(jiān)聽,以免造成大量無效的通知,形成“羊群效應(yīng)”。

zookeeper分布式鎖和redis分布式鎖相比,因?yàn)榇罅康膭?chuàng)建、刪除節(jié)點(diǎn)性能上比較差,并不是很推薦。一文徹底搞懂zookeeper 核心知識點(diǎn)(修訂版)

2、分布式隊列

zookeeper實(shí)現(xiàn)分布式隊列也很簡單,應(yīng)用znode的有序節(jié)點(diǎn)天然的“先進(jìn)先出”,后創(chuàng)建的節(jié)點(diǎn)總是最大的,出隊總是拿序號最小的節(jié)點(diǎn)即可。

3、配置管理

現(xiàn)在有很多開源項目都在使用Zookeeper來維護(hù)配置,像消息隊列Kafka中,就使用Zookeeper來維護(hù)broker的信息;dubbo中管理服務(wù)的配置信息。原理也是基于watcher機(jī)制,例如:創(chuàng)建一個/config節(jié)點(diǎn)存放一些配置,客戶端監(jiān)聽這個節(jié)點(diǎn),一點(diǎn)修改/config節(jié)點(diǎn)的配置信息,通知各個客戶端數(shù)據(jù)變更重新拉取配置信息。

4、命名服務(wù)

zookeeper的命名服務(wù):也就是我們常說的服務(wù)注冊與發(fā)現(xiàn),主要是根據(jù)指定名字來獲取資源或服務(wù)的地址,服務(wù)提供者等信息,利用其znode節(jié)點(diǎn)的特點(diǎn)和watcher機(jī)制,將其作為動態(tài)注冊和獲取服務(wù)信息的配置中心,統(tǒng)一管理服務(wù)名稱和其對應(yīng)的服務(wù)器列表信息,我們能夠近乎實(shí)時地感知到后端服務(wù)器的狀態(tài)(上線、下線、宕機(jī))。


特別推薦一個分享架構(gòu)+算法的優(yōu)質(zhì)內(nèi)容,還沒關(guān)注的小伙伴,可以長按關(guān)注一下:

一文徹底搞懂zookeeper 核心知識點(diǎn)(修訂版)

一文徹底搞懂zookeeper 核心知識點(diǎn)(修訂版)

一文徹底搞懂zookeeper 核心知識點(diǎn)(修訂版)

長按訂閱更多精彩▼

一文徹底搞懂zookeeper 核心知識點(diǎn)(修訂版)

如有收獲,點(diǎn)個在看,誠摯感謝

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點(diǎn),不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉