Spring-Boot服務注冊與發現


  關於Eureka服務注冊與發現的示例可以參見:http://blog.didispace.com/springcloud1/

  服務注冊管理器原理如下圖所示:

 

1、建立eureka服務器

@EnableEurekaServer注解就可以讓應用變為Eureka服務器,為其它微服務提供一個服務注冊中心; 

@SpringBootApplication
@EnableEurekaServer

   public class EurekaServer {

    public static void main(String[] args) {
  
    SpringApplication.run(EurekaServer.class, args);

      }

  }

  在application.properties配置文件中使用如下配置:

server.port=8761
eureka.instance.hostname=localhost
eureka.client.registerWithEureka=false
eureka.client.fetchRegistry=false
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

  其中server.port配置eureka服務器端口號;

  Eureka的配置屬性都在開源項目spring-cloud-netflix-master中定義,在這個項目中有兩個類EurekaInstanceConfigBean 和EurekaClientConfigBean,分別含有eureka.instance和eureka.client相關屬性的解釋和定義。從中可以看到,registerWithEureka表示是否注冊自身到eureka服務器,因為當前這個應用就是eureka服務器,沒必要注冊自身,所以這里是false。fetchRegistry表示是否從eureka服務器獲取注冊信息,同上,這里不需要。defaultZone就比較重要了,是設置eureka服務器所在的地址,查詢服務和注冊服務都需要依賴這個地址。

2、建立eureka服務器

   讓服務使用eureka服務器,只需添加@EnableDiscoveryClient注解就可以了。在main方法所在的Application類中,添加@EnableDiscoveryClient注解.

eureka.client.serviceUrl.defaultZone=http\://localhost\:8761/eureka/
spring.application.name=simple-service

 其中defaultZone是指定eureka服務器的地址,無論是注冊還是發現服務都需要這個地址。application.name是指定進行服務注冊時該服務的名稱。這個名稱就是后面調用服務時的服務標識符。

   Eureka服務器間的心跳可以參見:http://www.dongcoder.com/detail-15233.htmlhttp://www.jianshu.com/p/1eaa7b16a82d


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM