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

小白初探架構(gòu)模式—常用的設(shè)計(jì)模式

這篇具有很好參考價(jià)值的文章主要介紹了小白初探架構(gòu)模式—常用的設(shè)計(jì)模式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

1.前言

2. 主從架構(gòu)

? ? ? ? 2.1 主從架構(gòu)的優(yōu)點(diǎn)

? ? ? ?2.2?主從架構(gòu)的應(yīng)用場(chǎng)景

? ? ? ? 2.3?主從架構(gòu)的實(shí)現(xiàn)

? ? ? ? 2.4 主從架構(gòu)的示例

3. 主從架構(gòu)設(shè)計(jì)的延伸

????????3.1?主備模式

????????3.2? 主從復(fù)制

????????3.3 集群分片

????????3.4 異地多活

4. 總結(jié)


1.前言

????????作為一個(gè)架構(gòu)設(shè)計(jì)小白,我們通常用了很多種工具,比如 Mysql 、Redis、Kafka、?Hdfs、Hbase、MongoDB、RocketMQ等等,但是這些優(yōu)秀工具,是如何設(shè)計(jì)的這么優(yōu)秀?我們有的一知半解,有的甚至干脆不講,只要能用就行。下面我主要做個(gè)簡(jiǎn)短的介紹,算是普及了以下知識(shí),讓小伙伴們知道是什么,最起碼有這方面的印象就好,好了,下面我們開始介紹:

2. 主從架構(gòu)

????????主從架構(gòu)設(shè)計(jì)模式是一種常見(jiàn)的軟件設(shè)計(jì)模式,它將系統(tǒng)劃分為兩個(gè)或多個(gè)組件:一個(gè)主組件和一個(gè)或多個(gè)從組件。主組件負(fù)責(zé)管理和控制整個(gè)系統(tǒng),而從組件負(fù)責(zé)執(zhí)行主組件分配的任務(wù)。

? ? ? ? 2.1 主從架構(gòu)的優(yōu)點(diǎn)

? ? ? ? (1)可擴(kuò)展性:主從架構(gòu)設(shè)計(jì)模式可以很容易地?cái)U(kuò)展,以適應(yīng)不斷增長(zhǎng)的系統(tǒng)需求。只需添加更多的從組件即可提高系統(tǒng)的性能。

????????(2)可靠性:主從架構(gòu)設(shè)計(jì)模式具有很高的可靠性,因?yàn)槿绻鹘M件發(fā)生故障,從組件可以繼續(xù)運(yùn)行。

????????(3)可用性:主從架構(gòu)設(shè)計(jì)模式具有很高的可用性,因?yàn)槿绻鹘M件發(fā)生故障,從組件可以立即接管主組件的任務(wù)。 主從架構(gòu)設(shè)計(jì)模式也有一些缺點(diǎn):

????????(4)單點(diǎn)故障:主組件是整個(gè)系統(tǒng)的單點(diǎn)故障,如果主組件發(fā)生故障,整個(gè)系統(tǒng)將無(wú)法運(yùn)行。

? ? ? ? (5)性能瓶頸:主組件可能會(huì)成為系統(tǒng)的性能瓶頸,因?yàn)樗姓?qǐng)求都必須經(jīng)過(guò)主組件。

? ? ? ?2.2?主從架構(gòu)的應(yīng)用場(chǎng)景

????????主從架構(gòu)設(shè)計(jì)模式可以應(yīng)用于各種各樣的場(chǎng)景,包括:

? ? ? ? (1)數(shù)據(jù)庫(kù)系統(tǒng):主從架構(gòu)設(shè)計(jì)模式可以用于數(shù)據(jù)庫(kù)系統(tǒng),其中主組件負(fù)責(zé)管理數(shù)據(jù)庫(kù),而從組件負(fù)責(zé)執(zhí)行數(shù)據(jù)庫(kù)查詢。

? ? ? ? (2)Web 服務(wù)器:主從架構(gòu)設(shè)計(jì)模式可以用于 Web 服務(wù)器,其中主組件負(fù)責(zé)處理用戶請(qǐng)求,而從組件負(fù)責(zé)生成網(wǎng)頁(yè)。

