java怎么配置中心服務(wù)化和高可用-創(chuàng)新互聯(lián)

這篇文章主要介紹“java怎么配置中心服務(wù)化和高可用”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“java怎么配置中心服務(wù)化和高可用”文章能幫助大家解決問(wèn)題。

創(chuàng)新互聯(lián)公司客戶idc服務(wù)中心,提供德陽(yáng)服務(wù)器托管、成都服務(wù)器、成都主機(jī)托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過(guò)各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價(jià)的產(chǎn)品以及開(kāi)放、透明、穩(wěn)定、高性價(jià)比的服務(wù),資深網(wǎng)絡(luò)工程師在機(jī)房提供7*24小時(shí)標(biāo)準(zhǔn)級(jí)技術(shù)保障。

客戶端和服務(wù)端的耦合性太高,如果server端要做集群,客戶端只能通過(guò)原始的方式來(lái)路由,server端改變IP地址的時(shí)候,客戶端也需要修改配置,不符合springcloud服務(wù)治理的理念。springcloud提供了這樣的解決方案,我們只需要將server端當(dāng)做一個(gè)服務(wù)注冊(cè)到eureka中,client端去eureka中去獲取配置中心server端的服務(wù)既可。

server端改造

1、添加依賴

<dependencies>
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-config-server</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-eureka</artifactId>
	</dependency>
</dependencies>

需要多引入spring-cloud-starter-eureka包,來(lái)添加對(duì)eureka的支持。

2、配置文件

server:
server:
  port: 8001
spring:
  application:
    name: spring-cloud-config-server
  cloud:
    config:
      server:
        git:
          uri: https://github.com/ityouknow/spring-cloud-starter/     # 配置git倉(cāng)庫(kù)的地址
          search-paths: config-repo                             # git倉(cāng)庫(kù)地址下的相對(duì)地址,可以配置多個(gè),用,分割。
          username: username                                        # git倉(cāng)庫(kù)的賬號(hào)
          password: password                                    # git倉(cāng)庫(kù)的密碼
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8000/eureka/   ## 注冊(cè)中心eurka地址

增加了eureka注冊(cè)中心的配置

3、啟動(dòng)類

啟動(dòng)類添加@EnableDiscoveryClient激活對(duì)配置中心的支持

@EnableDiscoveryClient
@EnableConfigServer
@SpringBootApplication
public class ConfigServerApplication {
 
	public static void main(String[] args) {
		SpringApplication.run(ConfigServerApplication.class, args);
	}
}

這樣server端的改造就完成了。先啟動(dòng)eureka注冊(cè)中心,在啟動(dòng)server端,在瀏覽器中訪問(wèn):http://localhost:8000/就會(huì)看到server端已經(jīng)注冊(cè)了到注冊(cè)中心了。

java怎么配置中心服務(wù)化和高可用

按照上篇的測(cè)試步驟對(duì)server端進(jìn)行測(cè)試服務(wù)正常。

客戶端改造

1、添加依賴

<dependencies>
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-config</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-eureka</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-test</artifactId>
		<scope>test</scope>
	</dependency>
</dependencies>

需要多引入spring-cloud-starter-eureka包,來(lái)添加對(duì)eureka的支持。

2、配置文件

spring.application.name=spring-cloud-config-client
server.port=8002
 
spring.cloud.config.name=neo-config
spring.cloud.config.profile=dev
spring.cloud.config.label=master
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.serviceId=spring-cloud-config-server
 
eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/

主要是去掉了spring.cloud.config.uri直接指向server端地址的配置,增加了最后的三個(gè)配置:

spring.cloud.config.discovery.enabled :開(kāi)啟Config服務(wù)發(fā)現(xiàn)支持

spring.cloud.config.discovery.serviceId :指定server端的name,也就是server端spring.application.name的值

eureka.client.serviceUrl.defaultZone :指向配置中心的地址

這三個(gè)配置文件都需要放到bootstrap.properties的配置中

3、啟動(dòng)類

啟動(dòng)類添加@EnableDiscoveryClient激活對(duì)配置中心的支持

@EnableDiscoveryClient
@SpringBootApplication
public class ConfigClientApplication {
 
	public static void main(String[] args) {
		SpringApplication.run(ConfigClientApplication.class, args);
	}
}

啟動(dòng)client端,在瀏覽器中訪問(wèn):http://localhost:8000/ 就會(huì)看到server端和client端都已經(jīng)注冊(cè)了到注冊(cè)中心了。

java怎么配置中心服務(wù)化和高可用

高可用

為了模擬生產(chǎn)集群環(huán)境,我們改動(dòng)server端的端口為8003,再啟動(dòng)一個(gè)server端來(lái)做服務(wù)的負(fù)載,提供高可用的server端支持。

java怎么配置中心服務(wù)化和高可用

如上圖就可發(fā)現(xiàn)會(huì)有兩個(gè)server端同時(shí)提供配置中心的服務(wù),防止某一臺(tái)down掉之后影響整個(gè)系統(tǒng)的使用。

我們先單獨(dú)測(cè)試服務(wù)端,分別訪問(wèn):http://localhost:8001/neo-config/dev、http://localhost:8003/neo-config/dev返回信息:

{
    "name": "neo-config", 
    "profiles": [
        "dev"
    ], 
    "label": null, 
    "version": null, 
    "state": null, 
    "propertySources": [
        {
            "name": "https://github.com/ityouknow/spring-cloud-starter/config-repo/neo-config-dev.properties", 
            "source": {
                "neo.hello": "hello im dev"
            }
        }
    ]
}

說(shuō)明兩個(gè)server端都正常讀取到了配置信息。

再次訪問(wèn):http://localhost:8002/hello,返回:hello im dev update。說(shuō)明客戶端已經(jīng)讀取到了server端的內(nèi)容,我們隨機(jī)停掉一臺(tái)server端的服務(wù),再次訪問(wèn)http://localhost:8002/hello,返回:hello im dev update,說(shuō)明達(dá)到了高可用的目的。

關(guān)于“java怎么配置中心服務(wù)化和高可用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

網(wǎng)頁(yè)名稱:java怎么配置中心服務(wù)化和高可用-創(chuàng)新互聯(lián)
文章來(lái)源:http://muchs.cn/article26/dpiscg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站策劃ChatGPT、微信公眾號(hào)用戶體驗(yàn)、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)