spring-cloud-eureka

介绍

   Eureka是Netflix开发的服务发现框架,是一个基于REST的服务。主要以AWS云服务为支撑,提供服务发现并实现负载均衡和故障转移。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。Eureka服务器节点之间是对等的,只要有一个节点在,就可以正常提供服务。Eureka客户端的所有操作可能需要一段时间才能在Eureka服务器中反映出来,随后在其他Eureka客户端中反映出来。也就是说,客户端获取到的注册信息可能不是最新的,它并不保证强一致性,保证的是可用性以及分区容错性,即CAP中保证的是AP。

Eureka单服务搭建

服务端(注册中心)

1.引入依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

2.启动类中添加注解

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {

    private static final Logger LOGGER = LoggerFactory.getLogger(EurekaApplication.class);

    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
        LOGGER.info("================ erueka start success ==============");
    }
}

3.维护配置文件

spring:
  application:
    name: eureka

server:
  port: 8000

eureka:
  instance: 
    hostname: localhost
    lease-renewal-interval-in-seconds: 10  #eureka客户端多长时间发送心跳到服务器,以表明它仍然活着。指定的时间内没有收到心跳,eureka服务器将删除实例
  client:
    registerWithEureka: false   #是否注册自己
    fetchRegistry: false        #是否拉取别的注册中心的信息
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/   #注册中心地址
    registry-fetch-interval-seconds: 10   #客户端拉取服务端的频率
  server:
    wait-time-in-ms-when-sync-empty: 0  #同步为空时的等待时间(以毫秒为单位)
    enable-self-preservation: false    # 启动自我保护
    eviction-interval-timer-in-ms: 5000  #针对客户端下线没有通知服务端的问题通过提高EvictionTask的调度频率解决
    use-read-only-response-cache: false  #针对response cache问题可以关闭readOnlyCacheMap
    response-cache-auto-expiration-in-seconds: 60  #针对response cache问题也可以通过调整缓存过期时间解决
    renewal-percent-threshold: 0.49  #续约阈值  指定每分钟收到的续约次数的阈值低于阈值时触发服务保护self-preservation

客户端(需要注册到注册中心的服务)

1.引入依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

2.启动类中添加注解

@EnableEurekaClient
@SpringBootApplication
public class EurekaClientApplication {

    private static final Logger LOGGER = LoggerFactory.getLogger(EurekaClientApplication.class);

    public static void main(String[] args) {
        SpringApplication.run(EurekaClientApplication.class, args);
        LOGGER.info("================ erueka client start success ==============");
    }
}

3.维护配置文件

spring:
  application:
    name: eurekaClient

server:
  port: 8001

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8000/eureka/  #配置中心地址

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值