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

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和从节点

相关文章:

SpringCloud-Eureka初步使用

什么是REST是一组用于规范资源在网络中转移的表现形式软件架构设计风格.简单来说就是客户端和服务器之间的一种交互形式 什么是RESTful,满足了REST风格的接口或者程序,RESTful API是其中的接口,spring中提供了RestTemplate这个类,他强制执行了REST的规范,包括使用HTTP协议的状…...

【gitlab】认识 持续集成与部署

持续集成(CI)与持续部署(CD) 1. 什么是持续集成(CI)? 持续集成(Continuous Integration,CI)是一种软件开发实践,强调开发人员频繁地将代码提交到…...

机器学习,我们主要学习什么?

机器学习的发展历程 机器学习的发展历程,大致分为以下几个阶段: 1. 起源与早期探索(20世纪40年代-60年代) 1949年:Hebb提出了基于神经心理学的学习机制,开启了机器学习的先河1950年代:机器学习的…...

React 高阶组件的优缺点

React 高阶组件的优缺点 优点 1. 代码复用性高 公共逻辑封装:当多个组件需要实现相同的功能或逻辑时,高阶组件可以将这些逻辑封装起来,避免代码重复。例如,多个组件都需要在挂载时进行数据获取操作,就可以创建一个数…...

算法1-4 数楼梯

题目描述 楼梯有 N 阶,上楼可以一步上一阶,也可以一步上二阶。 编一个程序,计算共有多少种不同的走法。 输入格式 一个数字,楼梯数。 输出格式 输出走的方式总数。 输入输出样例 输入 #1 4 输出 #1 5 说明/提示 对于…...

我的世界1.20.1forge开发教程(6)——自定义燃料,熔炼规则、配方

配方篇 在Minecraft中,配方代码是用于定义合成配方的一种数据格式。在开发者的角度,配方代码通常以JSON格式编写,包含了合成所需的原料、合成产物以及合成方式等信息。 在1.12版本之前,开发者需要通过修改游戏的源代码来添加自定义配方。这通常需要对游戏的Java代码进行修…...

推荐几款SpringBoot项目手脚架

作为程序员、一般需要搭建项目手脚架时、都会去Gitee或Github上去找、但是由于Github在国内并不稳定、所以就只能去Gitee去上查找。 不同语言检索方式不一样、但是也类似。 Gitee WEB应用开发 / 后台管理框架 芋道源码 ELADMIN 后台管理系统 一个基于 Spring Boot 2.7.1…...

01 1个路由器+两个子网

前言 这是最近一个朋友的 ensp 相关的问题, 这里来大致了解一下 ensp, 计算机网络拓扑 相关基础知识 这里一系列文章, 主要是参照了这位博主的 ensp 专栏 这里 我只是做了一个记录, 自己实际操作了一遍, 增强了一些 自己的理解 当然 这里仅仅是一个 简单的示例, 实际场景…...

buu-[OGeek2019]babyrop-好久不见41

打开 /dev/urandom 设备文件,读取4个字节到 buf 中。 将 buf 传递给 sub_804871F() 函数,该函数似乎对输入进行某种处理并返回一个值 v2。 最后,将 v2 传递给 sub_80487D0() 函数。 这个函数首先将 a1 转换为字符串 s。 然后从标准输入读…...

PV和UV的区别

文章目录 1. UV(Unique Visitor / 独立访客):多少人来过2. PV(Page View / 页面浏览量):访问了多少次3. 对比 UV 和 PV4. 示例场景5. 扩展指标 UV 侧重用户规模,反映“多少人来过”。PV 侧重访问…...

DeepSeek掘金——调用DeepSeek API接口 实现智能数据挖掘与分析

调用DeepSeek API接口:实现智能数据挖掘与分析 在当今数据驱动的时代,企业和开发者越来越依赖高效的数据挖掘与分析工具来获取有价值的洞察。DeepSeek作为一款先进的智能数据挖掘平台,提供了强大的API接口,帮助用户轻松集成其功能到自己的应用中。本文将详细介绍如何调用D…...

JavaScript变量的作用域介绍

JavaScript变量的作用域介绍 JavaScript 变量的作用域决定了变量在代码中的可访问性。 var 是 JavaScript 中最早用于声明变量的关键字,它函数作用域或全局作用域。 let 关键字,具有块级作用域、全局作用域。 const关键字,具有块级作用域…...

