SpringCloud基础(3)-微服务远程调用

1. 微服务的远程调用

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

2. Eureka注册中心

  1. 记录所有服务的信息,比如服务名,服务端口号;所有服务每过30秒发送一次请求到eureka注册中心,如果服务不在发送请求到eureka,该服务则会被eureka从服务列表中移除。
  2. 消费者可以根据对应的服务名直接调用相关服务;如有一个user服务注册在eureka中,其它服务调用该服务时,只需要通过@feign填写对应的服务名称;
  3. 如果存在多个服务提供者,消费者会通过负载均衡算法,从服务列表中挑选一个;
1. 搭建Eureka服务注册中心
  1. 创建一个普通的maven项目
  2. 在pom.xml文件中增加如下依赖
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <!--具体的eureka服务器-->
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>
  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/eureka
    register-with-eureka: true
    fetch-registry: false
  instance:
    prefer-ip-address: true
    ip-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. 其它注册到该注册中心的,需要引入依赖,注册中心客户端依赖。
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
  1. 如果没有引入feign,那么在此之前,可以通过RestTemplate方式,通过注册中心,调用其它服务,服务名称可以登录注册中心控制台查看。我这边注册中心注册的端口是9999,所以可以直接打开http://localhost:9999/;
    在这里插入图片描述
  2. 客户端注册配置;
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:9999/eureka

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神秘的天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值