Eureka笔记

已有Consumer  Service 服务
------------------------------
添加新的模块
1.导包
     <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
      </dependency>
 2.在启动类上加@EnableEurekaServer注解,表示这是eureka的服务端
 3.配置yaml文件
 --------------------
      server:
        port: 10086
      spring:
        application:
          #  服务名
          name: eureka-server


      eureka:
        client:
          service-url:
            #服务地址,如果是集群,需要指定其他eureka地址
            defaultZone: http://127.0.0.1:10086/eureka
          #eureka 自身不提供服务,默认不注册自己
          register-with-eureka: false
          #不拉取服务
          fetch-registry: false
    ---------------------------------
服务注册:在服务提供user-service添加Eureka客户端依赖;自动将服务注册到Eureka服务地址
        - 添加依赖
        - 改造启动类;添加开启Eureka客户端发现的注解
        - 修改配置文件;设置Eureka服务地址

服务发现: 在服务提供consumer-demo添加Eureka客户端依赖; 可以使用工具类根据服务名称获取对应的服务地址列表。
        - 添加依赖
        - 改造启动类;添加开启Eureka客户端发现的注解
        - 修改配置文件;设置Eureka服务地址
        - 改造处理器类ConsumerController,可以使用工具类DiscoveryClient根据服务名称获取对应的服务地址列表
        使用RestTemplate获取服务
    -------------------------------------------------
1>服务端添加依赖
      <!--  eureka客户端-->
      <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
      </dependency>
2>启动类上添加eureka客户端注解@EnableDiscoveryClient,开启服务发现功能
3>在配置文件中配置服务名称,并配置服务资质(rewrite)
        server:
          port: 9091
        spring:
          datasource:
            driver-class-name: com.mysql.jdbc.Driver
            url: jdbc:mysql://localhost:3306/springcloud
            username: root
            password: songhang
          application:
            name: user-service
        mybatis:
          type-aliases-package: com.song.user.pojo

        eureka:
          client:
            service-url:
              defaultZone: http://127.0.0.1:10086/eureka
---------------------------------
1>Consumenr端添加依赖
      <!--  eureka客户端-->
      <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
      </dependency>
2>启动类上添加eureka客户端注解@EnableDiscoveryClient,开启服务发现功能
3>在配置文件中配置服务名称,并配置服务资质(rewrite)
  --------------------
spring:
  application:
    name: consumer-demo
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka

-----------------------------------
4>修改处理器
    -------------------
      @Autowired0       private DiscoveryClient  //spring
     //获取eureka中注册的实例
            List<ServiceInstance> instances = discoveryClient.getInstances("user-service");
            ServiceInstance serviceInstance = instances.get(0);
            url="http://"+serviceInstance.getHost()+":"+serviceInstance.getPort()+"/user/"+id;
            return restTemplate.getForObject(url, User.class);
 ------------------------------------------------------------------------------
 测试访问controller
 -------------------------
eureka 高可用配置
-------------------------
        server:
          port: ${port:10086}
        spring:
          application:
            #  服务名
            name: eureka-server


        eureka:
          client:
            service-url:
              #服务地址,如果是集群,需要指定其他eureka地址
              defaultZone: ${defaultZone:http://127.0.0.1:10086/eureka}
            #eureka 自身不提供服务,默认不注册自己
        #    register-with-eureka: false
            #不拉取服务
        #    fetch-registry: false
-------------------------------------
edit => VM options  ==>    -D:port=10087 -DdefaultZone=http://127.0.0.1:10086/eureka
复制一个服务 ,互相注册
edit => VM options  ==>    -D:port=10086 -DdefaultZone=http://127.0.0.1:10087/eureka
在服务提供方配置
----------------------------
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka,http://127.0.0.1:10087/eureka
------------------------------------


Eureka客户端与服务端的配置
Eureka客户端user-service的注册、续约等配置项,配置eureka客户端consumer-demo的获取服务间隔时间;了解失效剔除和自我保护

Eureka客户端工程
    user-service服务提供
    - 服务地址使用ip方式
    - 续约
    consumer-deno服务消费
    - 获取服务地址的频率
Eureka服务端工程eureka-server
    - 失效剔除
    - 自我保护

-------------------------------
配置:服务地址使用ip方式
    在user-service中配置
    --------------
    eureka:
      client:
        service-url:
          defaultZone: http://127.0.0.1:10086/eureka,http://127.0.0.1:10087/eureka
      instance:
        #更倾向于ip,
        prefer-ip-address: true
        ip-address: 127.0.0.1
    ----------------
配置:续约(在服务注册完成以后,服务提供者会维持一个心跳,定时向EurekaServer发起一个心跳)
    在user-service中配置
    --------------
        eureka:
          client:
            service-url:
              defaultZone: http://127.0.0.1:10086/eureka,http://127.0.0.1:10087/eureka
          instance:
            #更倾向于ip,
            prefer-ip-address: true
            ip-address: 127.0.0.1
            #续约间隔
            lease-renewal-interval-in-seconds: 20
            #服务失效时间
            lease-expiration-duration-in-seconds: 40
    ---------------------------------
配置:获取服务地址的频率(拉取间隔时间)
     在consumer-demo中配置
     ------------------------
    eureka:
      client:
        service-url:
         defaultZone: http://127.0.0.1:10086/eureka
         #服务拉取时间间隔
        registry-fetch-interval-seconds: 10
    ---------------------------
配置:失效剔除,关闭自我保护模式
        在eureka-server中配置
   -----------------------
   eureka:
     client:
       service-url:
         #服务地址,如果是集群,需要指定其他eureka地址
         defaultZone: ${defaultZone:http://127.0.0.1:10086/eureka}
       #eureka 自身不提供服务,默认不注册自己
       register-with-eureka: false
       #不拉取服务
       fetch-registry: false
     server:
       #服务失效剔除时间
       eviction-interval-timer-in-ms: 60
       #关闭自我保护模式,关闭后页面不会显示警告信息
       enable-self-preservation: false
   -----------------------------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值