springboot集成Eureka注册中心
点关注不迷路,欢迎再来!
精简博客内容,尽量已专业术语来分享。
努力做到对每一位认可自己的读者负责。
帮助别人的同时更是丰富自己的良机。
Eureka是Netflix开源的一个RESTful服务,主要用于服务的注册发现。 Eureka由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务器用作服务注册服务器。 Eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。 Netflix在其生产环境中使用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。
支持高可用配置,它依托于强一致性提供良好的服务实例可用性,可以应对多种不同的故障场景。如果Eureka以集群模式部署,当集群中的分片出现故障时,那么Eureka就 转入自我保护模式。它允许在分片故障期间继续提供服务的发展和注册,当故障分片恢复运行时,集群中的其他分片会把他们的状态再次同步回来。
Eureka客户端向注册中心注册自身提供的服务并周期性地发送心跳来更新它的服务租约。
一.先创建一个Eureka-Server服务注册中心
1.pom.xml配置
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
2.配置application.yml文件
server:
port: 8081 #服务注册中心端口号
eureka:
instance:
hostname: 127.0.0.1 #服务注册中心IP地址
client:
registerWithEureka: false #是否向服务注册中心注册自己
fetchRegistry: false #是否检索服务
serviceUrl: #服务注册中心的配置内容,指定服务注册中心的位置
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
3.配置启动类引入@EnableEurekaServer
package com.sun.eureka;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
/**
* 服务注册中心
* @author andy
*启动一个服务注册中心
*/
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
4.访问注册中心
二.创建一个Eureka-Client客户端
1.pom.xml配置同步服务端
2.配置application.yml文件
eureka:
client:
serviceUrl: #注册中心的注册地址
defaultZone: http://127.0.0.1:8081/eureka/
server:
port: 8082 #服务端口号
spring:
application:
name: service-client #服务名称--调用的时候根据名称来调用该服务的方法
3.配置启动类引入@EnableEurekaClient
package com.sun.eureka;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
* 客户端
* @author andy
*
*/
@EnableEurekaClient
@SpringBootApplication
public class EurekaClientApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaClientApplication.class, args);
}
}
4.定义ClientController控制器
package com.sun.eureka.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ClientController {
@GetMapping(value = "/index")
public String getString(){
return "Hello-Wolrd";
}
}
接着我们来访问:127.0.0.1:8082/index
5.再次访问注册中心
注意矩形标记,此时我们已经成功的注册客户端service-client