javascript
搭建微服务_快速搭建 SpringCloud 微服务开发环境的脚手架
本文作者:HelloGitHub-秦人
本文適合有 SpringBoot 和 SpringCloud 基礎知識的人群,跟著本文可使用和快速搭建 SpringCloud 項目。HelloGitHub 推出的《講解開源項目》系列,今天給大家帶來一款基于 SpringCloud2.1 的微服務開發腳手開源項目——SpringCloud
項目源碼地址:https://github.com/zhoutaoo/SpringCloud一、微服務的簡介
微服務是可以獨立部署、水平擴展、獨立訪問的服務單元。Java 中常見最小的微服務單元就是基于 SpringBoot 框架的一個獨立項目。一個微服務只做一件事(單一職責),多個微服務組合才能稱之為一個完整的項目或產品。那么多個微服務的就需要來管理,而 SpringCloud 就是統籌這些微服務的大管家。它是一系列有序框架的集合,簡單易懂、易部署易維護的分布式系統開發工具包。
今天介紹的開源項目就是基于 SpringCloud2.1 的腳手架,讓項目開發快速進入業務開發,而不需過多時間花費在架構搭建上,下面就讓我們一起來看看這個項目的使用吧。
二、項目結構
這里以一個網關(gateway-admin)微服務來說明。
項目目錄結構如下圖:
目錄說明:
三、實戰操作
3.1 前提
- 確保本地安裝 Git、Java8、Maven。
- 懂一些 SpringMVC 的知識,因為 SpringBoot 是基于 SpringMVC 演化而來的。
- 懂一些應用容器引擎 Docker、Docker-compose 的知識。
3.2 微服務架構說明
一個完整的項目,微服務架構一般包括下面這些服務:
- 注冊中心(常用的框架 Nacos、Eureka)
- 統一網關(常用的框架 Gateway、Zuul)
- 認證中心(常用技術實現方案 Jwt、OAuth)
- 分布式事務(常用的框架 Txlcn、Seata)
- 文件服務
- 業務服務
3.3 運行項目
下面介紹了三種運行的方式:
第一種:一鍵運行
Linux 和 Mac 系統下可在項目根目錄下執行 ./install.sh 快速搭建開發環境。
第二種:本地環境運行
不推薦此方法,但還是簡單介紹下。2. 環境運行:
git clone https://github.com/zhoutaoo/SpringCloud.git #克隆項目3. 安裝認證公共包到本地 maven 倉庫,執行如下命令:
cd common mvn clean install #安裝認證公共包到本地 maven 倉庫4. 安裝注冊中心 Nacos
- 下載 Nacos
- 執行如下命令:
5. 運行網關服務、認證服務、業務服務等
這里以網關服務為例:執行 GatewayAdminApplication.java
注意:認證服務(auth)、網關服務(gateway)、組織管理服務(sysadmin)需要執行數據庫初始化腳本。
可通過 swager 接口:http://localhost:8445/swagger-ui.html 測試是否搭建成功,如果能正常訪問表示服務啟動成功。
說明:
- application.yml 文件主要配置 rabbitmq,redis, mysql 的連接信息。
- bootstrap.yml 文件主要配置服務基本信息(端口,服務名稱),注冊中心地址等。
第三種:Docker 環境運行
- 通過 docker 命令安裝
- 也可以通過 docker-compose 命令安裝
2. 下載項目到本地
git clone https://github.com/zhoutaoo/SpringCloud.git #克隆項目3. 安裝認證公共包到本地 maven 倉庫執行如下命令:
cd common && mvn install #安裝認證公共包到本地maven倉庫4. docker-compose 運行 Nacos
cd docker-compose docker-compose -f docker-compose.yml -f docker-compose.nacos.yml up -d nacos #啟動注冊中心5. 構建消息中心鏡像
cd ./center/bus mvn package && mvn docker:build cd docker-compose #啟動消息中心 docker-compose -f docker-compose.yml -f docker-compose.center.yml up -d bus-server需要構建鏡像的其他服務有:(注:操作和消息中心鏡像構建方式類似)
- 網關管理服務 (gateway-admin、gateway-web)
- 組織服務(sysadmin/organization)
- 認證服務 (auth/authentication-server)
- 授權服務(auth authorization-server)
- 管理臺服務(monitor/admin)
3.4 運行效果
Nacos 服務中心
所有服務都正常啟動,在 nacos 管理中心可查看,實例數表示運行此服務的個數,值為 1 可以理解為服務正常啟動。
查看后臺服務
命令行執行:docker ps -a 查看 docker 所有進程信息
通過訪問微服務對外暴露的接口(swagger)檢測服務是否可用。
swager 接口地址:http://IP:port/swagger-ui.html
測試如下圖:
四、最后
微服務(SpringBoot、SpringCloud、Docker)現在吵得特別火,它并不是一門新的技術,而是在老技術的基礎上衍生出來的,增加了一些新的特性。
教程至此,你應該能夠通過 SpringCloud 這項目快速搭建微服務了。那么就可以開始你的微服務學習之旅了,是時候更新一下自己的技能樹了,讓我們一起來學習微服務吧!
五、參考資料
- 本地安裝 Nacos
- nacos注冊中心的使用
- docker-compose教程
- Docker技術
『講解開源項目系列』——讓對開源項目感興趣的人不再畏懼、讓開源項目的發起者不再孤單。跟著我們的文章,你會發現編程的樂趣、使用和發現參與開源項目如此簡單。歡迎留言聯系我們、加入我們,讓更多人愛上開源、貢獻開源~
總結
以上是生活随笔為你收集整理的搭建微服务_快速搭建 SpringCloud 微服务开发环境的脚手架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: abb限位开关已打开drv1_Telem
- 下一篇: javascript 对象比较是否属于同