【SpringCloud】(十):高可用 Eureka

00潤物無聲00發表於2017-08-14

  提高系統的可靠性,我們使用Eureka叢集,搭建的過程很簡單,在Eureka工程的配置檔案application.yml中進行配置。


1.使Eureka之間相互註冊

2.使用者微服務,註冊到任意一個Eureka Server上都會進行同步。


Eureka 配置檔案application.yml

Peer Awareness:同伴意識。

spring:
  application:
    name: EUREKA-HA
---
server:
  port: 8761
spring:
  profiles: peer1
eureka:
  instance:
    hostname: peer1
  client:
    serviceUrl:
      defaultZone: http://peer2:8762/eureka/,http://peer2:8763/eureka/

---
server:
  port: 8762
spring:
  profiles: peer2
eureka:
  instance:
    hostname: peer2
  client:
    serviceUrl:
      defaultZone: http://peer1:8761/eureka/,http://peer3:8763/eureka/
---
server:
  port: 8763
spring:
  profiles: peer3
eureka:
  instance:
    hostname: peer3
  client:
    serviceUrl:
      defaultZone: http://peer1:8761/eureka/,http://peer2:8762/eureka/  
    


啟動類

package com.dynamic.cloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer//	宣告一個server:@EnableEurekaServer
public class EurekaApplication 
{
    public static void main( String[] args )
    {
    	SpringApplication.run(EurekaApplication.class, args);    	
    }
}

去掉POM.xml中的認證依賴

	
	    <dependency>
	    	<groupId>org.springframework.boot</groupId>
	    	<artifactId>spring-boot-starter-security</artifactId>
	    </dependency>

  使用者微服務配置檔案application.yml將服務註冊到Eureka

eureka:
  client:
    serviceUrl:
      defaultZone: http://peer1:8761/eureka/ #http://user:pass123@localhost:8761/eureka
  instance:
    prefer-ip-address: true
    instance-id: ${spring.application.name}:${spring.application.instance_id:${server.port}}


修改計算機的host配置

win + r   -----> drivers ------> etc ------>hosts








剛啟動的時候,相互之間註冊,其他相互依賴服務沒有正常啟動,所以會出現異常。





  通過修改心跳檢測的時長,可以提高服務註冊的速度,但是線上不建議修改。


相關文章