成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一款不錯(cuò)的SpringCloud 腳手架項(xiàng)目

開(kāi)發(fā) 架構(gòu)
我自己搭建一個(gè)全新spingCloud框架,里面所有組件可插拔的,集成多個(gè)組件供大家選擇,喜歡哪個(gè)用哪個(gè)。

 之前接個(gè)私活,在網(wǎng)上找了好久沒(méi)有找到合適的框架,不是版本低沒(méi)人維護(hù)了,在不就是組件相互依賴(lài)較高。所以我自己搭建一個(gè)全新spingCloud框架,里面所有組件可插拔的,集成多個(gè)組件供大家選擇,喜歡哪個(gè)用哪個(gè)

一、系統(tǒng)架構(gòu)圖

二、快速啟動(dòng)

1.本地啟動(dòng)nacos: http://127.0.0.1:8848 

  1. sh startup.sh -m standalone 

2.本地啟動(dòng)sentinel: http://127.0.0.1:9000 

  1. nohup java -Dauth.enabled=false -Dserver.port=9000 -jar sentinel-dashboard-1.8.1.jar & 

3.本地啟動(dòng)zipkin: http://127.0.0.1:9411/ 

  1. nohup java -jar zipkin-server-2.23.2-exec.jar & 

三、項(xiàng)目概述

  •  springboot+springcloud
  •  注冊(cè)中心:nacos
  •  網(wǎng)關(guān):gateway
  •  RPC:feign

以下是可插拔功能組件

  •  熔斷降級(jí):sentinel
  •  全鏈路跟蹤:sleth+zipkin
  •  分布式事務(wù):seata
  •  封裝功能模塊:全局異常處理、日志輸出打印持久化、多數(shù)據(jù)源、鑒權(quán)授權(quán)模塊、zk(分布式鎖和訂閱者模式)
  •  maven:實(shí)現(xiàn)多環(huán)境打包、直推鏡像到docker私服。

這個(gè)項(xiàng)目整合了springcloud體系中的各種組件。以及集成配置說(shuō)明。同時(shí)將自己平時(shí)使用的功能性的封裝以及工具包都最為模塊整合進(jìn)來(lái)。可以避免某些技術(shù)點(diǎn)長(zhǎng)時(shí)間不使用后的遺忘。

另一方面現(xiàn)在springboot springcloud 已經(jīng)springcloud-alibaba的版本迭代速度越來(lái)越快。

為了保證我們的封裝和集成方式在新版本中依然正常運(yùn)行,需要用該項(xiàng)目進(jìn)行最新版本的適配實(shí)驗(yàn)。這樣可以更快的在項(xiàng)目中集合工程中的功能模塊。

四、項(xiàng)目預(yù)覽

五、新建業(yè)務(wù)工程模塊說(shuō)明

由于springboot遵循 約定大于配置的原則。所以本工程中所有的額類(lèi)都在的包路徑都在com.cloud.base下。

