<
!--springcloud提供的基於consul的服務發現--
>
org.springframework.cloud<
/groupid>
spring-cloud-starter-consul-discovery<
/artifactid>
<
/dependency>
<
!--actuator用於心跳檢查--
>
org.springframework.boot<
/groupid>
spring-boot-starter-actuator<
/artifactid>
<
/dependency>
其中 spring-cloud-starter-consul-discovery 是springcloud提供的對consul支援的相關依賴。
spring-boot-starter-actuator 適用於完成心跳檢測響應的相關依賴。
server
:port
:9001
#埠spring::
name
: service-product #服務名稱
datasource
:driver-class-name
: com.mysql.jdbc.driver
url: jdbc:mysql://localhost:3306/shop?useunicode=true&characterencoding=utf8
username
: root
password
:111111
jpa:
database
: mysql
show-sql
:true
open-in-view
:true
###開始配置consul的服務註冊
cloud
:consul
:host
: 127.0.0.1 #consul伺服器的主機位址
port
:8500
#consul伺服器的ip位址
discovery
:#是否需要註冊
register
:true
#註冊的例項id (唯一標誌)
instance-id-1
#服務的名稱
service-name
#服務的請求埠
port
: $#指定開啟ip位址註冊
prefer-ip-address
:true
#當前服務的請求ip
!--springcloud提供的基於consul的服務發現--
>
org.springframework.cloud<
/groupid>
spring-cloud-starter-consul-discovery<
/artifactid>
<
/dependency>
<
!--actuator用於心跳檢查--
>
org.springframework.boot<
/groupid>
spring-boot-starter-actuator<
/artifactid>
<
/dependency>
server
:port
:9002
#埠spring::
name
: service-order #服務名稱
datasource
:driver-class-name
: com.mysql.jdbc.driver
url: jdbc:mysql://localhost:3306/shop?useunicode=true&characterencoding=utf8
username
: root
password
:111111
jpa:
database
: mysql
show-sql
:true
open-in-view
:true
###開始配置consul的服務註冊
cloud
:consul
:host
: 127.0.0.1 #consul伺服器的主機位址
port
:8500
#consul伺服器的ip位址
discovery
:#是否需要註冊
register
:true
#註冊的例項id (唯一標誌)
instance-id-1
#服務的名稱
service-name
#服務的請求埠
port
: $#指定開啟ip位址註冊
prefer-ip-address
:true
#當前服務的請求ip
ip-address
: $
因為引入了spring-cloud-starter-consul-discovery依賴,此時springcloud已經對consul進行了進一步的封裝,向其中整合了ribbon的支援,所以可以使用@loadblanced註解。
@entityscan
("cn.itcast.order.entity"
)public
class
public
static
void
main
(string[
] args)
}所以在controller中不需要寫死服務提供者的ip,可以通過服務提供者的服務名稱進行呼叫。
@restcontroller
("/order"
)public
class
ordercontroller
",method = requestmethod.get)
public product findbyid
(@pathvariable long id)
}
consul服務註冊
這是定義服務的根級引數。您可以指定引數來配置服務。範圍描述 預設必需的 id 指定服務 id 的字串值。如果未指定,name將使用該字段的值。每個節點的服務必須具有唯一的 id,因此如果預設值name會與其他服務衝突,您應該指定唯一的值。name引數值 可選的name 指定服務的名稱。如果id未指定...
Consul服務註冊中心 Consul工作原理
consul工作原理如下圖所示 當服務producer啟動時,會將自己的ip host等資訊通過傳送請求告知consul,consul接收到producer的註冊資訊後,每個10s 預設 會向producer傳送乙個健康檢查的請求,檢驗producer是否監控。當consumer請求producer...
服務註冊之Consul
consul是hashicorp公司推出的開源工具,consul由go語言開發,部署起來非常容易,只需要極少的可執行程式和配置檔案,具有綠色 輕量級的特點。consul是分布式的 高可用的 可橫向擴充套件的用於實現分布式系統的服務發現與配置。consul的應用場景包括服務發現 服務隔離 服務配置 這...