SpringCloud--Eureka服务注册和发现

Eureka是SpringCloud家族中的一个组件,因为它的有服务注册和发现的机制,所以很适合用于做注册中心。Eureka有服务端和客户端,注册中心作为服务端,我们提供的服务作为客户端注册到服务端上,由Eureka统一管理。作为注册中心,它内部运行机制是什么样的?下面我就带着下面这些问题来学习Eureka。1.如何去开发一个集成spring cloud eureka程序?2...
摘要由CSDN通过智能技术生成

Eureka是SpringCloud家族中的一个组件,因为它的有服务注册和发现的机制,所以很适合用于做注册中心。Eureka有服务端和客户端,注册中心作为服务端,我们提供的服务作为客户端注册到服务端上,由Eureka统一管理。

作为注册中心,它内部运行机制是什么样的?下面我就带着下面这些问题来学习Eureka。
1.如何去开发一个集成spring cloud eureka程序?
2.服务提供者怎么注册到服务中心的?
3.服务中心怎么接收注册请求?
4.服务中心怎么存储?
5.服务中心自身是怎么实现高可用的?
6.服务集群之间怎么同步信息?如何去重?
7.服务中心如何检查服务提供者是否正常?
8.服务提供者如果下架服务?
1.如何去开发一个集成spring cloud eureka程序?

下面就开发一个伪集群(在单机上)的Eureka程序:
服务端pom.xml文件主要配置:

 <!-- spring boot 封装spring
    starter封装、自动配置autoconfiguration
    -->
    <parent>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-parent</artifactId>
        <version>Edgware.SR2</version>
        <relativePath />
    </parent>
    <!-- 后面引用不用加版本号 -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Edgware.SR2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <!-- spring-boot-starter-web web项目,集成容器tomcat -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- spring-boot-starter-actuator 管理工具/web 查看堆栈,动态刷新配置 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!-- cloud eureka组件 注册中心 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
        </dependency>
    </dependencies>

bootstrap.yml文件:

# 应用名称
spring:
  application:
    name: eureka-server

application.yml文件:

# 上下文初始化加载
info:
  name: Eureka server
  contact: wenthkim

spring:
  profiles:
    active: eureka1
spring:
  profiles: eureka1
server:
  port: 8761
eureka:
  client:
    # 是否注册到eurekaserver 
    registerWithEureka: false
    # 是否拉取信息
    fetchRegistry: true
    # eureka server地址
    serviceUrl:
      defaultZone: http://eureka1:8761/eureka/,http://eureka2:8762/eureka/,http://eureka3:8763/eureka/
  server:
    # false 关闭自我保护,不管如何都要剔除心跳检测异常的服务
    enableSelfPreservation: true
    # updatePeerEurekaNodes执行间隔
    peerEurekaNodesUpdateIntervalMs: 10000000
    waitTimeInMsWhenSyncEmpty: 0
  instance:
    hostname: eureka1
    metadataMap: 
      instanceId: ${spring.application.name}:${vcap.application.instance_id:${spring.application.instance_id:${random.value}}}

启动java类

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值