[Java]Spring Boot變Spring Cloud

小黑-avatar-img
發佈於後端
更新 發佈閱讀 6 分鐘
  • 部署Consul服務
docker run --name consul -p xxxx:xxxx -v /tmp/consul/conf/:/consul/conf/ -v /tmp/consul/data/:/consul/data/ -d consul


  • 於pom.xml設定Spring Cloud parent
<parent>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>Greenwich.SR1</version>
<relativePath/>
</parent>


  • 於pom.xml設定Spring Cloud dependency
<!--微服務健康性檢查-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--Consul-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<!--Hystrix的服務限流熔斷-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<!--Spring Cloud-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-commons</artifactId>
</dependency>


  • 建立bootstrap.yml
spring:
application:
name: user
profiles:
active: debug
cloud:
consul:
host: 127.0.0.1
port: 8500
discovery:
preferIpAddress: true
instance-id: ${spring.application.name}:${spring.cloud.client.ipAddress}:${spring.application.instance_id:${server.port}}:@project.version@
healthCheckPath: /actuator/health
server:
port: 9090

設定應用名稱、通訊資訊與註冊Consul服務的相關資訊。


  • 於pom.xml設定Maven
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>

<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/application*.yml</include>
<include>**/application*.yaml</include>
<include>**/bootstrap.yml</include>
<include>**/bootstrap.yaml</include>
</includes>
</resource>
</resources>
</build>

spring boot會預先載入application.yml,但不會載入bootstrap.yml,做了上述設定後,就會載入bootstrap.yml。


  • 於main上,加入底下代碼
@EnableDiscoveryClient

會引入spring-cloud-starter-consul-discovery,並將為服務註冊到consul。



