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

Spring Clould 注册中心 - Eureka,Nacos

 视频地址:微服务(SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式)

 Eureka

微服务技术栈导学(P1、P2) 

 微服务涉及的的知识

认识微服务-服务架构演变(P3、P4)

 总结:

认识微服务-微服务技术对比(P5)

 邮储的物联网项目实用的是apollo作为配置中心,nocos作为注册中心,feign进行服务间调用

 

认识微服务-springClould(P6)

SpringClould 与SpringBoot的版本兼容

服务拆分-案例demo(P7)

 clould-demo:demo 提取码:cocf

服务拆分-服务远程调用(P8)

实现RestTemple也可以通过http进行服务间调用(非注册中心实现)

http远程调用是与语言无关的调用,只要知道对方的ip、端口、接口路径、请求参数即可

 Eureka注册中心-提供者与消费者(P9)

服务关系是相对的 

 总结:

 Eureka-eureka原理分析(P10) 

demo中的代码的http调用是以硬编码(写死)形式存在代码中,这样在多个提供者时候,不能每个提供地址都写在代码中

服务提供者会将服务薪资注册到注册中心中,当消费者需要调用服务者时候会拉取提供者的服务信息,当获取到之后就会在负载均衡的参与下远程调用服务者服务。服务者服务是以30秒的心跳进行注册的,所以不存在某服务突然宕机,调用不通情况 

 

 总结: 

 Eureka-搭建eureka服务(P11)

搭建步骤

 

1.引入: eureka不用指定版本信息

是因为在父工程中已经定义好了,点击去之后可以看到定义的版本信息

 

 2.编写启动类:添加自动装配的开关

3.添加配置文件

eureka自己也要注册到注册中心中,后面到集群式服务时候,要把地址的信息以集群形式做配置 

可以通过配置的地址,查看eureka的注册的服务

 Eureka-服务注册(P12)

1.在要注册的服务下的pom文件引入eureka的客户端依赖

 2.在配置文件中增加配置

要记的添加该服务的服务名称

 其他服务做注册也是相同操作。也要记得增加该服务的服务名称 

可以模拟多实例部署 

 总结: 

 Eureka-服务发现(P13)

1.以服务名称代替硬编码的IP地址(见P8)

2.增加负载均衡注解

 总结:

Nacos

  Nacos-认识和安装(P17)

Nacos是阿里巴巴的产品

nacos不仅可以进行服务的注册和发现还可以分布式配置

nacos不想eureka 通过地址直接访问。本地启动项目,或者本地测试时候要先安装nacos,启动后才可以注册服务

nacos安装:nacos安装指南 提取码:qxzt

1.下载nacos

2.解压。nacos的端口号默认的是8848,如果想要修改,可以在nacos 》conf 》application.properties中修改(server.port)

3.启动。(单机模式,还有集群模式)

//windoes命令启动
startup.cmd -m standalone

启动成功后会有地址提示,点击通过nacos: nacos进行登录 

 Nacos-快速入门(P18)

Eureka或Nacos作为注册中心时,注册服务是不需要变化的,变化的是基于两者配置的修改

   总结:

 Nacos-服务多级存储模型(P19)

nacos在服务和实例之间又引入了集群的概念,假如某个集群出现了问题,可以再访问别的集群 

但是同一集群下要优先访问同集群的服务实例(上海的orderService访问上海的userService) 

局域网内的访问距离端访问快,不同地区的集群,访问时间长。nacos引入集群概念也是避免不同的集群相互访问的情况。

 

 

    总结:

 Nacos-NacosRule负载均衡(P20)

根据上一节配置好。 

 需要在orderService也要配置好集群,但是配置好后,并不能直接可以用,还要配置负载均衡规则NacosRule

配置好后服务优先访问配置的集群 ,然后随机访问本集群下的服务实例。集群没有服务时候就会调用别的集群

   总结:

 Nacos-服务实例的权重设置(P21)

有时需要配置不同的权重,对不同的服务实例进行访问 。可以通过配置实现

 

 应用场景:如果要对某一个服务进行版本升级,可以对此服务权重配置成0,当升级好后,再将权重调的较小,可以验证后再将权重调高,优雅的实现升级。

  总结:

 Nacos-环境隔离(P22)

  namespace 》Group 》Service/Data 》集群 》实例 

 配置

 

 

 