ollama如何安全卸载,解决Ollama unins000.msg is missing

春节后在本地电脑安装了Ollama的客户端,每次开机自启,影响开机速度,而且本地的模型不如联网的回答效果好,果断选择了卸载,但是今天卸载发现提示下方的错误。根据此文章可以解决当前的问题。 根据此文章可以解决当前的…...

2.5GE 超千兆SFP光模块型号(常用光模块收发光功率范围)

SFP 2.5GE超千兆光模,参考表格: 型号类型工作波长 (nm)发光功率 (dBm)光功率灵敏度 (dBm)传输距离 (m)SFP-25G-SR多模光纤850-10.0 to -3.0-18.0300 (OM3) / 400 (OM4)SFP-25G-LR单模光纤1310-5.0 to 1.0-24.010,000SFP-25G-ER单模光纤1550-1.0 to 4.0…...

Ubuntu24.04安装不同版本的pip

目录 1.安装pip 2. 为不同的Python版本安装pip 3. 安装python库 1.安装pip 一般情况下,Ubuntu系统默认提供Python 3,但可能没有安装pip。可以通过以下命令安装pip sudo apt update sudo apt install python3-pip 安装完成后,可以通过以下…...

fastadmin实现海报批量生成、邮件批量发送

记录一个海报批量生成、邮件批量发送功能开发,业务场景如下: 国外客户做观展预登记,工作人员通过后台,批量给这些观众生成入场证件并发送到观众登记的邮箱,以方便观众入场时快速进场。证件信息包含入场二维码、姓名&a…...

拆解微软CEO纳德拉战略蓝图:AI、量子计算、游戏革命如何改写未来规则!

2025年2月19日 知名博主Dwarkesh Patel对话微软CEO萨蒂亚纳德拉 在最新访谈释放重磅信号:AI将掀起工业革命级增长,量子计算突破引爆材料科学革命,游戏引擎进化为世界模拟器。 整个视频梳理出几大核心观点,揭示科技巨头的未来十年…...

深度学习(2)-深度学习关键网络架构

关键网络架构 深度学习有4种类型的网络架构:密集连接网络、卷积神经网络、循环神经网络和Transformer。每种类型的模型都是针对特定的输入模式,网络架构包含了关于数据结构的假设,即模型搜索的假设空间。某种架构能否解决某个问题&#xff0…...

MyBatis中的日志和映射器说明

1.MyBatis中的日志 1.1 什么是日志 ​ 在我们编写应用的时候,有一些信息需要及时查看,查看的时候有时需要输出到控制台,有时需要输出到文件。MyBatis也需要日志,一般情况下,使用log4j进行日志管理。 1.2 在MyBatis中…...

pip下载速度变快可以用清华镜像源

pip下载速度变快可以用清华镜像源 https://pypi.tuna.tsinghua.edu.cn/simplepip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple参考清华镜像源地址(国内下载python包必备地址)_清华源镜像地址-CSDN博客...

骶骨神经

骶骨肿瘤手术后遗症是什么_39健康网_癌症 [健康之路]匠心仁术(七) 勇闯禁区 骶骨肿瘤切除术...

LeetCode刷题---二分查找---441

排列硬币 441. 排列硬币 - 力扣(LeetCode) 题目 你总共有 n 枚硬币,并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。 给你一个数字 n ,计算…...

DeepSeek 提示词:定义、作用、分类与设计原则

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...

最短路的方案数+打印路径

这个题目整合了我们最短路用到的很多技能 如何统计最短路径的方案数呢,这就需要我们另外开一个全局数组 如何打印路径呢,还是开一个全局的数组,记录前一个是啥就行 简单的来说,要增加啥新的功能,直接多开全局变量就行…...

Python爬虫系列教程之第十三篇:构建高可用爬虫系统 —— 混合架构与自动化监控

大家好,欢迎继续关注本系列爬虫教程!随着爬虫项目规模的不断扩大和业务需求的提升,单一技术方案往往难以满足实际应用中对高可用性、稳定性和自动化监控的要求。如何构建一个既能应对多种反爬策略,又能在异常情况下自动恢复、实时…...

Python学习心得浅拷贝与深拷贝

一、变量的赋值、浅拷贝以及深拷贝的定义: 1.变量的赋值:只是形成两个变量,实际上还是指向同一个对象 2.浅拷贝:拷贝时,对象包含的子对象内容不拷贝,因此,源对象与拷贝对象会引用同一个子对象…...

