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

3.服务注册_服务发现

文章目录

  • 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

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 口语笔记——非谓语动词
  • 【代码随想录训练营第42期 Day38打卡 - 动态规划Part6 - LeetCode 322. 零钱兑换 279.完全平方数 139.单词拆分
  • MyBatis-Plus联表查询(mybatis-plus-join)
  • 1.ftp简介
  • C++程序调用SetWindowsHookEx全局拦截键盘按键消息和窗口消息的Hook实例分享
  • 相机掉帧采集速度慢怎么办巨型帧9014
  • [随便学学]在doker服务器中实现ssh免密登陆
  • 力扣经典题目之->相同的树(递归判断两颗二叉树是否相同)
  • SpringBoot 一文复习知识点概览
  • 一个干净的python项目(没连数据库啥的)
  • 华为 2024 届校园招聘-硬件通⽤/单板开发——第一套(部分题目分享,完整版带答案,共十套)
  • 游泳耳机哪个牌子好?四大爆款游泳耳机实测,优缺点秒懂!
  • flutter之image_picker上传图片
  • Memcached:单节点、集群案例;概念、工作原理
  • ubuntu 20.04系统安装pytorch
  • 【翻译】babel对TC39装饰器草案的实现
  • go语言学习初探(一)
  • Javascript Math对象和Date对象常用方法详解
  • JavaScript异步流程控制的前世今生
  • vue学习系列(二)vue-cli
  • 服务器之间,相同帐号,实现免密钥登录
  • 构建工具 - 收藏集 - 掘金
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 数据结构java版之冒泡排序及优化
  • 推荐一个React的管理后台框架
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 微信小程序--------语音识别(前端自己也能玩)
  • 无服务器化是企业 IT 架构的未来吗?
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​io --- 处理流的核心工具​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • $.ajax中的eval及dataType
  • (0)Nginx 功能特性
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (七)Appdesigner-初步入门及常用组件的使用方法说明
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (四) 虚拟摄像头vivi体验
  • (一)SpringBoot3---尚硅谷总结
  • (一)UDP基本编程步骤
  • (原)Matlab的svmtrain和svmclassify
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)C#调用WebService 基础
  • (转)JAVA中的堆栈
  • (转)scrum常见工具列表
  • (转)为C# Windows服务添加安装程序
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • (自用)网络编程
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .htaccess配置常用技巧
  • .NET 直连SAP HANA数据库