Eureka是Netflflix开发的服务发现框架,SpringCloud将它集成在自己的子项目spring-cloud-netflflix中,实现
SpringCloud的服务发现功能。Eureka包含两个组件:Eureka Server和Eureka Client。
Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中
的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
Eureka Client是一个java客户端,用于简化与Eureka Server的交互,客户端同时也就别一个内置的、使用轮
询(round-robin)负载算法的负载均衡器。在应用启动后,将会向Eureka Server发送心跳,默认周期为30秒,
如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,Eureka Server将会从服务注册表中把这个
服务节点移除(默认90秒)。
1.创建一个Eureka服务父工程用于子工程的服务注册
依赖
org.springframework.cloud
spring-cloud-starter-netflix-eureka-server
View Code
启动类的注解
/*** EureKa 服务端启动类*/@SpringBootApplication
@EnableEureKaServerpublic classeurekaServer {public static voidmain(String[] args) {
SpringApplication.run(eurekaServer.class,args);
}
}
View Code
配置yml
#eureka服务的配置文件
server:
port: 6868 #服务端口
eureka:
client:
registerWithEureka: false #是否将自己注册到Eureka服务中,本身就是所有无需注册
fetchRegistry: false #是否从Eureka中获取注册信息
serviceUrl: #Eureka客户端与Eureka服务端进行交互的地址
defaultZone: http://127.0.0.1:${server.port}/eureka/
View Code
2.所有maven的父工程中引入 定义SpringCloud版本
org.springframework.cloud
spring-cloud-dependencies
Finchley.SR1
pom
import
View Code
3.需要注册到Eureka 的微服务模块
依赖
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
View Code
注解
packagecom.zhao.company;importcom.common.utils.IdWorker;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.boot.autoconfigure.domain.EntityScan;importorg.springframework.boot.builder.SpringApplicationBuilder;importorg.springframework.boot.web.servlet.support.SpringBootServletInitializer;importorg.springframework.context.annotation.Bean;//springboot的包扫描
@SpringBootApplication(scanBasePackages = "com")//如果改成这样 com.zhao.company就只是扫描company模块下的接口了//配置jpa注解的扫描 ,扫描的是common_model的这个工程下的实体类
@EntityScan(value = "com.domain.company")//注册到 EureKa
@EnableEureKaClientpublic class Application extendsSpringBootServletInitializer {/*** 启动方法*/
public static voidmain(String[] args) {
SpringApplication.run(Application.class,args);
}
@BeanpublicIdWorker idWorker(){return newIdWorker();
}/***将项目打成war包
*@parambuilder
*@return
*/@OverrideprotectedSpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(Application.class);
}
}
View Code
yml文件
#微服务注册到eureka配置
eureka:
client:
service-url:
defaultZone: http://localhost:6868/eureka/