溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

微服務(wù)架構(gòu)案例(01):項(xiàng)目技術(shù)選型簡(jiǎn)介,架構(gòu)圖解說明

發(fā)布時(shí)間:2020-07-17 15:53:50 來(lái)源:網(wǎng)絡(luò) 閱讀:295 作者:知了一笑 欄目:編程語(yǔ)言

本文源碼:GitHub·點(diǎn)這里 || GitEE·點(diǎn)這里

一、單體架構(gòu)

單體架構(gòu)在中等偏小的業(yè)務(wù)中比較常見,場(chǎng)景模式就是單個(gè)應(yīng)用、單個(gè)數(shù)據(jù)庫(kù)。一個(gè)程序包(例如war格式或者Jar格式)包含所有業(yè)務(wù)需求功能,這是一種比較傳統(tǒng)的架構(gòu)風(fēng)格。

單體架構(gòu)的缺陷

  1. 復(fù)雜性高,整個(gè)項(xiàng)目包含的模塊多,依賴模糊,修改程序容易觸發(fā)不可知問題。
  2. 擴(kuò)展能力受限,單體應(yīng)用只能整體進(jìn)行擴(kuò)展,無(wú)法針對(duì)業(yè)務(wù)模塊的特性進(jìn)行伸縮。
  3. 穩(wěn)定性差,任何微小的問題,都可能導(dǎo)致整個(gè)應(yīng)用服務(wù)直接掛掉。

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

微服務(wù)架構(gòu)是一種架構(gòu)概念,核心思想在于通過將業(yè)務(wù)功能和需求分解到各個(gè)不同的服務(wù)中進(jìn)行管理,實(shí)現(xiàn)對(duì)業(yè)務(wù)整體解耦。圍繞業(yè)務(wù)模式創(chuàng)建應(yīng)用服務(wù),應(yīng)用服務(wù)可獨(dú)立地進(jìn)行開發(fā)、迭代、部署。使項(xiàng)目的架構(gòu)更加清晰明確。

微服務(wù)優(yōu)劣勢(shì)

  1. 單個(gè)服務(wù)對(duì)應(yīng)單個(gè)業(yè)務(wù)功能,方便理解,開發(fā),維護(hù);
  2. 服務(wù)獨(dú)立部署,可以根據(jù)每個(gè)服務(wù)的請(qǐng)求量來(lái)部署滿足需求的規(guī)模;
  3. 數(shù)據(jù)庫(kù),服務(wù),架構(gòu),業(yè)務(wù)拆分等難度增大,對(duì)技術(shù)能力要求較高;

三、項(xiàng)目簡(jiǎn)介

微服務(wù)架構(gòu)案例核心內(nèi)容,基于SpringCloud框架幾個(gè)核心組件,Eureka服務(wù)注冊(cè)與發(fā)現(xiàn)組件,F(xiàn)eign聲明式的WebService客戶端組件,Zuul動(dòng)態(tài)路由網(wǎng)關(guān)組件。進(jìn)行多個(gè)數(shù)據(jù)管理,多個(gè)服務(wù)管理搭建,多個(gè)中間件集成,多業(yè)務(wù)拆分等模式,搭建SpringCloud微服務(wù)框架的綜合應(yīng)用案例。

核心模塊

  1. 業(yè)務(wù)拆分架構(gòu)設(shè)計(jì)
  2. 多個(gè)中間件服務(wù)集成
  3. 微服務(wù)下代碼分塊管理
  4. 多個(gè)MySQL數(shù)據(jù)源管理

四、技術(shù)選型

1、核心框架組件

1. 基礎(chǔ)層框架:Spring5+,SpringBoot2+,SpringCloud2+
2. 持久層框架:mybatis,mybatis-plus
3. 開發(fā)組件:Druid,Log4j,F(xiàn)astJson,JodaTime,JavaMail
4. 中間件集成:RocketMQ,Redis,Quart,ElasticSearch
5. 數(shù)據(jù)存儲(chǔ):MySQL、Redis、ElasticSearch

2、代碼分層結(jié)構(gòu)

微服務(wù)架構(gòu)案例(01):項(xiàng)目技術(shù)選型簡(jiǎn)介,架構(gòu)圖解說明

五、項(xiàng)目架構(gòu)

1、架構(gòu)圖解

微服務(wù)架構(gòu)案例(01):項(xiàng)目技術(shù)選型簡(jiǎn)介,架構(gòu)圖解說明

2、架構(gòu)說明

  • 客戶端接口服務(wù)
1. 用戶端服務(wù)接口;
2. 管理端服務(wù)接口;
3. 數(shù)據(jù)入庫(kù)服務(wù)接口;
4. 數(shù)據(jù)分析服務(wù)接口
  • 通用服務(wù)接口
1. RocketMQ消息隊(duì)列服務(wù) ;
2. ElasticSearch搜索引擎服務(wù) ;
3. Quart定時(shí)器服務(wù) ;
4. Redis緩存服務(wù) ;
5. 基礎(chǔ)業(yè)務(wù):Token認(rèn)證服務(wù) ;
6. 基礎(chǔ)業(yè)務(wù):MsgBox消息中心服務(wù) ;
  • 微服務(wù)組件
1. 路由網(wǎng)關(guān):Zuul組件;
2. 服務(wù)注冊(cè)與發(fā)現(xiàn):Eureka組件;
3. 服務(wù)間調(diào)用組件:Feign組件;
  • 數(shù)據(jù)存儲(chǔ)容器
MySQL、Redis、ElasticSearch

六、源代碼地址

GitHub·地址
https://github.com/cicadasmile
GitEE·地址
https://gitee.com/cicadasmile

微服務(wù)架構(gòu)案例(01):項(xiàng)目技術(shù)選型簡(jiǎn)介,架構(gòu)圖解說明

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI