Eureka服务注册与发现-阿里云开发者社区

开发者社区> 小忽悠> 正文

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Consul服务注册与发现
Consul是一种服务网格解决方案,提供具有服务发现,配置和分段功能的全功能控制平面。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建完整的服务网格。Consul需要一个数据平面,并支持代理和本机集成模型。Consul附带了一个简单的内置代理,因此一切都可以直接使用,还支持Envoy等第三方代理集成。
786 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
8662 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2849 0
Spring Cloud云服务架构 - commonservice-eureka 项目过程构建
Spring Cloud云服务架构 - commonservice-eureka 项目过程构建 创建一个名为particle-common-eureka的maven项目,继承particle-commonservice,具体的pom.
1140 0
服务注册与发现---eureka
eureka简介:云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。 话不多说直接上代码 首先新建一个springcloud eurekaserver项目。
852 0
SpringCloud之服务注册与发现Eureka+客户端Feign
SpringCloud之服务注册与发现Eureka+客户端Feign前言  SpringCloud 是微服务中的翘楚,最佳的落地方案。   Eureka 作为注册中心,是 SpringCloud 体系中最重要最核心的组件之一。
2654 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10493 0
Spring Cloud 学习之路 | 第一章 :Eureka 服务的注册和发现
一. Spring Cloud 简介 Spring Cloud 为开发者提供了快熟构建分布式系统的一些工具,包括配置管理,服务发现,断路器,路由,微代理,事件总线,全局锁,决策竞选,分布式会话,集群状态等。
6916 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
12305 0
springcloud之服务注册与发现(zookeeper注册中心)-Finchley.SR2版
新年第一篇博文,接着和大家分享springcloud相关内容;本次主要内容是使用cloud结合zookeeper作为注册中心来搭建服务调用,前面几篇文章有涉及到另外的eureka作为注册中心,有兴趣的朋友会回顾下上几篇文章。
4539 0
+关注
小忽悠
在技术的海洋里遨游
82
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载