SpringBoot使用Consul註冊服務

2021-10-24 11:20:29 字數 2711 閱讀 3980

springboot版本 : 2.0.3.release

1.8

finchley.sr1

org.springframework.boot

spring-boot-starter-actuator

org.springframework.cloud

spring-cloud-starter-consul-discovery

org.springframework.cloud

spring-cloud-dependencies

$pom

import

server:

port: 8088

spring:

name: cn-consul-test

cloud:

consul:

discovery:

prefer-ip-address: true

host: 10.130.131.39

port: 8500

2.指定例項id(instance-id),規則中加入ip:

3.自定義例項id,此方法會在生成例項id後,再生成自定義例項id。

import com.ecwid.consul.v1.consulclient;

import org.springframework.cloud.consul.discovery.consuldiscoveryproperties;

import org.springframework.cloud.consul.discovery.heartbeatproperties;

import org.springframework.cloud.consul.discovery.ttlscheduler;

import org.springframework.cloud.consul.serviceregistry.consulregistration;

import org.springframework.cloud.consul.serviceregistry.consulserviceregistry;

/***

** @author 0.0

* @since 2020-08-30 11:23

*/public class myconsulserviceregistry extends consulserviceregistry

@override

public void register(consulregistration reg)

}

import com.ecwid.consul.v1.consulclient;

import org.springframework.beans.factory.annotation.autowired;

import org.springframework.cloud.consul.discovery.consuldiscoveryproperties;

import org.springframework.cloud.consul.discovery.heartbeatproperties;

import org.springframework.cloud.consul.discovery.ttlscheduler;

import org.springframework.cloud.consul.serviceregistry.consulserviceregistry;

import org.springframework.context.annotation.bean;

import org.springframework.context.annotation.configuration;

/***

** @author 0.0

* @since 2020-08-30 11:26

*/@configuration

public class myconsulserviceregistryconfig

}

首先獲取節點id

生成刪除節點的請求:

curl -x put

如:curl -x put

伺服器上執行請求

和zookeeper一樣,服務註冊是為了動態獲取服務提供者並暴露給服務消費者(不同的是zookeeper+dubbo註冊的服務更詳細),節點動態擴充縮減增加了領用靈活性。

consul作為服務註冊中間元件,接收並記錄服務提供者資訊(註冊服務應用名,主機ip+埠等),而服務消費者則從consul獲取服務提供者資訊動態生成呼叫介面呼叫服務,形成基本的微服務呼叫。

應用使用過程中consul掛了,消費者還能呼叫服務提供者嗎?可以!

consul提供的是存活的服務提供者列表,而消費者呼叫服務是根據服務提供者列表生成呼叫介面,本地也會快取從consul獲取到的服務提供者列表,一旦consul掛了,意味著消費者本地的服務提供者列表快取無法再被更新了

服務提供者和消費者怎麼區分的?不註冊服務則只能做消費者,註冊服務則即時服務提供者,也是服務消費者

spring.cloud.consul.discovery.register=false

Jupyter Notebook啟用conda環境

windows環境配置如下 1.開啟預設conda環境 root c users username 2.選擇要在jupyter notebook中啟用的env,並啟用 root style transfer d programdata miniconda3 envs style transfer r...

javasript中var let和const區別

let和const都是es5,es6新版本的js語言規範出來的定義,在這以前定義乙個變數只能用var。let和const都是為了彌補var的一些缺陷而新設計出來的。簡單來說是 let是修復了var的作用域的一些bug,變的更加好用。let是更好的var。複製 區別 var的作用於是函式作用域,其作用...

SpringBoot使用thymeleaf模板

springboot開發的web專案contrller如何跳轉到前端頁面 據說,最流行的還是freemarker和velocity這兩種模板,我們這裡用spring官方推薦的thymeleaf模板 在建立好springboot專案的基礎上,進行如下配置 在pom中到thymeleaf的依賴 org....