Eureka实现服务的注册与发现

上一篇文章 RestTemplate实现服务之间的调用中调到了使用 RestTemplate 跨应用调用 Restful 形式的接口。这样的方式存在两个弊端:一是 URL 需要硬编码,二是服务挂掉之后没有备用措施。

Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现。Eureka由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务器用作服务注册服务器。Eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。

Eureka的服务注册与发现

如上图所示,Eureka 中有三种角色

  • Eureka Server:注册中心,提供服务的注册和发现
  • Service Provide:服务提供者,将自身的服务注册到 Eureka Server
  • Service Consumer:服务消费者,从 Eureka Server 中获取注册表,调用 Provider 的服务

使用 Eureka Server

使用 Eureka Server 我们需要引入相关的配置,主要需要引入 spring-cloud-starter-netflix-eureka-server

1
2
3
4
5
...
<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

在启动类中用注解的方式将其申明为一个 @EnableEurekaServer

1
2
3
4
5
6
7
@SpringBootApplication
@EnableEurekaServer // 标记为 eurekaserver
public class EurekaApp {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApp.class,args);
    }
}
posted @ 2019-11-07 18:26  深页  阅读(97)  评论(0编辑  收藏  举报