SpringCloud-Eureka (二)

本文介绍如何在微服务架构中利用Eureka进行服务治理,包括设置服务信息、自我保护机制、服务发现及集群配置等关键内容,并对比了Eureka与Zookeeper的区别。

前言

看这篇文章之前,请阅读
https://blog.youkuaiyun.com/dtttyc/article/details/88807094

设置Eureka的info信息

设置info信息主要是查看,注册到Eureka的服务的具体信息是什么,在服务提供者配置

info:
   app.name: atguigu-microserviceccloud
   company.name: www.atguigu.com
   build.artifactId: $project.artifactId$
   build.version: $project.version$

在这里插入图片描述

Eureka自我保护机制

Eureka自我保护机制指的是当Eureka服务端发现没有服务的时候,或者检测不到心跳的时候微服务不健康,或者已经宕机,不会把该节点丢弃,反而会保存起来, 当下次恢复的时候可以继续使用, 提高了高可用机制

如果进制自我保护机制

Eureka.server.enable-self-preservation=fasle

Eureka服务自我发现

提供者把服务注册到Eureka服务端,当然得有服务消费和发现

//在springbootapplication ,启动方法上
@EnableDiscoveryClient // 服务发现
    @Autowired
    private DiscoveryClient client;
    //List里面存储的就是所有的注册到Eureka的服务
  List<String> list = client.getServices();

Eureka集群配置

集群保证的是高可用,当一台挂了之后,就可以切换到另一台
在这里插入图片描述

  1. 更改域名
eureka:
  instance:
    hostname: eureka7001.com
#  hostname: localhost   #eureka服务端的实例名称
  1. 更改为集群模式,各个节点都可以互相访问
  service-url:
         defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
#       defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ # 设置与Eureka server交互的地址查询和注册服务注册都需要这个地址

  1. 提供者更改,提供者也是可以访问集群的各个节点,如果有有一台挂了则切换到另一台
 
eureka:
  client:   #客户端注册进eureka服务端列表内
    service-url:
       defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/

在这里插入图片描述

Zookeeper与Eureka区别

区别就是: zookeeper使用的是CP, Eureka使用的是AP,Eureka在zookeeper的基础之上改良了zookeeper的确点

  1. zookeeper有选举机制,但是在选举的这段时间之内是不可以访问
  2. Eureka没有选举机制,如果一台挂了,切换到另一台, 注册和查询的时候也一样
  3. zookeeper可能导致整个注册服务瘫痪,但是Eureka不会.

什么是CAS?

  1. 一致性
  2. 高可用
  3. 容错性

Consistency 强一致性 Availability 高可用性 Partition tolerance 分区容错性

对于任何一个分布式系统都必须有的是容错性,因为数据传输的时候有网络延迟,阻塞,其他情况,所以我们必须容错性

对于CAS来说必须3者一定要符合两个条件.所以就是CP和AP
在这里插入图片描述

### Spring Cloud Netflix Eureka 客户端依赖与配置信息 Spring Cloud 提供了两种用于 Eureka 客户端的 Starter 依赖:`spring-cloud-starter-netflix-eureka-client` 和 `spring-cloud-starter-eureka-client`。以下是它们的区别和使用场景: #### 1. `spring-cloud-starter-netflix-eureka-client` 此依赖是官方推荐的 Eureka 客户端 Starter,适用于基于 Spring Cloud Netflix 的项目[^1]。它包含了所有必要的依赖项以支持 Eureka 客户端的功能。 - **主要功能**: - 注册服务到 Eureka Server。 -Eureka Server 获取其他服务实例的信息。 - 提供负载均衡机制。 - **Maven 依赖**: ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> ``` - **配置示例**: 在 `application.yml` 或 `application.properties` 文件中添加以下内容: ```yaml eureka: client: service-url: defaultZone: http://localhost:8761/eureka/ instance: prefer-ip-address: true ``` #### 2. `spring-cloud-starter-eureka-client` 该依赖是一个较旧的 Starter,通常出现在早期版本的 Spring Cloud 中[^2]。在最新版本中,它可能已被废弃或替换为 `spring-cloud-starter-netflix-eureka-client`。 - **主要区别**: - 这个依赖可能不包含最新的功能更新或修复。 - 推荐使用 `spring-cloud-starter-netflix-eureka-client` 替代此依赖。 - **Maven 依赖**(如果仍然可用): ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-client</artifactId> </dependency> ``` #### 3. 使用建议 对于现代 Spring Cloud 项目,应始终优先选择 `spring-cloud-starter-netflix-eureka-client`,因为它代表了最新的实现,并且更有可能获得持续的支持和更新[^3]。 ```java @SpringBootApplication @EnableEurekaClient public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } } ``` 上述代码片段展示了如何通过 `@EnableEurekaClient` 注解将应用程序注册为 Eureka 客户端。 ####
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王雪芬-ghqr-264962

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

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

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

打赏作者

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

抵扣说明:

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

余额充值