SpringCloud基础(3)-微服务远程调用
创始人
2024-05-29 14:51:10

SpringCloud基础

    • 1. 微服务的远程调用
    • 2. Eureka注册中心
        • 1. 搭建Eureka服务注册中心

1. 微服务的远程调用

服务提供者:一次业务中被其它服务调用的一方;
服务消费者:一次业务中调用其它服务的一方;

2. Eureka注册中心

  1. 记录所有服务的信息,比如服务名,服务端口号;所有服务每过30秒发送一次请求到eureka注册中心,如果服务不在发送请求到eureka,该服务则会被eureka从服务列表中移除。
  2. 消费者可以根据对应的服务名直接调用相关服务;如有一个user服务注册在eureka中,其它服务调用该服务时,只需要通过@feign填写对应的服务名称;
  3. 如果存在多个服务提供者,消费者会通过负载均衡算法,从服务列表中挑选一个;

1. 搭建Eureka服务注册中心

  1. 创建一个普通的maven项目
  2. 在pom.xml文件中增加如下依赖
    org.springframework.cloudspring-cloud-starter-netflix-eureka-server
  1. 在resource目录下创建一个application.yml文件(目前普遍使用yml格式,当然也可以使用propoties格式的配置文件)
#服务端口号
server:port: 9999# 服务名称
spring:application:name: newname # eureka的服务名称
eureka:client:service-url:defaultZone: http://127.0.0.1:9999/eurekaregister-with-eureka: truefetch-registry: falseinstance:prefer-ip-address: trueip-address: 127.0.0.1

第三步中有些点需要注意:1. port端口号,要与defaultZone中的端口号一致,否则会报错Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://127.0.0.1:9999/eureka/},;
2. register-with-eureka:这个配置是用来表示eureka是否需要自身注册到自己的注册中心上面去;

  1. 需要在springBoot的启动类中增加注解@EnableEurekaServer;作为一个服务端的eureka,必要的一个主服务;
  2. 其它注册到该注册中心的,需要引入依赖,注册中心客户端依赖。
        org.springframework.cloudspring-cloud-starter-netflix-eureka-client
  1. 如果没有引入feign,那么在此之前,可以通过RestTemplate方式,通过注册中心,调用其它服务,服务名称可以登录注册中心控制台查看。我这边注册中心注册的端口是9999,所以可以直接打开http://localhost:9999/;
    在这里插入图片描述
  2. 客户端注册配置;
eureka:client:service-url:defaultZone: http://127.0.0.1:9999/eureka

按照如上流程便可以创建一个简单的eurake服务。

相关内容

热门资讯

脑机接口遇到音乐治疗,AI真能... 志愿者体验“央音一号”。受访者供图 在走进中央音乐学院“央音一号”实验室之前,中青报·中青网记者对脑...
伊朗警告:若遭攻击必将还击 据外媒报道,伊朗议长卡利巴夫11日说,如果美国对伊朗发动打击,伊朗将把以色列以及美国在中东地区的军事...
SpaceX再部署7500颗星... 来源:@央视财经微博 【#SpaceX再部署7500颗星...
商络电子:向不特定对象发行可转... 商络电子公告,公司于2026年1月9日收到深圳证券交易所出具的《关于受理南京商络电子股份有限公司向不...
王毅原定访问索马里计划推迟 中... 新京报讯 据中国驻索马里使馆消息,有媒体报道,中共中央政治局委员、外交部长王毅原定1月9日访问索马里...