-
什么是Eureka?
Eureka是Netflix开发的服务发现框架,本身是一个基于Rest的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。
-
Eureka的原理是什么?
Applecation-server :服务提供者
Application-cliene:服务消费者
服务启动后向Eureka注册,Eureka Server会将注册信息向其他Eureka Server进行同步,当服务消费者要调用服务提供者,则向服务注册中心获取服务提供者地址,然后会将服务提供者地址缓存在本地,下次再调用时,则直接从本地缓存中取,完成一次调用。
-
上手使用部分
1.在你的项目下面建一个eureka_service的服务
2.在你的eureka_service(注册中心)的pom.xml中导入service端依赖
<!--eureka-server服务端 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
3.然后再你的application.yml中配置service端
server:
port: 10001 # 服务端口
---
spring:
application:
name: eurekaServer # eureka服务名称
---
eureka:
client:
service-url:
defaultZone: http://localhost:10001/eureka # eureka的地址信息
4.再你Eureka的启动类里面加上注解@EnableEurekaServer
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class, args);
}
}
5.然后你在的消费端的pom.xml中加上client端依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
6.在你的消费端的application.yml中备注注册
spring:
application:
name: orderServer
---
eureka:
client:
service-url:
defaultZone: http://localhost:10001/eureka #这里是你刚刚在eurke_service里面配置的那段
7.再你Eureka的启动类里面加上注解@EnableEurekaClient
@SpringBootApplication
@EnableEurekaClient
public class OrderApplication {
public static void main(String[] args) {
SpringApplication.run(OrderApplication.class, args);
}
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
8.运行如下图就证明你成功了我们启动配置的两个服务