springcloud之Eureka

本文介绍了Spring Cloud中的Eureka服务注册中心的概念及其在系统架构中的作用,详细讲解了如何搭建一个Eureka服务注册中心,包括Spring Boot项目的创建、POM文件配置、依赖管理以及必要的配置步骤。

首先讲一下Eureka服务注册中心。对于Eureka,你可以把他理解为dubbo中的zokkeeper。用于监听其他服务的,并且springcloud帮我们封装好了很多东西,使用起来还是非常方便的。讲点概念性的东西,以及Eureka的介绍:一个系统架构中,任何单点的服务都不可能保证不会中断,因此需要eureka去做客户端的发现模式,保证其中一个节点中断后,其他的节点能保证提供服务,实现高可用 Eureka Server会提供服务注册服务,各个服务节点启动后,会在Eureka Server中进行注册,这样Eureka Server中就有了所有服务节点的信, 并且Eureka有监控页面,可以在页面中直观的看到所有注册的服务的情况。同时Eureka有心跳机制,当某个节点服务在规定时间内没有发送心跳信号时,Eureka会从服务注册表中把这个服务节点移除。Eureka还提供了客户端缓存的机制,即使所有的Eureka Server都挂掉,客户端仍可以利用缓存中的信息调用服务节点的服务。 Eureka通过心跳检测、健康检查、客户端缓存等机制,保证了系统具有高可用和灵活性。

讲了概念性的东西,接下来实战一下,首先自己创建一个springboot项目,命名Eureka,接下来做一些pom文件的配置,我的版本用的是1.5.8的版本

<parent>

                   <groupId>org.springframework.boot</groupId>

                   <artifactId>spring-boot-starter-parent</artifactId>

                   <version>1.5.8.RELEASE</version>

                   <relativePath/>

         </parent>

 

         <properties>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <java.version>1.8</java.version>

        <spring-cloud.version>Dalston.SR4</spring-cloud.version><!-- 统一版本管理 -->

</properties>

接下来引入统一多模块的依赖版本

<dependencyManagement>

        <dependencies>

            <dependency>

                <groupId>org.springframework.cloud</groupId>

                <artifactId>spring-cloud-dependencies</artifactId>

                <version>${spring-cloud.version}</version>

                <type>pom</type>

                <scope>import</scope>

            </dependency>

        </dependencies>

</dependencyManagement>

 

然后就是一些常规的依赖config,eureka,eureka-server;包括maven仓库别忘记了。

这里顺便提一下,对于Eureka来说,实现负载均衡一般是配合ribbon搭配使用的,那么ribbon的依赖,Eureka已经帮我继承在spring-cloud-starter-eureka中了,只需要用@LoadBalanced 注解来实现,这个后面讲。

做好所有依赖以后,在Application启动项中添加@EnableEurekaServer注解,作用是表明应用为eureka服务,有可以联合多个服务作为集群,对外提供服务注册以及发现功能。

接下来在application.yml中做一些基本配置,这里我直接贴下,没什么比较重要的东西

spring:

  application:

    name: spring-cloud-demo-service

     

server:

  port: 8000

eureka:

  client:

    register-with-eureka: true    #是否在注册中心注册自己

    fetch-registry: false           #是否检索服务

    serviceUrl:

      defaultZone: http://127.0.0.1:8000/eureka/

  instance:

prefer-ip-address: true

 

 

恭喜你,已经配置完成了,接下来启动项目,登录http://127.0.0.1:8000,如果顺利进入页面,那么久OK了

转载于:https://my.oschina.net/u/3869202/blog/1826805

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值