spring-cloud eureka server 的发现客户端与注册例子

摘要: 今天在公司测试Eureka server 与client 的发现与注册,可能是碰见鬼了,或者下载了假的jar包,配置都是按照网上文档做的,server 与客户端都跑起来了,但在eureka server 中就是查看不到已经运行起来的服务端。 最关键的是,在客户端也是配置了eureka.client.serviceUrl.defaultZone 地址,也加入相应的依赖包,而且也加入了@@EnableDiscoveryClient, 但无论如何还是发现不了客户端,后来就算了,晚上回到家,按照同样的方法,唯一不同的是换了 依赖的版本,就实现了。可以发现服务了。简单记录下配置过程。

今天在公司测试Eureka server 与client 的发现与注册,可能是碰见鬼了,或者下载了假的jar包,配置都是按照网上文档做的,server 与客户端都跑起来了,但在eureka server 中就是查看不到已经运行起来的服务端。 最关键的是,在客户端也是配置了eureka.client.serviceUrl.defaultZone 地址,也加入相应的依赖包,而且也加入了@@EnableDiscoveryClient, 但无论如何还是发现不了客户端,后来就算了,晚上回到家,按照同样的方法,唯一不同的是换了 依赖的版本,就实现了。可以发现服务了。简单记录下配置过程。


spring-cloud eureka 服务端实现。其实最关键的就是pom文件配对,依赖配好,然后加上注解@EnableEurekaServer就可以了。


  4.0.0
  com.yihaomen
  springcloud-001-eurekaserver
  jar
  0.0.1-SNAPSHOT
  springcloud-001-eurekaserver Maven Webapp
  http://maven.apache.org
  
  
		UTF-8
		UTF-8
		1.8
	
	
    
	    org.springframework.boot
	    spring-boot-starter-parent
	    1.5.2.RELEASE
	
	
	    
	        
	            org.springframework.cloud
	            spring-cloud-dependencies
	            Dalston.RELEASE
	            pom
	            import
	        
	    
	
	
	    
	        org.springframework.cloud
	        spring-cloud-starter-config
	    
	    
	        org.springframework.cloud
	        spring-cloud-starter-eureka-server
	    
	
  
	
	    springcloud-001-eurekaserver
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	




主程序启动代码:
package com.yihaomen.eurekaserver;

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

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

}


spring-cloud eureka 客户端实现,这里用了我原来用spring-boot 的一个例子,可以参考这里:Spring-boot 与Mybatis集成, 附源码下载 , 在这个例子的基础上实现eureka client. 最主要的变化有如下几点:
1. 加入eureka 相关的jar依赖,修改配置pom.xml文件
2. 增加相关的配置文件, 可以是properties文件或者yml 文件
3. 在主程序上加上注解@EnableDiscoveryClient 或者@EnableEurekaClient

对于第1点,主要是需要与服务端的版本保持一致。另外加入eureka相关配置。主要变化如下:
增加

	    
	        
	            org.springframework.cloud
	            spring-cloud-dependencies
	            Dalston.RELEASE
	            pom
	            import
	        
	    
	
dependencies 中增加:
 
     
			org.springframework.cloud
			spring-cloud-starter-eureka
		

		
			org.springframework.boot
			spring-boot-starter-actuator
		
     


对于第2点配置文件的更改,主要增加了一个配置文件bootstrap.yml,采用yml格式:
spring:
  application:
    name: microservice-user
server:
  port: 8888
eureka:
  client:
    healthcheck:
      enabled: true
    serviceUrl:
      defaultZone: http://localhost:8761/eureka
  instance:
    prefer-ip-address: false


对于第3点,就更简单了
@SpringBootApplication
@EnableDiscoveryClient
@MapperScan("com.yihaomen.*")
public class Application {

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


基本是与公司相同的配置,但在家里就可以成功,在公司死活没有成功,我也服气了,唯一不同的是,公司不能上网,只有 1.4.1 版本,我在家用的是 1.5.2版本。

提供测试代码下载:
spring-cloud-eureka demo

spring-cloud-eureka-client demo

上一篇: Spring-boot 与Mybatis集成, 附源码下载
下一篇: spring-cloud feign hystrix配置熔断为什么不生效的原因
 评论 ( What Do You Think )
名称
邮箱
网址
评论
验证
   
 

 


  • 微信公众号

  • 我的微信

站点声明:

1、一号门博客CMS,由Python, MySQL, Nginx, Wsgi 强力驱动

2、部分文章来源于互联网, 若有侵权, 联系邮箱:summer@yihaomen.com, 同时欢迎大家注册用户,主动发布文章.

3、鄂ICP备14001754号-3, 鄂公网安备 42280202422812号