3.服务注册_服务发现

news2024/11/15 12:23:30

文章目录

  • 1.服务注册_服务发现
    • 1.1服务注册概念及图解介绍
    • 2.2 CAP理论
    • 2.3 常见的注册中心(了解)
    • 2.4 Eureka组件介绍
      • 2.4.1.搭建注册中心
      • 2.4.2服务注册
      • 2.4.3服务发现

大家好,我是晓星航。今天为大家带来的是 服务注册_服务发现 相关的讲解!😀

1.服务注册_服务发现

1.1服务注册概念及图解介绍

我们使用下图来举例,当我们游客去景区游玩的时候,景区电话发生变化,景区挨个去通知游客肯定不现实,这时景区就会告知114查号台,而游客打不通景区电话时,就会通过114来查找景区号码,从而实现每个游客都能够找到景区新的电话,景区也不需要挨个去通知游客变动的新号码。

image-20240530134803992

类似的,我们下图的服务注册功能图解和上面就很类似,此时的注册中心就相当于114查号台,服务消费者就是游客,服务提供者就是景区。

image-20240530135111328

注册中心名词解释:

  • 服务提供者(Server):一次业务中,被其它微服务调用的服务,也就是提供接口给其它微服务.
  • 服务消费者(Client):一次业务中,调用其它微服务的服务,也就是调用其它微服务提供的接口.
  • 服务注册中心(Registry):用于保存Server 的注册信息,当Server 节点发生变更时,Registry 会同步变更.服务与注册中心使用一定机制通信,如果注册中心与某服务长时间无法通信,就会注销该实例.

服务提供者和服务消费者是相对的。(可能在下一个场景中服务提供者就变为服务消费者了)

服务功能介绍:

  • 服务注册:服务提供者在启动时,向 Registry注册自身服务,并向 Registry定期发送心跳汇报存活状
  • 服务发现:服务消费者从注册中心查询服务提供者的地址,并通过该地址调用服务提供者的接口.服务发现的一个重要作用就是提供给服务消费者一个可用的服务列表.

2.2 CAP理论

CAP 理论是分布式系统中最基础,也是最关键的理论

image-20240530135832839

————————————————————————————————————————

C:一致性,此处的一致性,指的是强一致性

强一致性:主库和从库,不论何时,对外提供的服务都是一致的

弱一致性:随着时间的推移,最终达到了一致性

A: 可用性

对所有请求,都有响应,这个响应可能是错误的数据

P:分区容错性

在网络分区的情况下,系统依然可以对外提供服务

————————————————————————————————————————

image-20240530140009654

客户端向数据库集群发送了一个数据修改的请求,数据库集群需要向客户端进行响应

响应的时机分为以下两种:

1.主库接收到请求,并处理成功,此时数据还未完全同步到
从库随着时间的推移,主库和从库的数据,最终会达到一个一致性

2.主库接收到请求,并且所有从库数据同步成功时

因为P必须要保证,所以C和A只能二选一,我们的架构就是CP架构或者AP架构

以银行来举例:

image-20240530140446826

2.3 常见的注册中心(了解)

  1. Zookeeper

    Zookeeper的官方并没有说它是一个注册中心,但是国内Java体系,大部分的集群环境都是依赖Zookeeper来完成注册中心的功能.

  2. Eureka

    Eureka是Netflix开发的基于REST的服务发现框架,主要用于服务注册,管理,负载均衡和服务故障转移.官方声明在Eureka2.0版本停止维护,不建议使用.但是Eureka是SpringCloud服务注册/发现的默认实现,所以目前还是有很多公司在使用.

  3. Nacos

    Nacos是Spring Cloud Alibaba架构中重要的组件,除了服务注册,服务发现功能之外,Nacos还支持配置管理,流量管理,DNS,动态DNS等多种特性

2.4 Eureka组件介绍

新建总的Eureka项目,可以看到.xml文件中以及有eureka名字的id了

image-20240530142904879

引入项目大部分要使用的依赖

image-20240530143059889

2.4.1.搭建注册中心

1)创建项目

image-20240530145049617

2)pom加入Eureka 的依赖

image-20240530145209798

3)配置文件,增加Eureka相关的配置

image-20240530145247740

4)启动类,开启Eureka的功能

image-20240530145026266

启动后访问Eureka页面

image-20240530144912425

看到这个界面说明,我们Eureka服务中心已经搭建好了

image-20240530144844084

2.4.2服务注册

image-20240530152953568

1.加入Eureka的依赖

image-20240530145744996

2.修改配置信息

image-20240530151149383

3.启动, 测试

image-20240530152354454

2.4.3服务发现

image-20240530153011505

1.加入Eureka依赖

image-20240530151514598

2.修改配置信息

image-20240530151540317

3.修改远程调用的代码

image-20240530172715647

4.启动,测试

image-20240530152338275

感谢各位读者的阅读,本文章有任何错误都可以在评论区发表你们的意见,我会对文章进行改正的。如果本文章对你有帮助请动一动你们敏捷的小手点一点赞,你的每一次鼓励都是作者创作的动力哦!😘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2082017.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自然语言常见面试题及答案(41~60)

Reply:面试题 获取资料下载 文章目录 41. 谈谈在自然语言处理中,如何评估模型的性能?42. 什么是语言模型(Language Model)?它在自然语言处理中的作用是什么?43. 如何进行文本分类任务&#xff…

外卖点餐配送系统源码的模块化设计:快速开发与迭代的秘诀

在快速发展的外卖行业中,点餐配送系统的开发需要具备高效、可扩展、易维护的特点。模块化设计能够有效地解决这些问题,通过将系统功能分解为多个独立的模块,使得开发团队可以快速开发和迭代每个模块,减少耦合度,提高系…

