zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    剑指05两个栈实现一个队列
    11 幂等 Idempotence
    13 SOAP
    leetcode143zigzag-conversion
    如何使用 awk 复合表达式
    IT 运行在云端,而云运行在 Linux 上
    Docker1.12 + Swarm 构建动态微服务应用
    教你在Ubuntu上体验Mac风格
    Zabbix-3.0.3结合Grafana-3.1.0给你想要的绘图
    Zabbix-3.0.3使用自带模板监控MySQL
  • 原文地址:https://www.cnblogs.com/moonandstar08/p/6481447.html
Copyright © 2011-2022 走看看