当前位置: 首页 > article >正文

SpringCloud-Eureka初步使用

什么是REST是一组用于规范资源在网络中转移的表现形式软件架构设计风格.简单来说就是客户端和服务器之间的一种交互形式

什么是RESTful,满足了REST风格的接口或者程序,RESTful API是其中的接口,spring中提供了RestTemplate这个类,他强制执行了REST的规范,包括使用HTTP协议的状态描述符来决定请求的类型

RestTemplate的缺点,如下图,写死的ip和使用状态描述符来决定请求的类型对于大多数场景都是很不合适的.

为了解决ip改变的问题我们可以使用SpringCloud中的服务注册功能
2.1 什么是服务注册中心,类似于以前的电话接线员,打一个固定的电话,我们只用告诉接线员我们要打给谁,他就会把我们的电话线插到对方的电话机上
2.2 CAP理论
在一个分布式系统中最多满足一致性(Consistency),可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项


首先得说明这里的一致性是强一致性也就是说无论在何处访问服务返回的都是相同的数据,可用性是每一个请求都会收到非错误的响应,分区容错性是如果数据发生丢失,系统仍然能够正常运行
为什么只能同时满足其中两项呢
ap : 当数据丢失系统能够正常运行时,如果要保证高可用那么当数据不同步的时候请求打过来了,如果要保持一致性就要让请求等待数据进行同步,此时就会产生超时的可能
cp: 如上
ca: 在ap的基础上舍弃一部分请求,保证ca

EUREKA---服务注册中心


借助上面两张图来理解,当我们要出去玩的时候,先去咨询景点的电话,询问一下有没有票之类的.但是景点的电话可能是随时变动的,景点为了随时能让游客联系到自己,就把电话号码发给了一个官方组织也就是114站台,此时游客就可以先去114站台索要景点的电话,然后进行买票操作.结合到服务注册中心,这里的电话号码就是服务的IP和端口号等一些信息.值得注意的是服务的提供方和消费方是相对的,仅在一次远程调用中成立.当第二次调用时,就可能发生改变.

功能:服务注册中心有两个最核心的功能,服务注册和服务发现

服务注册:向注册中心提供自己的IP,端口号以及一些其他信息

服务发现:消费者从服务注册中心获取到对应服务的IP和端口号等信息

搭建Eureka

分为三个步骤,搭建Eureka服务注册中心,搭建Eureka消费者服务,搭建Eureka提供方服务

搭建Eureka服务注册中心

创建Eureka-Server项目

在pom文件中引入eureka-server依赖

增加配置

在启动类中开启服务注册功能

搭建Eureka消费者服务

在pom文件中加入eureka-client依赖

增加配置,这一步代表着服务注册到了注册中心

修改远程调用代码,这里使用了DiscoveryClient这个类的对象先根据服务名称获取实例列表,然后拼接URL

搭建Eureka提供方服务

在pom文件中加入eureka-client依赖

增加配置,这一步代表着服务注册到了注册中心

Eureka 和Zookeeper区别

Eureka 基于AP原则, 保证⾼可⽤, Zookeeper基于CP原则, 保证数据⼀致性.

Eureka各个节点都是平等的,而Zookeeper则区分leader和从节点


http://www.kler.cn/a/554295.html

相关文章:

  • 本地部署deepseek条件
  • mysql索引为什么用B+树不用,B树或者红黑树
  • Debezium:实时数据捕获与同步的利器
  • qt:常见标签操作,倒计时功能,进度条与日历
  • 为什么 MySQL 选择使用 B+ 树作为索引结构?MySQL 索引的最左前缀匹配原则是什么?MySQL 三层 B+ 树能存多少数据?
  • 矛盾(WEB)
  • 大白话实战Gateway
  • 栈与队列学习笔记
  • 【C++经典例题】大数相加:从基础实现到性能优化
  • 百度智能云AI收入增3倍,2025开源引流打赢生态战
  • 设计模式Python版 迭代器模式
  • VSCode自定义快捷键和添加自定义快捷键按键到状态栏
  • 网络安全中的机器学习
  • 如何修改Windows系统Ollama模型存储位置
  • React进阶之前端业务Hooks库(一)
  • 传入一个list map,寻找最大的key和对应的vlaue
  • 【PLL】应用:同步
  • vue3里组件的v-model:value与v-model的区别
  • MAC地址是如何在局域网中工作的?
  • 图数据库Neo4j面试内容整理-节点标签(Label)