SpringCloud Euerka

服务注册中心,用来对服务统一的管理和调用,这点很像spring的ioc

Euerka服务类

Euerka7001

  • applcaition
server:
  port: 7001
spring:
  application:
    name: Eureka7001
eureka:
  instance:
    hostname: localhost
  client:
    # false 表示不向注册中心注册自己
    register-with-eureka: false
    # false 表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    fetch-registry: false
    service-url:
      defaultZone: http://localhost:7001/eureka/

###BUG

  1. 启动server报错,版本问题,不能只在setting中修改jdk,还要再project structure中修改为jdk1.8
  2. 找不到@EnableEurekaClient
 mvn -U idea:idea
 mvn clean
 mvn install

实现负载均衡

  1. 修改order的请求地址,设置为服务名
    这样通过eureka来提供具体地址
 public static final String PAYMENT_URL = "http://PAYMENT-SERVICE/payment/";
  1. 设置负载均衡
    在这里插入图片描述

信息完善

eureka:
  instance:
    instance-id: payment8002 # 实例名
    appname: payment-service # 服务名
    prefer-ip-address: true #访问路径可以显示ip地址

服务发现

查询服务或者服务下实例的详细信息

  1. 添加控制器
 @GetMapping("payment/discovery")
    public Object discovery(){
        List<String> services = discoveryClient.getServices();//获取服务名称
        services.forEach(System.out::println);

        List<ServiceInstance> instances = discoveryClient.getInstances("COMMONS");
        List<ServiceInstance> instances1 = discoveryClient.getInstances("PAYMENT-SERVICE");

        for (ServiceInstance instance : instances) {
            System.out.println(instance.getInstanceId());
            System.out.println(instance.getHost());
            System.out.println(instance.getPort());
        }
        System.out.println("wdnmd");
        for (ServiceInstance instance : instances1) {
            System.out.println(instance.getInstanceId());
            System.out.println(instance.getHost());
            System.out.println(instance.getPort());
        }

        return this.discoveryClient;
    }
  1. 添加标签
    在这里插入图片描述

eureka自我保护

在服务超过一段时间没有发送心跳后,eureka不会立即将它从注册表中删除,默认开启

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值