namespace存在的意义可以是根据不同的环境进行隔离(开发环境,测试环境等)。不同namespace之间的服务是不可见的。 

 Nacos-Nacos和Eureka的对比(P23)

 nacos会把拉取的服务以缓存的形式放到服务列表中,nacos也会通过主动推送的形式提醒消费者更改服务列表的缓存。nacos还可以配置成非临时实例,这种配置,会让nacos主动询问服务提供者的状态,并且在某个服务提供者实例挂掉后也不会把它从服务列表中踢出,而是通过主动推送消息的方式告诉服务消费者更新缓存列表,不去调用挂掉的服务实例。

临时实例和非临时实例的显示

配置

  总结:  推荐使用临时实例,非临时实例的主动检测会加大服务器的压力

相关文章:

Spring Clould 注册中心 - Eureka,Nacos

视频地址:微服务(SpringCloudRabbitMQDockerRedis搜索分布式) Eureka 微服务技术栈导学(P1、P2) 微服务涉及的的知识 认识微服务-服务架构演变(P3、P4) 总结: 认识微服务-微服务技…...

使用appuploader工具发布证书和描述性文件教程

使用APPuploader工具发布证书和描述性文件教程 之前用AppCan平台开发了一个应用,平台可以同时生成安卓版和苹果版,想着也把这应用上架到App Store试试,于是找同学借了个苹果开发者账号,但没那么简单,还要用到Mac电脑的…...

【面试八股文】每日一题:谈谈你对IO的理解

谈谈你对IO的理解 每日一题-Java核心-谈谈你对对IO的理解【面试八股文】 1.Java基础知识 Java IO(Input/Output)是Java编程语言中用于处理输入和输出的一组类和接口。它提供了一种在Java程序中读取和写入数据的方法。 Java IO包括两个主要的部分&#x…...

200. 岛屿数量

思路:遍历整个矩阵,对每个格子执行以下操作: 如果格子是陆地(‘1’),则将其标记为已访问(‘0’),并从当前位置开始进行深度优先搜索,将与当前格子相邻的陆地都…...

【LeetCode】581.最短无序连续子数组

