0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

簡單分析Java高可用集群和微服務(wù)架構(gòu)

汽車玩家 ? 來源:今日頭條 ? 作者:咔咔侃技術(shù) ? 2020-05-03 18:17 ? 次閱讀

可能大部分讀者都在想,為什么在這以 dubbo、spring cloud 為代表的微服務(wù)時代,我要還要整理這種已經(jīng)“過時”高可用集群架構(gòu)?

本人工作上大部分團(tuán)隊都是7-15人編制的開發(fā)團(tuán)隊,對應(yīng)的公司項目也大都是中小型項目,最大的項目 PV/UV 也就只有 10w/2w 。在這樣的場景下,中小型公司一般都是創(chuàng)業(yè)起步?jīng)]多久,大部分都需要本著“開源節(jié)流”、“以最小的成本把產(chǎn)出最大化”。微服務(wù)架構(gòu)相比于高可用集群架構(gòu),個人理解,對于技術(shù)團(tuán)隊的成員編制相對要多一點(diǎn),服務(wù)器部署成本相對也要高一點(diǎn)。

作為技術(shù)團(tuán)隊負(fù)責(zé)人,肯定要為企業(yè)整體成本考慮,否則要不了多久,便是討薪大軍的一員了吧。。。

一、如何選擇

1、高可用集群

適用于中小型創(chuàng)業(yè)公司項目架構(gòu),小型技術(shù)團(tuán)隊快速迭代版本發(fā)布部署需求,前期低成本運(yùn)行,爆發(fā)時可通過投入適量成本橫向擴(kuò)容服務(wù)器抗壓。

特點(diǎn):

前期技術(shù)開發(fā)成本低

一定的服務(wù)器擴(kuò)容成本

核心團(tuán)隊編制及技能要求較少

項目發(fā)布部署基本無依賴,時間成本低

服務(wù)器運(yùn)維成本一般

大而全的項目模塊分離設(shè)計

更省更穩(wěn)的技術(shù)架構(gòu)選擇

微服務(wù)架構(gòu)強(qiáng)迫癥不適用

2、微服務(wù)架構(gòu)

適用于業(yè)務(wù)架構(gòu)較大的中大型科技公司項目架構(gòu),系統(tǒng)可拆分多個項目單獨(dú)運(yùn)營,大型技術(shù)團(tuán)隊、平臺產(chǎn)品規(guī)范化管理,前期投入一定的成本,可以低成本擴(kuò)容指定服務(wù)的服務(wù)器抗壓。

前期一定的技術(shù)開發(fā)成本

較低的服務(wù)器擴(kuò)容成本

核心團(tuán)隊編制及技能要求較高

項目發(fā)布部署存在依賴,逐個部署,時間成本較高

服務(wù)器運(yùn)維成本一般或較高

較清晰的項目模塊分離設(shè)計

更潮更時尚的技術(shù)架構(gòu)選擇

二、高可用集群架構(gòu)

1、必備服務(wù)器清單

負(fù)載均衡服務(wù)器

web項目服務(wù)器

緩存服務(wù)器

數(shù)據(jù)庫服務(wù)器(主備)

注意:可能有人會問,若是小型項目單機(jī)服務(wù),負(fù)載均衡是否就不需要?負(fù)載均衡主要工作是分發(fā)請求到源服務(wù)器,另一個作用也是為了保護(hù)源服務(wù)器,不暴露服務(wù)器真實(shí)IP,大幅度降低服務(wù)器被DDoS攻擊的風(fēng)險,可參考《被人DDoS攻擊了,分析一下原理和防護(hù)》 一文。

2、擴(kuò)展服務(wù)器清單

更多web項目服務(wù)器(集群負(fù)載)

異步服務(wù)服務(wù)器(配置中心、消息隊列、job任務(wù)等)

數(shù)據(jù)庫服務(wù)器(讀寫分離、主從復(fù)制)

文件服務(wù)器

2、架構(gòu)圖

簡單分析Java高可用集群和微服務(wù)架構(gòu)

三、微服務(wù)架構(gòu)

1、服務(wù)器清單

dubbo / spring cloud 全家桶組件服務(wù)器

負(fù)載均衡服務(wù)器

A模塊 web項目服務(wù)器

B模塊 web項目服務(wù)器

C模塊 web項目服務(wù)器

XXX模塊 web項目服務(wù)器

緩存服務(wù)器

數(shù)據(jù)庫服務(wù)器

文件服務(wù)器

異步服務(wù)服務(wù)器(配置中心、消息隊列、job任務(wù)等)

2、架構(gòu)圖

簡單分析Java高可用集群和微服務(wù)架構(gòu)

四、總結(jié)

