zoukankan      html  css  js  c++  java
  • 服务注册和发现总结

    1 注册中心

    1.1 Eureka

    1.1.1 搭建注册中心

    • 引入依赖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注解。

    1.1.2 服务注册

    • 提供提供者引入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/
    

    1.2 Consul

    1.2.1 搭建注册中心

    • 下载安装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
    

    1.2.2 服务注册

    • 服务提供者引入spring-cloud-starter-consul-discovery依赖。
    • 通过spring.cloud..consul.hostspring.cloud.consul.port指定Consul Client(如果是集群)的请求地址。

    2 服务调用

    2.1 Ribbon

    • 通过Ribbon结合RestTemplate的方式进行服务调用只需要声明RestTemplate的方法上添加注解@LoadBalanced注解即可。
    • 可以通过服务名称.ribbon.NFLoadBalancerRuleClassName 配置负载均衡策略。

    2.2 Feign

    • 服务消费者引入spring-cloud-starter-openfeign依赖。
    • 通过@FeignClient声明一个调用远程微服务的接口。
    • 启动类上标准@EnableFeignClients激活Feign。
  • 相关阅读:
    memcached stats 命令
    sql server 游标语法
    iis 备份
    在Win7下使用超级任务栏时,将文件夹锁定在超级任务栏打开的默认都是计算机
    微点破解90天
    win7 设置 开始菜单 程序 为经典模式
    设置 ASP.NET 存储当前应用程序的临时文件(生成的源、编译了的程序集等)的目录的物理路径。
    Java六大必须理解的问题
    Windows不能在本地计算机启动OracleDBConsoleorcl
    更改phpMyAdmin的密码
  • 原文地址:https://www.cnblogs.com/xuweiweiwoaini/p/13764537.html
Copyright © 2011-2022 走看看