题目 给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 请你找出符合题意的 最短 子数组,并输出它的长度。 示例 1: 输入:nums [2,6…...

曲面(弧面、柱面)展平(拉直)瓶子标签识别ocr

瓶子或者柱面在做字符识别的时候由于变形,识别效果是很不好的 或者是检测瓶子表面缺陷的时候效果也没有展平的好 下面介绍两个项目,关于曲面(弧面、柱面)展平(拉直) 项目一:通过识别曲面的6个点…...

知识继承概述

文章目录 知识继承第一章 知识继承概述1.背景介绍第一页 背景第二页 大模型训练成本示例第三页 知识继承的动机 2.知识继承的主要方法 第二章 基于知识蒸馏的知识继承预页 方法概览 1.知识蒸馏概述第一页 知识蒸馏概述第二页 知识蒸馏第三页 什么是知识第四页 知识蒸馏的核心目…...

深度剖析数据在内存中的存储

目录 一、数据类型介绍 类型的基本归类 1.整形家族 2.浮点数家族 3.构造类型 (自定义类型) 4.指针类型 5.空类型 二、整形在内存中的存储 1.原码、反码、补码 1.1原码 1.2反码 1.3补码 1.4计算规则 2 .大小端介绍 三、浮点型在内存中的存…...

【ARM Linux 系统稳定性分析入门及渐进10 -- GDB 初始化脚本介绍及使用】

文章目录 gdb 脚本介绍gdb 初始化脚本使用启动 gdb 的时候自动执行脚本gdb运行期间执行命令脚本 gdb 脚本介绍 GDB脚本是一种使用GDB命令语言编写的脚本,可以用来自动化一些常见的调试任务。这些脚本可以直接在GDB中运行,也可以通过GDB的-x参数或source…...

AQS源码解读

文章目录 前言一、AQS是什么?二、解读重点属性statehead、tail 同步变量竞争acquire 同步变量释放 总结 前言 AQS是AbstractQueuedSynchronizer的缩写,也是大神Doug Lea的得意之作。今天我们来进行尽量简化的分析和理解性的代码阅读。 一、AQS是什么&am…...

QT实现天气预报

1. MainWindow类设计的成员变量和方法 public: MainWindow(QWidget* parent nullptr); ~MainWindow(); protected: 形成文本菜单来用来右键关闭窗口 void contextMenuEvent(QContextMenuEvent* event); 鼠标被点击之后此事件被调用 void mousePressEvent(QMouseEv…...

【马蹄集】第二十三周——进位制专题

进位制专题 目录 MT2186 二进制?不同!MT2187 excel的烦恼MT2188 单条件和MT2189 三进制计算机1MT2190 三进制计算机2 MT2186 二进制?不同! 难度:黄金    时间限制:1秒    占用内存:128M 题目…...

[足式机器人]Part3 变分法Ch01-1 数学预备知识——【读书笔记】

本文仅供学习使用 本文参考: 《变分法基础-第三版》老大中 《变分学讲义》张恭庆 《Calculus of Variations of Optimal Control Theory》-变分法和最优控制论-Daneil Liberzon Ch01-1 数学基础-预备知识1 1 数学基础-预备知识1.1 泰勒公式1.1.1 一元函数的泰勒公式…...

计算机网络----CRC冗余码的运算

目录 1. 冗余码的介绍及原理2. CRC检验编码的例子3. 小练习 1. 冗余码的介绍及原理 冗余码是用于在数据链路层的通信链路和传输数据过程中可能会出错的一种检错编码方法(检错码)。原理:发送发把数据划分为组,设每组K个比特&#…...

将Nginx源码数组结构(ngx_array.c)和内存池代码单独编译运行,附代码

在上面一篇的基础上把Nginx源码数组结构也摘录下来,也增加了测试代码,编译运行。 https://blog.csdn.net/katerdaisy/article/details/132358883 《将nginx内存池代码单独编译运行,了解nginx内存池工作原理,附代码》 核心代码&…...

java forEach中不能使用break和continue的原因

1.首先了解break和continue的使用范围和作用 1.1使用范围 break适用范围:只能用于switch或者是循环语句中。当然可以用于增强for循环。 continue适用范围: 用于循环语句中。 1.2作用 break: 1. break用于switch语句的作用是结束一个switch语句。 2. break用于循…...

[杂项]水浒英雄谱系列电影列表

年份 片名 导演 主演 2006-01-01 母夜叉孙二娘 张建亚 周海媚 、 莫少聪 、 于承惠 [1] 2008-01-01 碧瑶霜迷案 黄祖权 陈龙 、 陈德容 、 翁家明 [7] 2008-05-09 青面兽杨志 张建亚 吕良伟 、 计春华 、 孟广美 [2] 2008-05-09 扈三娘与矮脚虎王英 张建亚 曾宝仪 、 郭德纲 、…...

6.RocketMQ之索引文件ConsumeQueue

本文着重分析为consumequeue/topic/queueId目录下的索引文件。 1.ConsumeQueueStore public class ConsumeQueueStore {protected final ConcurrentMap<String>, ConcurrentMap<Integer>, ConsumeQueueInterface>> consumeQueueTable;public boolean load(…...

【C++学习手札】一文带你认识C++虚继承​​

食用指南&#xff1a;本文在有C基础的情况下食用更佳 &#x1f340;本文前置知识&#xff1a;C虚函数&#xff08;很重要&#xff0c;内部剖析&#xff09; ♈️今日夜电波&#xff1a;僕らのつづき—柊優花 1:06 ━━━━━━️&#x1f49f;──────── 3:51 …...

神经网络基础-神经网络补充概念-63-残差网络

概念 残差网络&#xff08;Residual Network&#xff0c;ResNet&#xff09;是一种深度卷积神经网络结构&#xff0c;旨在解决深层网络训练中的梯度消失和梯度爆炸问题&#xff0c;以及帮助训练非常深的网络。ResNet 在2015年被提出&#xff0c;其核心思想是引入了"残差块…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分&#xff1a;派生类构造函数与析构函数 当创建一个派生类对象时&#xff0c;基类成员是如何初始化的&#xff1f; 1.当派生类对象创建的时候&#xff0c;基类成员的初始化顺序 …...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

加密通信 + 行为分析:运营商行业安全防御体系重构

在数字经济蓬勃发展的时代&#xff0c;运营商作为信息通信网络的核心枢纽&#xff0c;承载着海量用户数据与关键业务传输&#xff0c;其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级&#xff0c;传统安全防护体系逐渐暴露出局限性&a…...

【记录坑点问题】IDEA运行:maven-resources-production:XX: OOM: Java heap space

问题&#xff1a;IDEA出现maven-resources-production:operation-service: java.lang.OutOfMemoryError: Java heap space 解决方案&#xff1a;将编译的堆内存增加一点 位置&#xff1a;设置setting-》构建菜单build-》编译器Complier...