摘要:服務(wù)拆分具體拆分到多細(xì),業(yè)內(nèi)沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)。全部模塊基于,采用進(jìn)行項(xiàng)目管理。比較常見的做法時(shí),每個(gè)子服務(wù)模塊中獨(dú)立一個(gè)模塊,存放實(shí)體及對外的接口。
自第一篇《基于SpringCloud的Microservices架構(gòu)實(shí)戰(zhàn)案例-序篇》發(fā)表出來后,差不多有半年時(shí)間了,一直也沒有接著拆分完,有如讀本書一樣,也是需要契機(jī)的,還是要把未完成的工作做完,雖然并不是什么經(jīng)典應(yīng)用,還是有必要將simplemall的形成過程拆解下,也便于對此案例的理解。
服務(wù)拆分具體拆分到多細(xì),業(yè)內(nèi)沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)。當(dāng)然也不能為了拆分而拆分,還要依據(jù)具體的業(yè)務(wù)場景應(yīng)用情況而定,讀過《淘寶技術(shù)這十年》的朋友,相信對淘寶的技術(shù)演進(jìn)有一個(gè)很直觀的感受。雖然當(dāng)時(shí)微服務(wù)的概念并不今天這般火熱,但實(shí)際已經(jīng)在生產(chǎn)環(huán)境中運(yùn)行。
simplemall項(xiàng)目的業(yè)務(wù)背景基于簡單的購物場景,也即是常見的電商業(yè)務(wù)。實(shí)現(xiàn)完備的電商業(yè)務(wù)流程非常復(fù)雜龐大,此項(xiàng)目僅中拆分出基礎(chǔ)的簡單的5個(gè)基礎(chǔ)服務(wù),用戶模塊、訂單模塊、支付模塊、產(chǎn)品模塊、消息模塊。實(shí)際的業(yè)務(wù)應(yīng)用中可能拆解的更加細(xì)致,比如產(chǎn)品服務(wù)中還可以細(xì)分出庫存、促銷、價(jià)格、產(chǎn)品分類、推薦等等,本項(xiàng)目僅以最簡單的服務(wù)展現(xiàn),以達(dá)成簡單了解并使用spring cloud組件的目的。
全部模塊基于SpringBoot,采用maven進(jìn)行項(xiàng)目管理。
項(xiàng)目架構(gòu)結(jié)構(gòu)圖如下:
基礎(chǔ)業(yè)務(wù)服務(wù)分為:
account-service用戶子服務(wù)
product-service產(chǎn)品子服務(wù)
payment-service支付子服務(wù)
order-service訂單子服務(wù)
msg-service消息子服務(wù)
front-app業(yè)務(wù)前端展示
每個(gè)業(yè)務(wù)服務(wù)有自己的多帶帶的DB,數(shù)據(jù)存儲基于mysql 5.6+,sql文件夾下面存放著基礎(chǔ)的初始化腳本,直接執(zhí)行即可。每個(gè)服務(wù)連接db的配置依本地配置為準(zhǔn)。
基礎(chǔ)支撐服務(wù)分為:
admin-server服務(wù)監(jiān)控
conf-server配置中心
eureka-server服務(wù)注冊中心
hystrix-dashborad服務(wù)熔斷監(jiān)控面板
sleuth-server鏈接跟蹤監(jiān)控
turbine-server服務(wù)熔斷集合監(jiān)控
zuul-server網(wǎng)關(guān)服務(wù)器
common-module基礎(chǔ)模塊
必備服務(wù)是eureka-server,用于服務(wù)注冊、發(fā)現(xiàn)。其余基礎(chǔ)服務(wù)模塊是慢慢演變優(yōu)化加入進(jìn)去的。
common-module模塊中存放redis的連接配置及相關(guān)模塊的實(shí)體。有朋友問entity為何存儲在common模塊中,此種做法有利有弊。好處是所有子模塊直接依賴此common模塊,可以拿到所以模塊相關(guān)的實(shí)體及接口,弊端是服務(wù)增多時(shí),Java類繁多龐大,會引入很多無關(guān)代碼。比較常見的做法時(shí),每個(gè)子服務(wù)模塊中獨(dú)立一個(gè)api模塊,存放實(shí)體及對外的api接口。如下圖:
小節(jié)一下:本文介紹了simplemall項(xiàng)目的代碼結(jié)構(gòu),重點(diǎn)述說了下子服務(wù)的實(shí)體及接口代碼的存儲,后續(xù)深入具體模塊詳細(xì)介紹。
源碼地址:https://github.com/backkoms/s...
擴(kuò)展閱讀:
來聽聽一位『大齡程序員』的心聲
如何從傳統(tǒng)軟件開發(fā)順利過渡到互聯(lián)網(wǎng)技術(shù)開發(fā)
學(xué)習(xí)新技術(shù)時(shí)你應(yīng)當(dāng)掌握的『最少必要知識』
做了七年軟件開發(fā)后反而更迷茫
軟技能:代碼之外的生存指南
基于SpringCloud的Microservices架構(gòu)實(shí)戰(zhàn)案例
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/68945.html
摘要:基于的架構(gòu)實(shí)戰(zhàn)案例配置文件屬性內(nèi)容加解密使用過配置文件的朋友都知道,資源文件中的內(nèi)容通常情況下是明文顯示,安全性就比較低一些。,官方給出的釋意是項(xiàng)目也采用此加密組件,結(jié)合使用。 基于SpringCloud的Microservices架構(gòu)實(shí)戰(zhàn)案例-配置文件屬性內(nèi)容加解密 使用過SpringBoot配置文件的朋友都知道,資源文件中的內(nèi)容通常情況下是明文顯示,安全性就比較低一些。打開appl...
摘要:大家好,我是冰河有句話叫做投資啥都不如投資自己的回報(bào)率高。馬上就十一國慶假期了,給小伙伴們分享下,從小白程序員到大廠高級技術(shù)專家我看過哪些技術(shù)類書籍。 大家好,我是...
摘要:創(chuàng)建服務(wù)注冊中心創(chuàng)建一個(gè)基礎(chǔ)的工程,命名為,并在中引入需要的依賴內(nèi)容通過注解啟動一個(gè)服務(wù)注冊中心提供給其他應(yīng)用進(jìn)行對話。 1.Spring Cloud簡介 Spring Cloud是一個(gè)基于Spring Boot實(shí)現(xiàn)的云應(yīng)用開發(fā)工具,它為基于JVM的云應(yīng)用開發(fā)中涉及的配置管理、服務(wù)發(fā)現(xiàn)、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分布式會話和集群狀態(tài)管理等操作提供了一種簡單的開發(fā)方...
閱讀 2078·2023-04-25 17:57
閱讀 1284·2021-11-24 09:39
閱讀 2482·2019-08-29 16:39
閱讀 3311·2019-08-29 13:44
閱讀 3116·2019-08-29 13:14
閱讀 2313·2019-08-26 11:36
閱讀 3809·2019-08-26 11:00
閱讀 948·2019-08-26 10:14