SpringCloud.Eureka

Eureka注册中心之快速入门版

Spring Cloud 中的服务治理组件,能够完成微服务的注册和治理

目录

1.简单的Eureka Server
2.Eureka 高可用

简单的Eureka Server

首先导入需要的依赖,选择Eureka Server
pom.xml中的依赖:

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

    </dependencies>

在主类上使用@EnableEurekaServer 标识这是一个Eureka Server

@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
}

在application.yml中配置

spring:
  application:
      name: eureka-server
server:
  port: 3873
eureka:
  client:
      register-with-eureka: false ##不向Eureka注册自己
      fetch-registry: false   ##不向注册中心获取微服务列表(因为自己就是注册中心)
      serviceUrl:
          defaultZone: http://127.0.0.1:3873/eureka   ##Eureka注册中心地址

启动项目访问localhost:3873/eureka(或者是自己设置的注册中心地址):
这里写图片描述

当然以这种方法配置的Eureka Server 仅是单元的 ,当这个单元的Eureka Server 不小心宕机了,那么注册在这个服务中心的其他微服务都变得不可访问了。所以有必要进行Eureka Server 的集群化配置:Eureka 高可用

Eureka 高可用

前面我们知道了怎么配置一个单元的Eureka注册中心,俗话说得好不能把鸡蛋放在同一个篮子里,我们也需要将众多的微服务注册到一个Eureka集群上。这样,当一个注册中心不DOWN掉了,还能通过其他的注册中心找到需要的微服务。而实现这个功能也非常简单,你可以像 http://cloud.spring.io/spring-cloud-static/spring-cloud.html#_peer_awareness 中说得一样配置多个profiles的YAML,然后在启动项目的时候使用--spring.profiles.active=xxxx来确定使用的是哪个配置,也可以简单粗暴地创建多个项目使用不同的配置来完成.博主因为能力有限,又想在阿里云上搞点骚操作,搞了半天不能把多个profiles的启动写到脚本里,所以没有使用官方推荐的方式,而是简单粗暴地又建了一个注册中心,有能力的小伙伴不要学我~~下面附上简单粗暴版:

#eureka的YAML
spring:
  application:
    name: eureka-server
server:
  port: 3873
eureka:
  instance:
    hostname: eureka1
  client:
    serviceUrl:
      defaultZone: http://127.0.0.1:3400/eureka/
#eureka2的YAML
spring:
  application:
    name: eureka-server
server:
  port: 3400
eureka:
  instance:
    hostname: eureka2
  client:
    serviceUrl:
      defaultZone: http://127.0.0.1:3873/eureka/

其他地方都一样,依次启动两个项目,然后访问localhost:3400(或者访问端口3873也行)能看到以下页面
这里写图片描述
可以发现有两个Eureka Server 了。
而注册到Eureka Server 也很简单,只需要以serviceUrl.defaultZone=xxxx,yyyyy,zzzzz的形式,用“,”来分隔多个注册中心即可,比如要注册到刚刚栗子中的Server上,可以用
serviceUrl.defaultZone=http://127.0.0.1:3873/eureka,http://127.0.0.1:3400/eureka

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值