? ? ? ? (3)分布式系統(tǒng):主從架構(gòu)設(shè)計(jì)模式可以用于分布式系統(tǒng),其中主組件負(fù)責(zé)管理整個(gè)系統(tǒng),而從組件負(fù)責(zé)執(zhí)行主組件分配的任務(wù)。

? ? ? ? 2.3?主從架構(gòu)的實(shí)現(xiàn)

?????????主從架構(gòu)設(shè)計(jì)模式可以通過(guò)多種方式實(shí)現(xiàn),包括:

?????????(1)進(jìn)程:主組件和從組件可以作為獨(dú)立的進(jìn)程運(yùn)行。

???????? (2)線程:主組件和從組件可以作為同一個(gè)進(jìn)程中的不同線程運(yùn)行。

? ? ? ? ?(3)網(wǎng)絡(luò):主組件和從組件可以通過(guò)網(wǎng)絡(luò)通信。

? ? ? ? 2.4 主從架構(gòu)的示例

?????????以下是一個(gè)主從架構(gòu)設(shè)計(jì)模式的示例:

class Master { 
    public void start() { 
        // 創(chuàng)建從組件 
        Slave slave1 = new Slave(); 
        Slave slave2 = new Slave(); 

        // 啟動(dòng)從組件 
        slave1.start(); 
        slave2.start(); 

        // 等待從組件完成任務(wù) 
        slave1.join(); 
        slave2.join(); 
    } 
} 

class Slave { 
    public void run() { 
        // 執(zhí)行主組件分配的任務(wù) 
        // ... 
    } 
}

在這個(gè)示例中,主組件負(fù)責(zé)創(chuàng)建和啟動(dòng)從組件,然后等待從組件完成任務(wù)。從組件負(fù)責(zé)執(zhí)行主組件分配的任務(wù)。

3. 主從架構(gòu)設(shè)計(jì)的延伸

? ? ? ? 從上文我們了解了,主從架構(gòu)的優(yōu)點(diǎn),應(yīng)用場(chǎng)景以及應(yīng)用中的實(shí)現(xiàn)方式,下面我們?cè)僬f(shuō)下,平常我們所聽到的一些架構(gòu)模式是怎么樣的,例如:主備模式、主從復(fù)制、集群分片、異地多活,這些名詞又是什么?又該怎么理解呢?我們下面一一介紹:

????????3.1?主備模式

? ? ? ? 主備模式實(shí)際就是一主多備,master 負(fù)責(zé)提供讀寫服務(wù),slave 作為數(shù)據(jù)備份,一旦主機(jī)宕機(jī),將其中一個(gè)備節(jié)點(diǎn)作為主節(jié)點(diǎn)。通常是在單體應(yīng)用中,我們采用nginx 做負(fù)載時(shí)候,會(huì)用到的多,一旦一個(gè)主庫(kù)宕機(jī),我們發(fā)現(xiàn)后,可以修改配置切換主庫(kù)。這種模式,主要還是依靠主庫(kù),備份的只是為了防備而已,不知道什么時(shí)候才會(huì)用上。

小白初探架構(gòu)模式—常用的設(shè)計(jì)模式,Hadoop,java,主從架構(gòu),設(shè)計(jì)模式,集群分片,主從復(fù)制

????????3.2? 主從復(fù)制

????????主從復(fù)制實(shí)際是一主多從,master 對(duì)外提供讀寫服務(wù),slave 作為數(shù)據(jù)備份提供只讀服務(wù)。主機(jī)定期復(fù)制數(shù)據(jù)給從機(jī)。多副本的關(guān)鍵問(wèn)題是保證數(shù)據(jù)一致性,通常需要考慮數(shù)據(jù)同步延時(shí)的問(wèn)題。通常用在數(shù)據(jù)庫(kù)中的居多,另外主從再結(jié)合注冊(cè)中心,自動(dòng)選舉,就可以實(shí)現(xiàn)自主切換主庫(kù),數(shù)據(jù)備份這塊一般會(huì)在晚上進(jìn)行,白天會(huì)影響主數(shù)據(jù)庫(kù)的讀寫性能。