cs106x-lecture13(Autumn 2017)-SPL实现

打卡cs106x(Autumn 2017)-lecture13 (以下皆使用SPL实现,非STL库,后续课程结束会使用STL实现) 1、v1v2p1p2 The following code C uses pointers and produces two lines of output. What is the output? int v1 10; int v2 25; int* p1 &v1…...

3D模型在线转换工具:轻松实现3DM转OBJ

3D模型在线转换是一款功能强大的在线工具,支持多种3D模型格式的在线预览和互转。无论是工业设计、建筑设计,还是数字艺术领域,这款工具都能满足您的需求。 3DM与OBJ格式简介 3DM格式:3DM是一种广泛应用于三维建模的文件格式&…...

AI IDE 新势力 Trae 功能深度解析:Builder与Chat模式的应用场景与市场竞争力分析

文章目录 一、前言二、简介2.1 Trae 的背景与定位 三、Trae 核心功能3.1 Builder模式介绍3.2 Chat模式介绍 四、Trae 实际应用案例4.1 Trae 安装与配置4.1.1 Trae 安装与配置4.1.2 Trae 设置 4.2 实战案例分享4.2.1 Trae Builder模式:从0到1生成对接 DeepSeek 的聊天…...

天 锐 蓝盾终端安全管理系统:办公U盘拷贝使用管控限制

天 锐 蓝盾终端安全管理系统以终端安全为基石,深度融合安全、管理与维护三大要素,通过对桌面终端系统的精准把控,助力企业用户构筑起更为安全、稳固且可靠的网络运行环境。它实现了管理的标准化,有效破解终端安全管理难题&#xf…...

ADCP处理软件CODAS安装 (conda方法安装)

夏威夷大学出品的ADCP处理软件,我主要用来查看船载ADCP流速数据。 1. 先安装conda(miniconda就可以),这里不再赘述,安装完可以添加conda库和取消登录自动激活conda conda config --add channels conda-forge # 添加库 conda config --set a…...

JUC并发—9.并发安全集合三

大纲 1.并发安全的数组列表CopyOnWriteArrayList 2.并发安全的链表队列ConcurrentLinkedQueue 3.并发编程中的阻塞队列概述 4.JUC的各种阻塞队列介绍 5.LinkedBlockingQueue的具体实现原理 6.基于两个队列实现的集群同步机制 1.并发安全的数组列表CopyOnWriteArrayList …...

后端Java Stream数据流的使用=>代替for循环

API讲解 对比 示例代码对比 for循环遍历 package cn.ryanfan.platformback.service.impl;import cn.ryanfan.platformback.entity.Algorithm; import cn.ryanfan.platformback.entity.AlgorithmCategory; import cn.ryanfan.platformback.entity.DTO.AlgorithmInfoDTO; im…...

强化学习-GAE方法

2016-ICLR-HIGH-DIMENSIONAL CONTINUOUS CONTROL USING GENERALIZED ADVANTAGE ESTIMATION 解决问题 强化学习的目标为最大化策略的预期总回报,其中一个主要困难为 行为对reward的影响存在一个长时间的延迟(credit assignment problem)。价…...

51c大模型~合集71

我自己的原文哦~ https://blog.51cto.com/whaosoft/12260659 #大模型推理加速技术的学习路线 EfficientQAT 可以在 41 小时内在单个 A100-80GB GPU 上完成对 2-bit Llama-2-70B 模型的量化感知训练。与全精度模型相比,精度仅下降了不到 3%(69.48 v…...

PyTorch-基础(CUDA、Dataset、transforms、卷积神经网络、VGG16)

PyTorch-基础 环境准备 CUDA Toolkit安装(核显跳过此步骤) CUDA Toolkit是NVIDIA的开发工具,里面提供了各种工具、如编译器、调试器和库 首先通过NVIDIA控制面板查看本机显卡驱动对应的CUDA版本,如何去下载对应版本的Toolkit工…...

Linux(centos)系统安装部署MySQL8.0数据库(GLIBC版本)

安装前检查服务器glibc版本,下载对应版本包 rpm -qa | grep glibc mysql安装包及依赖包已整理好,下载地址:https://pan.quark.cn/s/3137acc814c0,下载即可安装 一、下载MySQL mysql安装包及依赖包已整理好,下载地址…...

Transformer解析——(四)Decoder

