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