如果新建的業(yè)務(wù)項(xiàng)目有規(guī)定使用指定的基礎(chǔ)包路徑則需要在啟動(dòng)類(lèi)增加包掃描注解將com.cloud.base下的所有類(lèi)加入到掃描范圍下。

 

  1. @ComponentScan(basePackages = "com.cloud.base"

如果可以繼續(xù)使用com.cloud.base 則約定將啟動(dòng)類(lèi)放在該路徑下即可。

六、模塊劃分 

  1. 父工程:  
  2. cloud-base - 版本依賴(lài)管理  <groupId>com.cloud</groupId>  
  3.  
  4. |--common - 通用工具類(lèi)和包  <groupId>com.cloud.common</groupId>  
  5. |   |  
  6. |   |--core-common  通用包 該包包含了SpringMVC的依賴(lài),會(huì)與WebFlux的服務(wù)有沖突  
  7. |   |  
  8. |   |--core-exception 自定義異常和請(qǐng)求統(tǒng)一返回類(lèi)  
  9.  
  10. |--dependency - 三方功能依賴(lài)集合 無(wú)任何實(shí)現(xiàn) <groupId>com.cloud.dependency</groupId>  
  11. |   | 
  12. |   |--dependency-alibaba-cloud 關(guān)于alibaba-cloud的依賴(lài)集合  
  13. |   |  
  14. |   |--dependency-mybatis-tk 關(guān)于ORM mybatis+tk.mybatis+pagehelper的依賴(lài)集合  
  15. |   |  
  16. |   |--dependency-mybatis-plus 關(guān)于ORM mybatis+mybatis—plus+pagehelper的依賴(lài)集合  
  17. |   |  
  18. |   |--dependency-seata 關(guān)于分布式事務(wù)seata的依賴(lài)集合  
  19. |   |  
  20. |   |--dependency-sentinel 關(guān)于流控組件sentinel的依賴(lài)集合  
  21. |   | 
  22. |   |--dependency-sentinel-gateway 關(guān)于網(wǎng)關(guān)集成流控組件sentinel的依賴(lài)集合(僅僅gateway網(wǎng)關(guān)使用該依賴(lài))  
  23. |   |  
  24. |   |--dependency-sleuth-zipkin 關(guān)于鏈路跟蹤sleuth-zipkin的依賴(lài)集合  
  25.  
  26. |--modules - 自定義自實(shí)現(xiàn)的功能組件模塊 <groupId>com.cloud.modules</groupId>  
  27. |   |  
  28. |   |--modules-logger 日志功能封裝  
  29. |   |  
  30. |   |--modules-multi-datasource 多數(shù)據(jù)功能封裝  
  31. |   |  
  32. |   |--modules-lh-security 分布式安全授權(quán)鑒權(quán)框架封裝  
  33. |   |  
  34. |   |--modules-youji-task 酉雞-分布式定時(shí)任務(wù)管理模塊  
  35. |   |  
  36.  
  37. |     
  38. |     
  39. | 以下是獨(dú)立部署的應(yīng)用 以下服務(wù)啟動(dòng)后配合前端工程使用 (cloud-base-angular-admin)  
  40.  
  41. |--cloud-gateway  應(yīng)用網(wǎng)關(guān)  
  42.  
  43. |--authorize-center 集成了modules-lh-security 的授權(quán)中心,提供統(tǒng)一授權(quán)和鑒權(quán)  
  44. |     
  45. |--code-generator 代碼生成工具  
  46.  
  47. |--user-center 用戶(hù)中心 提供用戶(hù)管理和權(quán)限管理的相關(guān)服務(wù)  
  48.  
  49. |--youji-manage-server 集成了modules-youji-task 的定時(shí)任務(wù)管理服務(wù)端 

七、版本使用說(shuō)明 

  1. <springboot.version>2.4.2</springboot.version>  
  2. <springcloud.version>2020.0.3</springcloud.version>  
  3. <springcloud-alibaba.version>2021.1</springcloud-alibaba.version>  

八、多環(huán)境打包說(shuō)明

在需要獨(dú)立打包的模塊resources資源目錄下增加不同環(huán)境的配置文件 

  1. application-dev.yml  
  2. application-test.yml 
  3. application-prod.yml 

修改application.yml 

  1. spring:  
  2.   profiles:  
  3.     active: @profileActive@ 

在需要獨(dú)立打包的模塊下的pom文件中添加一下打包配置。 

  1. <build>  
  2.     <plugins>  
  3.         <plugin>  
  4.             <groupId>org.springframework.boot</groupId>  
  5.             <artifactId>spring-boot-maven-plugin</artifactId>  
  6.             <version>${springboot.version}</version>  
  7.             <configuration>  
  8.                 <fork>true</fork>  
  9.                 <addResources>true</addResources>  
  10.             </configuration>  
  11.             <executions>  
  12.                 <execution>  
  13.                     <goals>  
  14.                         <goal>repackage</goal>  
  15.                     </goals>  
  16.                 </execution>  
  17.             </executions>  
  18.         </plugin>  
  19.         <plugin>  
  20.             <groupId>org.apache.maven.plugins</groupId>  
  21.             <artifactId>maven-resources-plugin</artifactId>  
  22.             <configuration>  
  23.                 <delimiters>  
  24.                     <delimiter>@</delimiter>  
  25.                 </delimiters>  
  26.                 <useDefaultDelimiters>false</useDefaultDelimiters>  
  27.             </configuration>  
  28.         </plugin>  
  29.     </plugins>  
  30.     <resources>  
  31.         <resource>  
  32.             <directory>src/main/resources</directory>  
  33.             <filtering>true</filtering>  
  34.         </resource>  
  35.     </resources>  
  36. </build>  
  37. <profiles>  
  38.     <profile>  
  39.         <id>dev</id>  
  40.         <activation>  
  41.             <activeByDefault>true</activeByDefault>  
  42.         </activation>  
  43.         <properties>  
  44.             <profileActive>dev</profileActive>  
  45.         </properties>  
  46.     </profile>  
  47.     <profile>  
  48.         <id>test</id>  
  49.         <properties>  
  50.             <profileActive>test</profileActive>  
  51.         </properties>  
  52.     </profile>  
  53.     <profile>  
  54.         <id>prod</id>  
  55.         <properties>  
  56.             <profileActive>prod</profileActive>  
  57.         </properties>  
  58.     </profile>  
  59. </profiles> 

mvn打包命令 

  1. # 打開(kāi)發(fā)環(huán)境  
  2. mvn clean package -P dev -Dmaven.test.skip=ture  
  3. # 打測(cè)試環(huán)境  
  4. mvn clean package -P test -Dmaven.test.skip=ture  
  5. # 打生產(chǎn)環(huán)境  
  6. mvn clean package -P prod -Dmaven.test.skip=ture 

九、構(gòu)建Docker鏡像

整合dockerfile插件,可直接將jar包構(gòu)建為docker image 并推送到遠(yuǎn)程倉(cāng)庫(kù)

增加插件依賴(lài) 

  1. <!-- docker image build -->  
  2. <plugin>  
  3.     <groupId>com.spotify</groupId>  
  4.     <artifactId>dockerfile-maven-plugin</artifactId>  
  5.     <version>1.4.10</version>  
  6.     <executions>  
  7.         <execution>  
  8.             <id>default</id>  
  9.             <goals>  
  10.                 <!--如果package時(shí)不想用docker打包,就注釋掉這個(gè)goal-->  
  11.                 <!--                        <goal>build</goal>-->  
  12.                 <goal>push</goal>  
  13.             </goals>  
  14.         </execution>  
  15.     </executions>  
  16.     <configuration>  
  17.         <repository>49.232.166.94:8099/example/${project.artifactId}</repository>  
  18.         <tag>${profileActive}-${project.version}</tag>  
  19.         <username>admin</username>  
  20.         <password>Harbor12345</password>  
  21.         <buildArgs>  
  22.             <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>  
  23.         </buildArgs>  
  24.     </configuration>  
  25. </plugin> 

在pom.xml同級(jí)目錄下增加Dockerfile 

  1. FROM registry.cn-hangzhou.aliyuncs.com/lh0811/lh0811-docer:lh-jdk1.8-0.0.1  
  2. MAINTAINER lh0811  
  3. ADD  ./target/${JAR_FILE} /opt/app.jar  
  4. RUN chmod +x /opt/app.jar  
  5. CMD java -jar /opt/app.jar 

十、源碼獲取 鏈接: https://pan.baidu.com/s/1mOOcIun7hrOsC_vp0w5aeA 提取碼: mel3 

 

責(zé)任編輯:龐桂玉 來(lái)源: Java知音
相關(guān)推薦

2016-08-10 14:59:41

前端Javascript工具

2021-04-25 05:31:33

React.js項(xiàng)目FastReactAp

2025-05-26 08:45:00

AvueVue.js前端

2021-01-07 05:34:07

腳手架JDK緩存

2022-04-24 11:33:47

代碼管理工程

2021-04-11 07:33:03

開(kāi)發(fā)Vue技術(shù)棧js

2017-07-21 09:56:46

Webpack3 Vue.js腳手架

2020-05-19 10:13:45

Java開(kāi)發(fā)代碼

2016-09-07 15:35:06

VueReact腳手架

2025-05-16 07:24:41

Springkafka腳手架

2011-07-27 09:54:24

2022-07-18 07:58:46

Spring工具工具類(lèi)

2021-05-21 05:22:52

腳手架工具項(xiàng)目

2020-03-20 08:32:41

物聯(lián)網(wǎng)腳手架傳感器

2018-06-11 14:39:57

前端腳手架工具node.js

2019-12-25 15:20:48

前端腳手架命令

2018-08-30 16:08:37

Node.js腳手架工具

2023-11-21 17:36:04

OpenFeignSentinel

2015-02-09 13:17:37

2021-09-22 08:26:31

前端腳手架開(kāi)源項(xiàng)目
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: va在线| 欧美综合一区二区 | 狠狠操天天操 | 欧美激情精品久久久久久变态 | 欧美一区二区三区 | 国产精品国产精品国产专区不卡 | 精品国产欧美日韩不卡在线观看 | 久久精品久久久久久 | 免费黄色a级毛片 | a黄视频 | 国产精品一区一区 | 日本又色又爽又黄又高潮 | 亚洲免费视频一区二区 | 国产精品黄 | 一区二区三区中文字幕 | 日韩成人中文字幕 | 日韩亚洲一区二区 | 韩日一区二区 | 欧美日本免费 | 国产精品欧美一区二区 | 操久久 | 在线日韩| 午夜精品一区二区三区免费视频 | 亚洲综合色视频在线观看 | 色婷婷综合久久久中文字幕 | 亚洲黄色片免费观看 | 国产精品久久久久久一区二区三区 | 成人精品一区二区三区中文字幕 | 色综合网站 | 国产欧美在线观看 | 日韩和的一区二区 | 少妇一区在线观看 | 高清视频一区二区三区 | 欧美日韩综合 | 亚洲精品99 | 国产在线视频一区二区 | 男女网站免费 | 国产成人精品网站 | 一区二区三区在线免费看 | 午夜视频免费在线观看 | 欧美韩一区二区三区 |