本系列已完结,全部文章地址为: Transformer解析——(一)概述-CSDN博客 Transformer解析——(二)Attention注意力机制-CSDN博客 Transformer解析——(三)Encoder-CSDN博客 Transforme…...

TypeScript 中 type 和 interface 深度对比分析

一、核心概念对比 特性interfacetype本质声明式类型契约(面向对象范式)类型别名(函数式编程思维)可扩展性支持声明合并(多次声明自动合并)不可合并基础类型支持只能描述对象/函数类型可描述任意类型&#…...

unplugin-vue-components,unplugin-auto-import,借用ai去学习

好的,我现在需要帮助用户理解他们提供的这段Vite配置代码。用户之前已经询问过关于ElementPlusResolver的导入问题,现在他们展示了在vite.config.ts中使用该解析器的具体配置。我需要逐步分析这段代码,并解释每个部分的作用。 首先&#xff…...

Nginx学习笔记:常用命令端口占用报错解决Nginx核心配置文件解读

Nginx 1. 基础命令1.1 重新加载systemd配置1.2 停止Nginx服务1.3 启动Nginx服务1.4 重启Nginx服务1.5 查看Nginx服务状态1.6 测试配置和重载Nginx 2. 额外命令2.1 启用开机自启2.2 禁用开机自启2.3 强制关闭所有Nginx进程 3. Nginx端口占用解决方案3.1 查找占用端口8090的进程3…...

C++ ——继承

体现的是代码复用的思想 1、子类继承父类,子类就拥有了父类的特性(成员方法和成员属性) 2、已存在的类被称为“基类”或者“父类”或者“超类”;新创建的类被称为“派生类”或者“子类” 注意: (1&#…...

正则表达式常用记录

1. 定义 正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),它是一种文本模式,同时也是计算机科学的一个概念,其中包括普通字符(例如&#xff0c…...

redis的应用,缓存,分布式锁

1.应用 1.1可以用作缓存 作用:提交数据的查询效率,减少对数据库的访问频率 什么数据适合放入缓存 1.查询频率高,修改频率低 2.对安全系数比较低 如何实现 Service public class DeptServer {Autowiredprivate DeptMapper deptMapper;Auto…...

qt5实现表盘的旋转效果,通过提升QLabel类

因为工作需要,需要实现温度的表盘展示效果 实现思路: 通过提示声QLabel控价类,实现报盘的旋转和展示效果 1. 编写一个QLabel的类MyQLabel,实现两个方法 1. void paintEvent(QPaintEvent *event); //重绘函数 2. void valueChanged(int va…...

Flutter项目中设置安卓启动页

AndroidManifest.xml 设置 android:theme“style/LaunchTheme” <applicationandroid:label"string/app_name"android:name"${applicationName}"android:icon"mipmap/ic_launcher"android:roundIcon"mipmap/ic_launcher"android:t…...

人工智能之目标追踪DeepSort源码解读(yolov5目标检测,代价矩阵,余弦相似度,马氏距离,匹配与预测更新)

要想做好目标追踪,须做好目标检测,所以这里就是基于yolov5检测基础上进行DeepSort,叫它为Yolov5_DeepSort。整体思路是先检测再追踪,基于检测结果进行预测与匹配。 一.参数与演示 这里用到的是coco预训练人的数据集&#xff1a; 二.针对检测结果初始化track 对每一帧数据都输出…...

C语言之枚举类型

目录 前言 一、enum&#xff08;枚举 总结 前言 在C语言中&#xff0c;枚举类型是一种用户自定义的数据类型&#xff0c;用于定义一组具名的常量集合。枚举类型可以提高代码的可读性和可维护性&#xff0c;同时也能够帮助程序员避免使用魔法数字。通过枚举类型&#xff0c;我们…...

【Python爬虫(12)】正则表达式:Python爬虫的进阶利刃

【Python爬虫】专栏简介&#xff1a;本专栏是 Python 爬虫领域的集大成之作&#xff0c;共 100 章节。从 Python 基础语法、爬虫入门知识讲起&#xff0c;深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑&#xff0c;覆盖网页、图片、音频等各类数据爬取&#xff…...

推荐一款AI大模型托管平台-OpenWebUI

推荐一款AI大模型托管平台-OpenWebUI 1. OpenWebUI 1. OpenWebUI什么? 官网地址&#xff1a;https://openwebui.com/ GitHub地址&#xff1a; https://github.com/open-webui/open-webui Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台&#xff0c;旨在完全离…...