当先锋百科网

首页 1 2 3 4 5 6 7
  • 什么是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.运行如下图就证明你成功了我们启动配置的两个服务