? ? ? ? 另外這個(gè)主從復(fù)制的思維模式,也大多數(shù)是用在我們平常使用的中間件上面,RocketMQ、Mysql、MongoDB、Redis中,我們?cè)谟玫竭@些,或者部署的時(shí)候可以好好理解下,這種設(shè)計(jì)模式思維。

小白初探架構(gòu)模式—常用的設(shè)計(jì)模式,Hadoop,java,主從架構(gòu),設(shè)計(jì)模式,集群分片,主從復(fù)制

????????3.3 集群分片

????????集群分片是為了解決每臺(tái)機(jī)器上存儲(chǔ)全量數(shù)據(jù)的問(wèn)題,面對(duì)大數(shù)據(jù)單機(jī)的存儲(chǔ)量總是有上限的,當(dāng)面對(duì) PB 級(jí)數(shù)據(jù)時(shí),單機(jī)是無(wú)法支撐的,因此就需要對(duì)數(shù)據(jù)進(jìn)行分片。這個(gè)設(shè)計(jì)模式,我們?cè)诖髷?shù)據(jù)的設(shè)計(jì)中,會(huì)經(jīng)常的遇到,例如,HDFS 的強(qiáng)大存儲(chǔ)能力,還有容錯(cuò)能力,都是依靠這個(gè)集群的分片設(shè)計(jì),簡(jiǎn)單的理解,就是說(shuō),我把一個(gè)大文件,分散成多個(gè)小文件,這樣我無(wú)論是存儲(chǔ),還是計(jì)算的時(shí)候,都會(huì)很快,如果下載這個(gè)大文件,我再合并下就可以了,計(jì)算的時(shí)候,也是多個(gè)小文件并行計(jì)算,最后把結(jié)果合并,這樣提高了性能和效率;還有個(gè)就是Flink? 這個(gè)是用到這個(gè)思想最多的系統(tǒng),他把任務(wù)計(jì)算這塊用到了極致,大家有興趣的可以研究下。

小白初探架構(gòu)模式—常用的設(shè)計(jì)模式,Hadoop,java,主從架構(gòu),設(shè)計(jì)模式,集群分片,主從復(fù)制

????????3.4 異地多活

????????異地就是指在地理位置上不同的地方,可分為同城異地、跨城異地、跨國(guó)異地,多活就是指不同地理位置上的系統(tǒng)都能夠提供服務(wù)。這種架構(gòu)的復(fù)雜度較高,且部署成本也會(huì)提高。

????????這個(gè)設(shè)計(jì)設(shè)計(jì)模式,主要用在特別大的系統(tǒng)上,為了加深理解,我舉個(gè)例子方便大家的理解。就是我們現(xiàn)在出門所使用的地圖,大家都不陌生吧,作為基礎(chǔ)性質(zhì)的工具,保障他的安全穩(wěn)定是非常必要的,拿淘寶來(lái)說(shuō),阿里收購(gòu)開發(fā)高德地圖,是很有必要的,因?yàn)樗挠唵?,支付,配送物流這些,都是需要依賴地圖信息的,首先他必須要把這塊掌握在自己手中,其次保證他的穩(wěn)定性。也就是他不可能把數(shù)據(jù)只存放到一個(gè)地方,會(huì)在多個(gè)地方都會(huì)存一份這樣的數(shù)據(jù),這樣在某個(gè)地方的服務(wù)器被地震或者其他不可預(yù)期的破壞了,不會(huì)影響服務(wù)的正常運(yùn)行。這是異地多活的目的。

? ? ? ? 異地多活的技術(shù)這塊更加復(fù)雜,簡(jiǎn)單的說(shuō)下一個(gè)兩地多活的吧,就是可以把一個(gè)服務(wù)的數(shù)據(jù),同時(shí)保存到兩個(gè)地方的服務(wù)器就可以了,我們可以先這樣的理解。

