Eureka 注册中心
什么是Eureka?
Eureka是一个用于服务注册和发现组件
Eureka分为Eureka Client和Eureka Server
为什么选择Eureka?
首先Eureka完全开源 在功能和性能上都非常稳定 Eureka是SpringCloud首选组件 与SpringCloud其它组件无缝对接
Eureka的基本架构
Eureka主要包含3个角色
服务消费者
服务提供者
服务注册中心
EureakServer
新建父工程
依赖
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> </parent> <groupId>com.czy</groupId> <artifactId>springcloud_one</artifactId> <version>1.0-SNAPSHOT</version> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>DALSTON.SR1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
创建一个新项目 (继承父工程)
导入依赖
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>DALSTON.SR1</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> </dependencies> </dependencyManagement>
添加配置文件
server: port: 8001 eureka: instance: hostname: localhost client: service-url: defaultZone: http://localhost:8001/eureka # 注册中心不注册自己 register-with-eureka: false fetch-registry: false # 应用名 spring: application: name: eureka
添加启动类
// 开启Eureka服务端
@EnableEurekaServer
@SpringbootApplication public class EurekaServerApp { public static void main(String[] args) { SpringApplication.run(EurekaServerApp.class); } }
打开浏览器输入 localhost:8001 可以看到Eureka 的主界面 此时没有任何注册的实例 因为还没有Eureka Client 客户端向注册中心注册服务
EurekaClient
创建一个新项目 (继承父工程)
导入依赖 跟注册中心的依赖一样
添加配置文件
server: port: 8003 eureka: instance: hostname: localhost client: serviceUrl: defaultZone: http://localhost:8001/eureka/ spring: application: name: eureka-clint
添加启动类
// 开启Eureka客户端 @EnableEurekaClient @SpringBootApplication public class EurekaClientApp { public static void main(String[] args) { SpringApplication.run(EurekaClientApp.class); } }
启动后可以看到 eureka-client已经被注册到服务中心里面去了