Spring Cloud系列教程一 :服务治理Spring Cloud Eureka(F版)

介绍

Eureka在Spring Cloud体系中起服务注册和发现的作用,即订单服务将服务地址注册到注册中心。当产品服务想调用订单服务的时候先从注册中心拿到订单服务的地址列表,然后根据一定的负载均衡策略调用其中一个订单服务地址

github地址:https://github.com/erlieStar/spring-cloud-learning

搭建服务注册中心

示例项目:eureka-service(spring-cloud-eureka)

1.项目配置如下

pom.xml

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

application.yaml

server:
  port: 7001

spring:
  application:
    name: eureka-service

eureka:
  instance: #eureka实例定义
    hostname: localhost # 定义eureka所在的主机名称
  client:
    fetch-registry: false # 是否从eureka拉取注册信息,默认为true
    register-with-eureka: false # 是否将自己注册到Eureka Service,默认为true
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka
      # 设置与Eureka交互的地址,默认为http://localhost:8761/eureka,多个地址可用英文逗号分隔

可以看到eureka.client里面有很多配置项目,如何获取其他配置项和配置项的默认值呢?只需要点击属性,就能跳到相应的配置类,这里会跳EurekaClientConfigBean类中,同理配置文件中的各种属性都能通过点击跳到相应的配置类

2.在启动类上加注解@EnableEurekaServer,或任意@Configuration注解修饰的类

@EnableEurekaServer
@SpringBootApplication
public class EurekaService {

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

3.访问localhost:7001即可看到注册中心的页面
在这里插入图片描述
可以看到没有服务注册上来

高可用服务注册中心

示例项目:eureka-cluster(spring-cloud-eureka)

服务注册中心不可用时,整个服务都不可用了,如何避免注册中心的单点问题?
可以采用注册中心相互注册,我这里介绍一个3个注册中心互相注册的例子,2个同理,代码没有变化。

1.写3个配置文件

application-peer1.xml

server:
  port: 7001

spring:
  application:
    name: eureka-cluster

eureka:
  instance: #eureka实例定义
    hostname: peer1 # 定义eureka所在的主机名称
  client:
    fetch-registry: false # 是否从eureka拉取注册信息,默认为true
    register-with-eureka: false # 是否将自己注册到Eureka Service,默认为true
    service-url:
      defaultZone: http://eureka2:7002/eureka,http://eureka3:7003/eureka

application-peer2.xml

server:
  port: 7002

spring:
  application:
    name: eureka-cluster

eureka:
  instance: #eureka实例定义
    hostname: peer2 # 定义eureka所在的主机名称
  client:
    fetch-registry: false # 是否从eureka拉取注册信息,默认为true
    register-with-eureka: false # 是否将自己注册到Eureka Service,默认为true
    service-url:
      defaultZone: http://eureka1:7001/eureka,http://eureka3:7003/eureka

第三个配置类似,可以参考github源码

2.在host文件中配置如下信息

127.0.0.1 peer1 peer2 peer3

3.执行命令

#打包
mvn clean package
# 指定相应的配置文件启动eureka
java -jar eureka-cluster-1.0.jar --spring.profiles.active=peer1
java -jar eureka-cluster-1.0.jar --spring.profiles.active=peer2
java -jar eureka-cluster-1.0.jar --spring.profiles.active=peer3

此时访问注册中心页面 http://localhost:7001
在这里插入图片描述
DS Replicas就会显示其余的2个注册中心

欢迎关注

在这里插入图片描述

参考博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java识堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值