4. 總結(jié)

? ? ? ? 本文介紹了,主從架構(gòu)的優(yōu)缺點(diǎn),應(yīng)用場(chǎng)景,以及實(shí)現(xiàn)手段,讓大家了解了主從架構(gòu)是個(gè)什么東西。又分別介紹了平常我們?cè)诠ぷ髦泻褪褂玫闹虚g件中所涉及到的幾種設(shè)計(jì)模式,加深了對(duì)主從的設(shè)計(jì)思維的理解,希望我們能夠在平常的工作中多多的體會(huì)這些設(shè)計(jì)模式思維,讓我們變得更加的優(yōu)秀。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-823769.html

到了這里,關(guān)于小白初探架構(gòu)模式—常用的設(shè)計(jì)模式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 系統(tǒng)架構(gòu)技能之設(shè)計(jì)模式-單件模式

    系統(tǒng)架構(gòu)技能之設(shè)計(jì)模式-單件模式

    一、開篇 其實(shí)我本來(lái)不是打算把系統(tǒng)架構(gòu)中的一些設(shè)計(jì)模式單獨(dú)抽出來(lái)講解的,因?yàn)楹芏嗟暮门笥岩脖容^關(guān)注這方面的內(nèi)容,所以我想通過(guò)我理解及平時(shí)項(xiàng)目中應(yīng)用到的一 些常見(jiàn)的設(shè)計(jì)模式,拿出來(lái)給大家做個(gè)簡(jiǎn)單講解,我這里只是拋磚引玉,如果某個(gè)地方講解的不正確或者

    2024年02月10日
    瀏覽(25)
  • 系統(tǒng)架構(gòu)技能之設(shè)計(jì)模式-組合模式

    系統(tǒng)架構(gòu)技能之設(shè)計(jì)模式-組合模式

    一、上篇回顧 我們上篇主要講述了結(jié)構(gòu)型模式中的外觀模式,外觀模式作為結(jié)構(gòu)型模式中的一個(gè)簡(jiǎn)單又實(shí)用的模式,外觀模式通過(guò)封裝細(xì)節(jié)來(lái)提供大粒度的調(diào)用, 直接的好處就是,封裝細(xì)節(jié),提供了應(yīng)用寫程序的可維護(hù)性和易用性。外觀模式一般應(yīng)用在系統(tǒng)架構(gòu)的服務(wù)層中

    2024年02月09日
    瀏覽(29)
  • Java架構(gòu)師主流架構(gòu)設(shè)計(jì)模式

    想學(xué)習(xí)架構(gòu)師構(gòu)建流程請(qǐng)?zhí)D(zhuǎn):Java架構(gòu)師系統(tǒng)架構(gòu)設(shè)計(jì)

    2024年02月07日
    瀏覽(24)
  • Java架構(gòu)師設(shè)計(jì)模式分層架構(gòu)

    Java架構(gòu)師設(shè)計(jì)模式分層架構(gòu)

    想學(xué)習(xí)架構(gòu)師構(gòu)建流程請(qǐng)?zhí)D(zhuǎn):Java架構(gòu)師系統(tǒng)架構(gòu)設(shè)計(jì) 設(shè)計(jì)模式的分層架構(gòu)是一種常見(jiàn)的軟件設(shè)計(jì)模式,它將應(yīng)用程序劃分為不同的層次,以便更好地組織和管理代碼。每個(gè)層次

    2024年02月01日
    瀏覽(20)
  • 系統(tǒng)架構(gòu)技能之設(shè)計(jì)模式-抽象工廠模式

    系統(tǒng)架構(gòu)技能之設(shè)計(jì)模式-抽象工廠模式

    一、上篇回顧 上篇我們主要講述了簡(jiǎn)單工廠模式和工廠模式。并且分析了每種模式的應(yīng)用場(chǎng)景和一些優(yōu)缺點(diǎn),我們現(xiàn)在來(lái)回顧一下: 簡(jiǎn)單工廠模式:一個(gè)工廠負(fù)責(zé)所有類型對(duì)象的創(chuàng)建,不支持無(wú)縫的新增新的類型對(duì)象的創(chuàng)建。 工廠模式:多個(gè)工廠負(fù)責(zé)多個(gè)類型對(duì)象的創(chuàng)建,

    2024年02月10日
    瀏覽(23)
  • Java架構(gòu)師設(shè)計(jì)模式事件驅(qū)動(dòng)架構(gòu)

    Java架構(gòu)師設(shè)計(jì)模式事件驅(qū)動(dòng)架構(gòu)

    想學(xué)習(xí)架構(gòu)師構(gòu)建流程請(qǐng)?zhí)D(zhuǎn):Java架構(gòu)師系統(tǒng)架構(gòu)設(shè)計(jì)

    2024年02月01日
    瀏覽(21)
  • 業(yè)務(wù)架構(gòu)設(shè)計(jì)模式

    業(yè)務(wù)架構(gòu)設(shè)計(jì)模式

    背景介紹 我們是CRO面向商家的業(yè)務(wù)技術(shù)團(tuán)隊(duì),做商家營(yíng)商環(huán)境治理業(yè)務(wù)已經(jīng)4年了。作為垂直型業(yè)務(wù)技術(shù)團(tuán)體(區(qū)別于平臺(tái)技術(shù)團(tuán)隊(duì)),我們也面臨大部分業(yè)務(wù)技術(shù)團(tuán)隊(duì)的拷問(wèn):業(yè)務(wù)技術(shù)與平臺(tái)技術(shù)的差別是什么?業(yè)務(wù)技術(shù)如何做?如何理解業(yè)務(wù)?如何在短頻快的業(yè)務(wù)節(jié)奏中

    2024年02月09日
    瀏覽(24)
  • 設(shè)計(jì)模式_spring框架中常用的8種設(shè)計(jì)模式

    設(shè)計(jì)模式_spring框架中常用的8種設(shè)計(jì)模式

    spring框架中常用到的8種設(shè)計(jì)模式清單如下: 設(shè)計(jì)模式 使用地方 備注 工廠模式 BeanFactory ApplicationContext 單例模式 Spring中的Bean 代理模式 Spring AOP java反射實(shí)現(xiàn)動(dòng)態(tài)代理 模板方法模式 Spring中以Template結(jié)尾的類 使用繼承的方式實(shí)現(xiàn) 觀察者模式 Spring事件驅(qū)動(dòng)模型 適配器模式 Spri

    2023年04月08日
    瀏覽(20)
  • 《微服務(wù)架構(gòu)設(shè)計(jì)模式》第一章

    《微服務(wù)架構(gòu)設(shè)計(jì)模式》第一章

    ???????作者用國(guó)外FTGO公司(一家做線餐飲外賣)的應(yīng)用程序舉例,闡述了單體架構(gòu)的優(yōu)缺點(diǎn)。FTGO應(yīng)用架構(gòu)如下: 應(yīng)用程序是單體應(yīng)用,具有六邊形架構(gòu),最內(nèi)側(cè)是業(yè)務(wù)邏輯,包含訂單管理、配送管理、用戶管理等。業(yè)務(wù)邏輯外邊是實(shí)現(xiàn)用戶界面的適配器和與外部系

    2024年02月09日
    瀏覽(52)
  • 【軟件架構(gòu)】流水線設(shè)計(jì)模式

    【軟件架構(gòu)】流水線設(shè)計(jì)模式

    流水線模式 流水線 模式是一種軟件設(shè)計(jì)模式,它提供了構(gòu)建 和執(zhí)行 一系列 操作的能力。 此模式最好與 插件 模式結(jié)合使用,以便在應(yīng)用程序啟動(dòng)時(shí) 動(dòng)態(tài) 構(gòu)建流水線。 順序 流水線的最基本實(shí)現(xiàn)是一個(gè)簡(jiǎn)單的操作序列。 可以調(diào)用 操作 的接口來(lái) 處理 數(shù)據(jù)。 流水線一個(gè)一個(gè)

    2024年02月10日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包