SpringBoot-读取配置文件方式

前言 Spring Boot提供了多种灵活的方式来读取配置文件,以适应不同的开发和部署需求,SpringBoot启动的时候,读取配置文件的时候,首先获取的是file:/config/文件下的配置文件,也就是项目下config文件里面的配置文件&…

Leetcode 216.组合总和Ⅲ 回溯+剪枝 C++实现

Leetcode 216.组合总和Ⅲ 问题:找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字 1 到 9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 算…

【rancher镜像】修改rancher官方镜像仓库为私有仓库

背景 在使用rancher构建k8s时,由于中国区网络问题经常没法访问docker的官方仓库镜像docker.io,而rancher在构建k8s时,会默认从docker.io去下载镜像,由于网络原因,构建就会存在问题,镜像无法下载&#xff0…

Cxx primer-chap17-Specialized Library Facilities

tuple(元组)是一个模板,类似于pair,但是支持多个member,其主要用于将多个数据合并成一个对象:不像pair访问成员是固定的(first/second),访问tuple的成员需要使用函数模板get:bitset类比位运算方…

PDF秒变Word,你的文档编辑从此开挂!

在现代办公中,PDF和Word是我们最常接触的两种文件格式。PDF因其良好的兼容性和固定的格式而广受欢迎,但在编辑时却常常让人感到束手无策。而Word则因其强大的编辑功能成为文档处理的首选。 那么,如何将PDF转化为Word,让文档编辑更…

Linux多线程——线程的概念和控制

文章目录 线程的概念进程和线程对比 线程的控制创建线程与分配任务线程终止线程等待线程分离 pthread线程库 线程的概念 线程是我们经常听到的一个概念,他和进程有什么关系呢 从操作系统课本里我们可能听说过,线程是一个微缩版的进程,他拥有…

vue将二维码做成名片,并且生成图片保存

效果图 1. 安装html2canvas 首先,你需要在你的Vue项目中安装html2canvas。你可以通过npm或yarn来安装它: npm install html2canvas # 或者 yarn add html2canvas2.组件形式 2.1 创建组件 在你的Vue项目中,创建一个新的Vue组件&#x…

YOLO-World: Real-Time Open-Vocabulary Object Detection:实时开放词汇对象检测

YOLO系列探测器已成为高效实用的工具。然而,它们对预定义和训练的对象类别的依赖限制了它们在开放场景中的适用性。针对这一限制,我们引入了YOLO-World,这是一种创新方法,通过视觉语言建模和大规模数据集的预训练,增强…

深度学习入门-10

基于小土堆学习 池化层学习 池化层(Pooling Layer)是卷积神经网络(CNN)中的一种重要组件,它的主要作用是逐步减小数据的空间尺寸(即高度和宽度),以减少网络中参数的数量和计算量&a…

OpenCV绘图函数(2)绘制圆形函数circle()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 绘制一个圆。 cv::circle 函数用于绘制一个给定中心和半径的简单圆或填充圆。 函数原型 void cv::circle (InputOutputArray img,Point cen…

a探索Python中的DOM操作神器:pyquery

文章目录 探索Python中的DOM操作神器:pyquery背景:为什么选择pyquery?pyquery是什么?如何安装pyquery?五个简单的pyquery函数使用方法场景应用:pyquery在实际开发中常见bug及解决方案总结 探索Python中的DO…

游泳耳机哪个牌子好?四大爆款游泳耳机实测,优缺点秒懂!

在快节奏的现代生活中,游泳不仅是一种锻炼身体的方式,更是一种放松心情、享受宁静的休闲活动。而音乐,作为情感的载体,其在游泳过程中的陪伴,无疑能够让人更加沉浸于水下的宁静与自由。因此,一款性能优越、…

积鼎科技携手潍柴动力的喷嘴雾化模拟项目荣获2024年数字仿真卓越应用奖

近日,积鼎科技携手潍柴动力股份有限公司(以下简称“潍柴动力”),凭借创新的喷嘴雾化一体化模拟仿真项目,其成果价值赢得了行业专家的一致认可,成功荣获2024年度数字仿真科技奖卓越应用奖。潍柴动力作为中国…

唯创知音在线TTS方案简介及测试版操作说明

一:背景介绍 在物联网与智能设备日新月异的今天,音频传输与控制技术成为了提升用户体验的关键环节。WT2605C蓝牙音频更新方案,凭借其强大的功能集与高效的交互设计,为两轮电动车、电子锁、提示器、智能安防等多个领域带来了前所未…

OpenAI将禁止中国使用ChatGPT了,你知道吗?

由于政策、法律原因,2024年7月9日以后OpenAI将禁止中国使用ChatGPT 以及调用相关接口,这样的话国内就没法使用ChatGPT 开发应用了。 不过不要急,国内有很多类似ChatGPT 的AI大模型,比如:文心一言、通义千问、ChatGLM、…

计算机毕业设计选题推荐-救援物资管理系统-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

ACCESS 工具注入实战 凡诺靶场

简介 Access数据库注入攻击是一种常见的网络安全,通过注入SQL代码来获取未授权的数据访问权限。这种攻击利用了应用程序与数据库之间的交互漏洞,攻击者通过输入特定的SQL代码片段来操纵数据库查询,从而绕过应用程序的安全机制,获取…

如何把控调整Facebook广告预算的正确时机

对于如何调整Facebook广告预算,之前我们已经出过几篇文章了,关注我们的朋友应该已经有了一定的了解,但对于什么时候该调整预算,什么时候该暂停广告,有些投手可能还无法准确的把控这个时机,特别是有的新手&a…