mongodb集群如何使用客戶端鏈接 powerjob優(yōu)缺點(diǎn)?
powerjob優(yōu)缺點(diǎn)?PowerJob的功能:易用性:提供前端Web界面,讓開發(fā)者可視化完成調(diào)度任務(wù)管理(添加、刪除、修改、檢查)、任務(wù)運(yùn)行狀態(tài)監(jiān)控、運(yùn)行日志查看等功能。完善的定時(shí)策略:支持CRON
powerjob優(yōu)缺點(diǎn)?
PowerJob的功能:
易用性:提供前端Web界面,讓開發(fā)者可視化完成調(diào)度任務(wù)管理(添加、刪除、修改、檢查)、任務(wù)運(yùn)行狀態(tài)監(jiān)控、運(yùn)行日志查看等功能。
完善的定時(shí)策略:支持CRON表達(dá)式、固定頻率、固定延遲和API四種定時(shí)調(diào)度策略。
有多種執(zhí)行支持單機(jī)、廣播、Map和MapReduce,其中Map/MapReduce處理器使開發(fā)者只需幾行代碼就能獲得集群分布式計(jì)算的能力。
DAG工作流支持:支持在線配置任務(wù)依賴關(guān)系,可視化安排任務(wù),還支持上下游任務(wù)之間的數(shù)據(jù)傳輸。
執(zhí)行器支持多種處理器,如Spring Bean、內(nèi)置/外部Java類、Shell、Python等。,并且有著廣泛的應(yīng)用。
運(yùn)維方便:支持在線日志功能,執(zhí)行器生成的日志可以實(shí)時(shí)顯示在前臺頁面,降低了調(diào)試成本,大大提高了開發(fā)效率。
依賴減少:最小的依賴只有關(guān)系數(shù)據(jù)庫(MySQL/Oracle/MS SQLServer...),擴(kuò)展的依賴項(xiàng)是MongoDB(用來存儲巨大的在線日志)。
高可用高性能:經(jīng)過精心設(shè)計(jì),調(diào)度服務(wù)器改變了其他基于數(shù)據(jù)庫鎖的調(diào)度框架的策略,實(shí)現(xiàn)了無鎖調(diào)度。部署多個(gè)調(diào)度服務(wù)器可以同時(shí)實(shí)現(xiàn)高可用性和性能提升(支持無限水平擴(kuò)展)。
故障轉(zhuǎn)移和恢復(fù):任務(wù)失敗后,可以根據(jù)配置的重試策略重試。只要executor集群中有足夠多的計(jì)算節(jié)點(diǎn),任務(wù)就可以成功完成。
適用于分布式唯一標(biāo)識碼的生成算法有哪些?
謝謝邀請~
關(guān)于這個(gè)問題,有幾個(gè)方案和大家分享一下。
最笨的方法就是用數(shù)據(jù)庫生成,用數(shù)據(jù)庫的自增長序列生成,在數(shù)據(jù)庫中是唯一的。
優(yōu)點(diǎn):最容易理解和使用。
缺點(diǎn):也很明顯每個(gè)數(shù)據(jù)庫的實(shí)現(xiàn)都不一樣,如果需要遷移數(shù)據(jù)庫就比較麻煩;最大的問題是性能,不容易擴(kuò)展。如果并發(fā)量很大,數(shù)據(jù)庫很可能會不堪重負(fù)。
使用Redis/MongoDB/zookeeper生成Redis的單線程,使用incr和increby;ObjectIdMongoDB的;ZK通過了znode的數(shù)據(jù)版;可以生成全球唯一的識別碼。
優(yōu)點(diǎn):性能高于數(shù)據(jù)庫;可以使用集群部署。
缺點(diǎn):需要引入相應(yīng)的組件,增加了系統(tǒng)的復(fù)雜度。
UUID這是分布式架構(gòu)中生成唯一標(biāo)識碼最常用的算法。
UUID基于MAC地址、時(shí)間和時(shí)鐘序列、偽隨機(jī)數(shù)和加密散列。
優(yōu)點(diǎn):本地生成,不需要第三方組件,生成簡單,性能高。好的。
缺點(diǎn):長度較長,不利于收納,沒有整理。它是一個(gè)字符串,不利于查詢。要解決無序問題,參考Comb算法(組合guid/timestamp)。
SnowflakeTwitter是開源的,基于zk,41位時(shí)間戳(毫秒),10位機(jī)器ID,毫秒內(nèi)12位序列號,1位符號(始終為0)。
優(yōu)點(diǎn):性能好,單機(jī)增加。
缺點(diǎn):依賴ZK;取決于機(jī)器時(shí)鐘,在分布式環(huán)境中它可能不會全局增加。
UidGenerator百度開源,基于雪花算法。
葉美團(tuán)是開源的。
優(yōu)點(diǎn):全球唯一性、高可用性、遞增趨勢(不安全,如泄露公司訂單數(shù)量)、單調(diào)遞增等。
缺點(diǎn):還是會依賴第三方組件,zk或者數(shù)據(jù)庫。
我會繼續(xù)分享我對Java開發(fā)、架構(gòu)設(shè)計(jì)、程序員職業(yè)發(fā)展等方面的看法,希望得到大家的關(guān)注。