java服务注册中心有哪些_Spring Cloud服务注册中心简述
概念
當一個大型系統擁有很多服務時,往往需要一個服務注冊中心來管理這些服務,它可以提供如下功能:
登記每個服務提供的功能
檢測每個服務是否可用,不可用的服務剔除
服務間互相調用時,通過服務注冊中心很容易找到目標服務
如下圖,商城系統通過服務注冊中心管理其中的若干服務:
機制
服務注冊中心如何實現呢,其實并不復雜,簡述如下:
服務注冊中心本身也是一個服務應用,可以對外交互,也可以存儲運算
系統中每個服務啟動時將自身的功能登記到服務注冊中心
服務注冊中心定時發送心跳,看看登記的服務是不是可用,不可用的就剔除
因為服務注冊中心登記了所有服務及其功能,所以每個服務只需要連接到注冊中心,就能調用其他所有服務了
Spring Cloud Eureka 實現服務注冊中心
Spring Cloud提供了基于Netflix Eureka的服務注冊中心實現,可以輕松的實現服務注冊中心應有的功能,Spring Cloud Eureka服務注冊中心實現過程如下:
1、構建SpringBoot應用,并引入依賴
org.springframework.cloud
spring-cloud-starter-eureka-server
eureka-server依賴即引入了Eureka服務注冊中心,此時我們可以根據項目需求來定制我們自己的服務注冊中心了。
2、修改啟動類,啟動注冊中心功能
通過在SpringBoot啟動類上添加@EnableEurekaServer注解,就可以啟動服務注冊中心功能,此時注冊中心啟動后,可以監聽其他服務發送過來的登記請求,并可以通過心跳檢測登記服務是否存活。
@SpringBootApplication // 啟動SpringBoot應用
@EnableEurekaServer // 啟動服務注冊中心
public class EurekaServerDemo {
public static void main(String[] args) {
SpringApplication.run(EurekaServerDemo.class, args);
}
}
3、修改注冊中心配置
可以通過修改配置文件application.properties,指定注冊中心的服務端口等信息。
# 指定注冊中心的服務端口
server.port=1001
# 是否向注冊中心注冊自己,由于我們的注冊中心不提供具體服務,所以不必注冊自己
eureka.client.register-with-eureka=false
# 是否從注冊中心獲取其他服務信息,由于我們的注冊中心僅提供注冊功能,不必調用其他服務,所以不必獲取其他服務信息
eureka.client.fetch-registry=false
4、啟動服務注冊中心
直接運行啟動類即可啟動服務注冊中心,此時我們在瀏覽器輸入http://localhost:1001,可以發現服務注冊中心已啟動,暫時還沒有服務登記到該注冊中心。
總結
以上是生活随笔為你收集整理的java服务注册中心有哪些_Spring Cloud服务注册中心简述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ES5-7 立即执行函数、闭包深入、逗号
- 下一篇: JSON基础与数据解析、JSON方法、A