綜上,我們對于高可用集群和微服務(wù)架構(gòu)做了簡單的場景和架構(gòu)圖分析,并不是說什么場景下一定要用什么架構(gòu),也不是說什么最潮流就用什么架構(gòu),而是根據(jù)實(shí)際成本和產(chǎn)出作為出發(fā)點(diǎn)做選擇。

創(chuàng)業(yè)公司剛起步,資金可能也就百來萬,搞微服務(wù)架構(gòu),光技術(shù)團(tuán)隊和服務(wù)器一個月的成本就占了公司一大頭,產(chǎn)品還沒上線,公司就已經(jīng)倒閉了;

有資源的公司,動不動就能獲得千萬級甚至更高級別的融資,業(yè)務(wù)方向眾多,若還只是用高可用架構(gòu),所有的業(yè)務(wù)模塊都臃腫在一個項目里,不論是代碼管理還是人員管理上,都是巨大的資源消耗。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2946

    瀏覽量

    104366
  • 集群
    +關(guān)注

    關(guān)注

    0

    文章

    84

    瀏覽量

    17149
收藏 人收藏

    評論

    相關(guān)推薦

    架構(gòu)與設(shè)計 常見微服務(wù)分層架構(gòu)的區(qū)別和落地實(shí)踐

    架構(gòu)風(fēng)格越傾向于清晰的職責(zé)定位,且讓領(lǐng)域模型成為架構(gòu)的核心。 基于這些架構(gòu)風(fēng)格,在軟件架構(gòu)設(shè)計過程中又有非常多的架構(gòu)分層模型。 傳統(tǒng)三層
    的頭像 發(fā)表于 10-22 15:34 ?52次閱讀
    <b class='flag-5'>架構(gòu)</b>與設(shè)計 常見<b class='flag-5'>微服務(wù)</b>分層<b class='flag-5'>架構(gòu)</b>的區(qū)別和落地實(shí)踐

    微服務(wù)架構(gòu)與容器云的關(guān)系與區(qū)別

    微服務(wù)架構(gòu)與容器云密切相關(guān)又有所區(qū)別。微服務(wù)將大型應(yīng)用拆分為小型、獨(dú)立的服務(wù),而容器云基于容器技術(shù),為微服務(wù)提供構(gòu)建、發(fā)布和運(yùn)行的平臺。區(qū)別
    的頭像 發(fā)表于 10-21 17:28 ?56次閱讀

    入門級攻略:如何容器化部署微服務(wù)

    第一步理解容器化基礎(chǔ),第二步創(chuàng)建Dockerfile,第三步構(gòu)建推送鏡像,第四步部署微服務(wù),第五步管理微服務(wù)、第六步優(yōu)化更新。容器化部署微服務(wù)是現(xiàn)代軟件開發(fā)中的一種高效方法,可提供良好的可移植性、可擴(kuò)展性和管理性。容器化部署
    的頭像 發(fā)表于 10-09 10:08 ?64次閱讀

    Proxyless的多活流量和微服務(wù)治理

    1. 引言 1.1 項目的背景及意義 在當(dāng)今的微服務(wù)架構(gòu)中,應(yīng)用程序通常被拆分成多個獨(dú)立的服務(wù),這些服務(wù)通過網(wǎng)絡(luò)進(jìn)行通信。這種架構(gòu)的優(yōu)勢在于
    的頭像 發(fā)表于 08-28 16:54 ?1489次閱讀
    Proxyless的多活流量和<b class='flag-5'>微服務(wù)</b>治理

    服務(wù)集群中 IP 地址管理混亂

    ,共同工作以提供更高的性能、可用性和可擴(kuò)展性。IP 地址則是服務(wù)器在網(wǎng)絡(luò)中的標(biāo)識符,用于數(shù)據(jù)的傳輸和通信。 在服務(wù)集群中,合理的 IP 地址規(guī)劃和管理對于確保
    的頭像 發(fā)表于 08-01 14:45 ?208次閱讀

    采用OpenUSD和NVIDIA NIM微服務(wù)創(chuàng)建精準(zhǔn)品牌視覺

    全球領(lǐng)先的創(chuàng)意和制作服務(wù)機(jī)構(gòu)率先采用 OpenUSD 和 NVIDIA NIM 微服務(wù)來創(chuàng)建精準(zhǔn)的品牌視覺。
    的頭像 發(fā)表于 08-01 14:33 ?355次閱讀

    K8S學(xué)習(xí)教程(二):在 PetaExpress KubeSphere容器平臺部署可用 Redis 集群

    前言 Redis 是在開發(fā)過程中經(jīng)常用到的緩存中間件,為了考慮在生產(chǎn)環(huán)境中穩(wěn)定性和可用,Redis通常采用集群模式的部署方式。 在制定Redis集群的部署策略時,常規(guī)部署在虛擬機(jī)上的
    的頭像 發(fā)表于 07-03 15:30 ?526次閱讀
    K8S學(xué)習(xí)教程(二):在 PetaExpress KubeSphere容器平臺部署<b class='flag-5'>高</b><b class='flag-5'>可用</b> Redis <b class='flag-5'>集群</b>

    Java微服務(wù)隨機(jī)掉線排查過程簡析

    我們的業(yè)務(wù)共使用 11 臺(阿里云)服務(wù)器,使用 SpringcloudAlibaba 構(gòu)建微服務(wù)集群, 共計 60 個微服務(wù), 全部注冊在同一個 Nacos
    的頭像 發(fā)表于 01-13 17:41 ?856次閱讀
    <b class='flag-5'>Java</b><b class='flag-5'>微服務(wù)</b>隨機(jī)掉線排查過程簡析

    游戲公司不使用微服務(wù)架構(gòu)的原因

    微服務(wù)基本只有 request/response 的模式。做不了 streaming?微服務(wù)通常要求應(yīng)用是無狀態(tài)的才能做到水平擴(kuò)展。streaming 本身就是加入了狀態(tài)
    的頭像 發(fā)表于 12-29 11:18 ?385次閱讀

    如何搭建微服務(wù)架構(gòu)的全局圖景

    如果一直保持共用數(shù)據(jù)庫的模式,則整個架構(gòu)會越來越僵化,失去了微服務(wù)架構(gòu)的意義。因此小明和小紅一鼓作氣,把數(shù)據(jù)庫也拆分了。所有持久化層相互隔離,由各個服務(wù)自己負(fù)責(zé)。另外,為了提高系統(tǒng)的實(shí)
    的頭像 發(fā)表于 12-27 15:16 ?436次閱讀
    如何搭建<b class='flag-5'>微服務(wù)</b><b class='flag-5'>架構(gòu)</b>的全局圖景

    如何構(gòu)建彈性、可用微服務(wù)

    基于微服務(wù)的應(yīng)用程序可實(shí)現(xiàn)戰(zhàn)略性數(shù)字轉(zhuǎn)型和云遷移計劃,對于開發(fā)團(tuán)隊來說,這種架構(gòu)十分重要。那么,如何來構(gòu)建彈性、可用微服務(wù)呢?Redis
    的頭像 發(fā)表于 11-26 08:06 ?416次閱讀
    如何構(gòu)建彈性、<b class='flag-5'>高</b><b class='flag-5'>可用</b>的<b class='flag-5'>微服務(wù)</b>?

    設(shè)計微服務(wù)架構(gòu)的原則

    微服務(wù)是一種軟件架構(gòu)策略,有利于改善整體性能和可擴(kuò)展性。你可能會想,我的團(tuán)隊需不需要采用微服務(wù),設(shè)計微服務(wù)架構(gòu)有哪些原則?本文會給你一些靈感
    的頭像 發(fā)表于 11-26 08:05 ?501次閱讀
    設(shè)計<b class='flag-5'>微服務(wù)</b><b class='flag-5'>架構(gòu)</b>的原則

    docker微服務(wù)架構(gòu)實(shí)戰(zhàn)

    隨著云計算和容器化技術(shù)的快速發(fā)展,微服務(wù)架構(gòu)在軟件開發(fā)領(lǐng)域中變得越來越流行。微服務(wù)架構(gòu)將一個大型的軟件應(yīng)用拆分成多個小型的、獨(dú)立部署的服務(wù),
    的頭像 發(fā)表于 11-23 09:26 ?578次閱讀

    springcloud微服務(wù)架構(gòu)

    Spring Cloud是一個開源的微服務(wù)架構(gòu)框架,它提供了一系列工具和組件,用于構(gòu)建和管理分布式系統(tǒng)中的微服務(wù)。它基于Spring框架,旨在通過簡化開發(fā)過程和降低系統(tǒng)復(fù)雜性來幫助開發(fā)人員構(gòu)建彈性
    的頭像 發(fā)表于 11-23 09:24 ?1065次閱讀

    深入探討微服務(wù)和事件驅(qū)動架構(gòu)區(qū)別

    微服務(wù)不同,事件驅(qū)動架構(gòu)不要求強(qiáng)制的粒度。事件處理器可以有不同的規(guī)模,可以是響應(yīng)特定事件的小型功能,也可以是處理多個事件的大型子系統(tǒng)。在物流系統(tǒng)中,事件驅(qū)動架構(gòu)可以包括用于包裹跟蹤更新的小型事件處理器,也可以有更大的子系統(tǒng)用于
    的頭像 發(fā)表于 10-30 15:06 ?500次閱讀