Eureka服务注册与发现

简介: Eureka服务注册与发现一、服务注册注册Eureka的服务非常的简单,只需要引入spring-cloud-starter-netflix-eureka-client的jar包即可。

Eureka服务注册与发现

一、服务注册

注册Eureka的服务非常的简单,只需要引入spring-cloud-starter-netflix-eureka-client的jar包即可。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

当然,我们要在配置文件中指明注册中心的地址:

server:
  port: 8100
spring:
  application:
    name: service-order
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

我们为了简单,注册中心用的是单机,大家也可以使用集群方式。

我们启动这个应用,它就是将自己的ip地址、端口、应用名称等信息向注册中心注册。我们可以打开注册中心的管理后台看到:

控制台

我们service-user服务已经注册成功了。

只要我们引入了spring-cloud-starter-netflix-eureka-client的jar包,它就使得我们的应用即是
Eureka实例(instance,是服务的提供者)又是Eureka的客户端(client,可以注册中心发现其他的服务地址)。

Spring Cloud的服务提供和发现是在一起的,这有别于我们认识的其他的服务框架(如:dubbo)。既然服务的提供
和发现是在一起的,我们来看一看怎么发现其他服务,并完成调用。

二、服务的调用

我们已经引入了spring-cloud-starter-netflix-eureka-client的jar包,就可以从注册中心找到其他的服务。
我们这里写个远程调用的例子供大家参考:

@RequestMapping("remote")
public class RemoteController {

    @Autowired
    private DiscoveryClient discoveryClient;

    @RequestMapping("order")
    public Order remoteOrder(){
        List<ServiceInstance> instances = discoveryClient.getInstances("SERVICE-ORDER");
        String url = instances.get(0).getUri()+"/order/detail";
        RestTemplate restTemplate = new RestTemplateBuilder().build();
        Order order = restTemplate.getForObject(url, Order.class);
        return order;
    }
}

其中,“SERVICE-ORDER”是我们order服务中的spring.application.name的名字,discoveryClient通过服务的名称找到对应的地址。
我们可以看到它返回的是一个List,这说明我们的服务可以搭建集群,我们取服务中的第一个地址,并通过RestTemplate进行调用。
这种方法是比较原始的方法,Spring Cloud给我们封装更简便的Feign,它可以更方便的调用服务,并提供了负载均衡策略,这是我们下一张要讲的内容。

至此,Eureka服务注册与发现就介绍完了,示例地址:https://github.com/liubo-tech/spring-cloud-eureka

目录
相关文章
|
2月前
|
负载均衡 算法 微服务
Eureka服务注册与发现
Eureka服务注册与发现
14 2
|
2月前
|
缓存 负载均衡 算法
Eureka——服务注册与发现框架
Eureka——服务注册与发现框架
16 1
|
10天前
|
负载均衡 监控 容灾
【SpringCloud】详解Eureka注册中心
【SpringCloud】详解Eureka注册中心
18 0
|
7月前
|
存储 Java 网络架构
SpringCloud之Eureka注册中心解读
SpringCloud之Eureka注册中心解读
|
8月前
|
缓存 Java Shell
SpringCloud Eureka注册中心
SpringCloud Eureka注册中心
50 1
|
11月前
|
Java Maven
把提供者注册到Eureka
上一篇已经记录了搭建Eureka的方法:搭建Eureka注册中心 创建一个maven项目 添加依赖
|
负载均衡 监控 Dubbo
SpringCloud之Eureka服务注册
SpringCloud之Eureka服务注册
SpringCloud之Eureka服务注册
|
Java
SpringCloud - 服务注册与发现(Eureka)(一)
SpringCloud - 服务注册与发现(Eureka)(一)
114 0
SpringCloud - 服务注册与发现(Eureka)(一)
SpringCloud - 服务注册与发现(Eureka)(二)
SpringCloud - 服务注册与发现(Eureka)(二)
110 0
SpringCloud - 服务注册与发现(Eureka)(二)
|
Java 数据安全/隐私保护
创建服务提供者并在Eureka进行注册
欢迎来到菜鸟SpringCloud入门实战系列(SpringCloudForNoob),该系列通过层层递进的实战视角,来一步步学习和理解SpringCloud。 本系列适合有一定Java以及SpringBoot基础的同学阅读。
118 0