留言
avatar-img
留言分享你的想法!
avatar-img
小黑與程式的邂逅
8會員
123內容數
嗨,我是一名程式設計師,會在這分享開發與學習紀錄。
2024/06/02
在高平行流量下,服務的鏈路中有某個服務無法使用,則可能出現大量網路呼叫延遲,這有可能造成資源被用盡,因此需要有「熔斷降級」的機制來保護服務。 熔斷 在服務呼叫端,需要將服務呼叫設定一個服務時間。在服務逾時或失敗時進行熔斷,並作fallback處理。 降級 在服務提供端,要根據整個服務的負
2024/06/02
在高平行流量下,服務的鏈路中有某個服務無法使用,則可能出現大量網路呼叫延遲,這有可能造成資源被用盡,因此需要有「熔斷降級」的機制來保護服務。 熔斷 在服務呼叫端,需要將服務呼叫設定一個服務時間。在服務逾時或失敗時進行熔斷,並作fallback處理。 降級 在服務提供端,要根據整個服務的負
2024/05/31
電子錢包提供獨立的餘額帳戶系統:開戶、交易明細等。 系統流程 使用者介面使用充值,電子錢包系統將會生成充值訂單,然後呼叫支付系統。 支付系統結束後,會將結果告知電子錢包系統,然後更新餘額。 系統結構 Controller:定義服務介面。 Service:處理業務邏輯並透過Dao完
2024/05/31
電子錢包提供獨立的餘額帳戶系統:開戶、交易明細等。 系統流程 使用者介面使用充值,電子錢包系統將會生成充值訂單,然後呼叫支付系統。 支付系統結束後,會將結果告知電子錢包系統,然後更新餘額。 系統結構 Controller:定義服務介面。 Service:處理業務邏輯並透過Dao完
2024/05/28
這篇的DevOps發佈系統是以Spring Cloud微服務(微服務)為背景;由GitLab、Harbor與Kubernetes組成。 GitLab負責版本管理與CI/CD(CI/CD)。 Harbor負責Docker([Docker]介紹) Image的儲存與發佈。 Kubernetes([
Thumbnail
2024/05/28
這篇的DevOps發佈系統是以Spring Cloud微服務(微服務)為背景;由GitLab、Harbor與Kubernetes組成。 GitLab負責版本管理與CI/CD(CI/CD)。 Harbor負責Docker([Docker]介紹) Image的儲存與發佈。 Kubernetes([
Thumbnail
看更多
你可能也想看
Thumbnail
每次搬家或大整理,是不是都覺得自己是在參加一場體力與耐心的極限挑戰賽? 雜物永遠比想像中多、動線永遠不順、家裡還有兩位主子(貓咪)在旁邊搗亂,真的會不知道從哪裡開始整理!😩 別擔心!身為一個經常整理空間、又有貓咪的資深戰鬥員(貓奴),我發現只要選對工具和好物,真的能讓整個過程輕鬆超級多!今天就
Thumbnail
每次搬家或大整理,是不是都覺得自己是在參加一場體力與耐心的極限挑戰賽? 雜物永遠比想像中多、動線永遠不順、家裡還有兩位主子(貓咪)在旁邊搗亂,真的會不知道從哪裡開始整理!😩 別擔心!身為一個經常整理空間、又有貓咪的資深戰鬥員(貓奴),我發現只要選對工具和好物,真的能讓整個過程輕鬆超級多!今天就
Thumbnail
大家小時候打仙俠尢賴或追仙俠劇時,有沒有幻想過自己能「御劍飛行」? 我居然還真的在蝦皮找到了把御劍飛行器啊!!!!!
Thumbnail
大家小時候打仙俠尢賴或追仙俠劇時,有沒有幻想過自己能「御劍飛行」? 我居然還真的在蝦皮找到了把御劍飛行器啊!!!!!
Thumbnail
這篇的DevOps發佈系統是以Spring Cloud微服務(微服務)為背景;由GitLab、Harbor與Kubernetes組成。 GitLab負責版本管理與CI/CD(CI/CD)。 Harbor負責Docker([Docker]介紹) Image的儲存與發佈。 Kubernetes([
Thumbnail
這篇的DevOps發佈系統是以Spring Cloud微服務(微服務)為背景;由GitLab、Harbor與Kubernetes組成。 GitLab負責版本管理與CI/CD(CI/CD)。 Harbor負責Docker([Docker]介紹) Image的儲存與發佈。 Kubernetes([
Thumbnail
核心元件 Spring Boot:Spring Cloud的基礎框架。 Spring Cloud Starters:Spring Boot的依賴管理。 Consul:微服務系統的註冊中心。 Eureka:微服務系統的註冊中心。 Feign:簡化微服務之間的溝通方式。 Ribbon:處理程
Thumbnail
核心元件 Spring Boot:Spring Cloud的基礎框架。 Spring Cloud Starters:Spring Boot的依賴管理。 Consul:微服務系統的註冊中心。 Eureka:微服務系統的註冊中心。 Feign:簡化微服務之間的溝通方式。 Ribbon:處理程
Thumbnail
部署Consul服務 docker run --name consul -p xxxx:xxxx -v /tmp/consul/conf/:/consul/conf/ -v /tmp/consul/data/:/consul/data/ -d consul 於pom.xml設定Spring
Thumbnail
部署Consul服務 docker run --name consul -p xxxx:xxxx -v /tmp/consul/conf/:/consul/conf/ -v /tmp/consul/data/:/consul/data/ -d consul 於pom.xml設定Spring
Thumbnail
建立Maven專案 於pom.xml設定Spring Boot <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://
Thumbnail
建立Maven專案 於pom.xml設定Spring Boot <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://
Thumbnail
在Spring Cloud微服務中,透過Maven與Docker,將專案打包成Docker Image,並部署。 安裝Maven apt install maven​ 安裝Docker apt install docker.io 啟動Docker service docker s
Thumbnail
在Spring Cloud微服務中,透過Maven與Docker,將專案打包成Docker Image,並部署。 安裝Maven apt install maven​ 安裝Docker apt install docker.io 啟動Docker service docker s
Thumbnail
Docker-Compose負責對container做快速編排。設定檔預設名稱為docker-compose.yml,在檔案中,可以透過COMPOSE_FILE或-f對設定進行定義。 想要將專案透過Docker-Compose部署,需要創建docker-compose.yml和Dockerfile
Thumbnail
Docker-Compose負責對container做快速編排。設定檔預設名稱為docker-compose.yml,在檔案中,可以透過COMPOSE_FILE或-f對設定進行定義。 想要將專案透過Docker-Compose部署,需要創建docker-compose.yml和Dockerfile
Thumbnail
前端 為了實驗我們上傳的 Docker Image 有沒有問題,我們先在學一個刪除本地 Docker Image,刪除 Docker Image 要使用 docker rmi <image> 這個語法,現在開始刪除本地 Docker Image 輸入以下指令 docker rmi timmmmm
Thumbnail
前端 為了實驗我們上傳的 Docker Image 有沒有問題,我們先在學一個刪除本地 Docker Image,刪除 Docker Image 要使用 docker rmi <image> 這個語法,現在開始刪除本地 Docker Image 輸入以下指令 docker rmi timmmmm
Thumbnail
學習Spring Boot是Java工程師必備技能,文章分享瞭如何自學並快速上手Spring Boot開發,包括架構、開發工具、專案建立以及實作過程。
Thumbnail
學習Spring Boot是Java工程師必備技能,文章分享瞭如何自學並快速上手Spring Boot開發,包括架構、開發工具、專案建立以及實作過程。
Thumbnail
前言 大家好上次我們教了如何建立自己的 Docker Image,今天我們要來教怎麼把自己做好的 Docker Image 上傳到 Docker Hub,如果以後自己在公司有搭建 Docker Registry,也可以用同樣方式上傳到公司的 Docker Registry 私有倉庫 登入 Doc
Thumbnail
前言 大家好上次我們教了如何建立自己的 Docker Image,今天我們要來教怎麼把自己做好的 Docker Image 上傳到 Docker Hub,如果以後自己在公司有搭建 Docker Registry,也可以用同樣方式上傳到公司的 Docker Registry 私有倉庫 登入 Doc
Thumbnail
前言 上次我們初步體驗 Docker 快速佈署能力,今天我們要來講解 Dockerfile、Docker Image 與 Docker Container 這些常見的名詞,我們來了解在我們佈署的時候做哪些事情 Docker 佈署流程 首先看到如下圖上半部,在我們一個完整的佈署流程,我們會先將我
Thumbnail
前言 上次我們初步體驗 Docker 快速佈署能力,今天我們要來講解 Dockerfile、Docker Image 與 Docker Container 這些常見的名詞,我們來了解在我們佈署的時候做哪些事情 Docker 佈署流程 首先看到如下圖上半部,在我們一個完整的佈署流程,我們會先將我
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News