您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

SpringCloud-Alibaba之服务注册与发现总结

对 springcloud 中服务注册与发现(调用)的总结!

注册中心

Eureka

搭建注册中心

  • 引入依赖spring-cloud-starter-netflix-eureka-server

  • 在application.yml中配置Eureka Server,比如下面的配置。

#配置Eureka Server
eureka:
  instance:
    # 主机地址名称
    #    hostname: localhost # 单机版的主机地址名称
    hostname: eureka7003.com
  client:
    register-with-eureka: false # 是否将自己注册到注册中心
    fetch-registry: false # 是否从Eureka中获取服务列表
    service-url:  # 配置暴露给Eureka Client的请求地址
      # 单机版
      #      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
      # 集群版
      defaultZone:  http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/
  server:
    enable-self-preservation: false #关闭自我保护
    eviction-interval-timer-in-ms: 4000 #剔除时间间隔,单位:毫秒
  • 在启动类上标注@EnableEurekaServer注解。

服务注册

  • 提供提供者引入spring-cloud-starter-netflix-eureka-client依赖。

  • 在application.yml中通过eureka.client.service-url.defaultZone配置注册中心地址。

# 配置 eureka
eureka:
  instance:
    # 主机名称:服务名称修改,其实就是向eureka server中注册的实例id
    instance-id: service-product:9001
    # 显示IP信息
    prefer-ip-address: true
  client:
    service-url: # 此处修改为 Eureka Server的集群地址
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/

Consul

搭建注册中心

  • 下载安装Consul,一般建议3~5台机器。

  • 启动consul。

consul agent -server -bootstrap-expect 3 -data-dir=/etc/consul.d -node=server-1 -bind=192.168.237.100 -ui -client 0.0.0.0 &
consul agent -server -bootstrap-expect 3 -data-dir=/etc/consul.d -node=server-2 -bind=192.168.237.101 -ui -client 0.0.0.0 &

consul join 192.168.237.100
consul agent -server -bootstrap-expect 3 -data-dir=/etc/consul.d -node=server-3 -bind=192.168.237.102 -ui -client 0.0.0.0 &

consul join 192.168.237.100

服务注册

  • 服务提供者引入spring-cloud-starter-consul-discovery依赖。

  • 通过spring.cloud..consul.hostspring.cloud.consul.port指定Consul Client(如果是集群)的请求地址。

服务调用

Ribbon

  • 通过Ribbon结合RestTemplate的方式进行服务调用只需要声明RestTemplate的方法上添加注解@LoadBalanced注解即可。

  • 可以通过服务名称.ribbon.NFLoadBalancerRuleClassName 配置负载均衡策略。

Feign

  • 服务消费者引入spring-cloud-starter-openfeign依赖。

  • 通过@FeignClient声明一个调用远程微服务的接口。

  • 启动类上标注解 @EnableFeignClients 激活Feign。

参考:https://www.yuque.com/sunxiaping/yg511q/tqiv41


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进