黑马微服务实用篇知识梳理

1、微服务治理

        1.1服务注册与发现Eureka和Nacos

                a、nacos和eureka,二者都支持服务注册与发现,但nacos还包括了动态配置管理、服务健康监测、动态路由等功能,是更全面的服务管理平台

                b、eureka需要独立部署为服务并运行,需要自行搭建服务集群来实现高可用。nacos提供了单机模式和集群模式的部署方式。

                综上所述,eureka适用于简单的场景,nacos更适合复杂的微服务架构中。

        1.2远程调用Feign

                Feign是一种声明式、模板化的HTTP客户端,它可以使HTTP客户端调用变得更加简单和优雅。可以与Eureka、Ribbon等组件集成,用于实现微服务架构中的服务之间的通信

                总的来说,Feign可以帮助开发者快速、简单地实现服务之间的通信,减少了繁琐的HTTP请求代码编写

                ps:Ribbon在微服务架构中扮演着非常重要的角色,可以帮助应用程序实现对服务实例的负载均衡和故障转移,提高了系统的稳定性和可用性。

        1.3统一网关Gateway

        网关有以下五个作用:

       a,身份认证和权限校验   b,服务路由、负载均衡   c,请求限流

        技术实现:gateway,zuul

        Zuul是基于Servlet的实现,属于阻塞式编程。而SpringCloudGateway则是基于Spring5中提供的WebFlux,属于响应式编程的实现,具备更好的性能。

        ps:阻塞式编程是传统的编程模式,程序进行IO操作时会阻塞当前线程的执行,期间新城无法执行其他任务

                响应式编程是更现代和高效的编程范式,基于异步和事件驱动,允许程序中的不同部分相互通信和协作,无需等待其他操作完成

2、Docker

        2.1docker原理

    Docker的工作原理可以简单描述为:
        1. Docker利用容器技术,把应用程序及其依赖项打包成独立的容器,在隔离的环境中运行。
        2. Docker镜像是容器的模板,包含应用程序所需的所有文件和依赖项。
        3. Docker Daemon是后台服务,管理容器、镜像等,Docker客户端与Daemon通信进行操作。
        4. Docker Registry是存储镜像的仓库,Docker Hub是公共的镜像仓库。
        5. Docker网络实现容器之间的通信和与外部网络的连接。

        2.2docker使用

        安装yum工具-设置镜像源-安装docker

        1、先pull从镜像站拉取镜像,或者自己导入

        2、通过镜像创建容器并设置挂载数据卷的参数、端口等

        详情见:黑马Docker从安装到容器命令-CSDN博客

        2.3dockerfile

        1.Dockerfile的本质是一个文件,通过指令描述镜像的构建过程
        2.Dockerfile的第一行必须是FROM,从一个基础镜像来构建
        3.基础镜像可以是基本操作系统,如Ubuntu。也可以是其他人制作好的镜像,例如:java:8-alpine

        

        2.4docker-compose

        其作用在于帮助我们快速部署分布式应用,无需一个个微服务去构建镜像和部署。

        通过定义一个docker-compose.yml文件,来一键启动、停止、重建应用的所有服务

                        

3、异步通信

        3.1同步和异步

                同步和异步是描述程序执行流程中的两种不同方式:

        1. 同步:同步操作指的是程序按照顺序执行,一步一步地完成任务。在同步操作中,当某一个任务开始执行时,程序会等待该任务完成后才能继续执行下一个任务。同步操作的优点是简单直观,易于理解和调试,但可能会导致程序在处理一些耗时操作时出现阻塞,影响整体性能。

        2. 异步:异步操作指的是程序在执行过程中,可以同时执行多个任务,不需要等待某个任务完成就可以继续执行其他任务。在异步操作中,任务的执行顺序不固定,可以根据任务的完成情况来确定后续操作。异步操作的优点是可以提高程序的性能和响应速度,特别适用于处理一些耗时的I/O操作,如网络请求、数据库查询等。

        总的来说,同步是按照固定顺序逐步执行任务,而异步是并发执行多个任务,任务的完成顺序可以不固定。在实际编程中,可以根据任务的性质和需求选择合适的同步或异步操作方式。

        3.2MQ技术选型

        常见的消息队列技术包括 RabbitMQ、Apache Kafka、ActiveMQ、Redis、RocketMQ 等,它们各有特点和适用场景。

        在做技术选型时,需要明确具体的性能区别以及优劣,以此确定。

        3.3SpringAMQP

        SpringAMQP是Spring框架对消息队列的支持库,帮助开发人员更轻松地在Spring应用程序中实现消息传递和处理。它提供了一些工具和功能,使开发人员可以更方便地构建可靠的消息驱动应用程序。

        详情见:黑马SpringAMQP大纲与实操-CSDN博客

        3.4消费者限流

        消费者限流是指在消息队列中对消费者的消费速率进行限制,以防止消费者过载和系统负荷过重的现象发生。通过消费者限流可以控制消费者每单位时间内可以处理的消息数量,保证系统在高负载情况下的稳定性和可靠性。常见的消费者限流策略包括基于消息数量、基于时间窗口、基于消费者权重等。

        可以通过不同的队列模型和交换机来实现限流以及广播组播等操作

       详情见:黑马SpringAMQP大纲与实操-CSDN博客

4、分布式搜索

        4.1ES的基本用法          

        ES组成:

                文档:一条数据就是一个文档,es中是Json格式
                字段:Json文档中的字段
                索引:同类型文档的集合
                映射:索引中文档的约束,比如字段名称、类型

        elasticsearch与数据库的关系:
                数据库负责事务类型操作
                elasticsearch负责海量数据的搜索、分析、计算

       在 Elasticsearch 中,数据存储在索引中。可以通过 Elasticsearch 提供的 RESTful API 将数据索引到 Elasticsearch 中。使用 PUT 请求将数据存储到指定索引、类型和 ID 中。亦或者使用GET、UPDATE等。

        可以结合kibana工具,进行ES数据的可视化展示

        4.2中文、拼音搜索

        在 Elasticsearch 中,分词器(Analyzer)是用来将文本数据拆分成词语(Token)的组件,它在索引和搜索阶段都发挥着重要作用。

        其中中文和拼音都可以通过设置特定的分词器来取得,例如:ik分词器和pinyin分词器

        详情见:黑马es0-1实现自动补全功能-CSDN博客

        4.3聚合和统计

                聚合是对文档数据的统计、分析、计算,例如:

        在es中即为对搜索结果数据进行处理,详情见:黑马聚合的分类及实现-CSDN博客

        4.4高可用集群

        

        具体搭建步骤见:黑马es集群-CSDN博客​​​​​​​

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

elementUI - 折叠以及多选的组件

//子组件 <template><!-- 左侧第二个 --><div class"left-second-more"><div class"layer-list-wrapper1"><el-collapse v-model"activeNames" change"handleChange"><el-collapse-item v-for"…

分享一个比较好用的在线串口调试助手

web在线调试助手 链接地址如下&#xff1a; 在线串口调试在线串口调试助手 Online serial port debugging assistanthttps://www.bbaiot.com/

QT treeWidget如何添加虚线

1、添加以下代码即可&#xff1a; ui.treeWidget->setStyle(QStyleFactory::create("windows"));2、效果如下&#xff1a;

文件夹加密软件哪个好用?文件加密的4个必备方法(2024)

如果您的电脑上有重要的个人或商业内容&#xff08;例如知识产权&#xff09;&#xff0c;您可能想知道如何确保数据的安全。如果笔记本电脑丢失或被盗&#xff0c;他人可能会访问硬盘驱动器的内容&#xff0c;从而获取到您的个人隐私信息。因此&#xff0c;通过文件夹加密软件…

LLM主要类别架构

LLM主要类别架构介绍 LLM主要类别 LLM本身基于transformer架构。自2017年&#xff0c;attention is all you need诞生起&#xff0c;transformer模型为不同领域的模型提供了灵感和启发。基于原始的Transformer框架&#xff0c;衍生出了一系列模型&#xff0c;一些模型仅仅使用e…

【YOLOv5进阶】——模型结构与模型原理YOLOv5源码解析

一、基础知识 1、backbone backbone是核心组成部分&#xff0c;主要负责提取图像特征。具体来说&#xff0c;backbone通过一系列的卷积层和池化层对输入图像进行处理&#xff0c;逐渐降低特征图的尺寸同时增加通道数&#xff0c;从而保留和提取图像中重要的特征。这些提取出的…

标准发布 | 废水处理减污降碳协同评估指南(碳中和标准)

本文件主编单位&#xff1a;北京林业大学、北京交通大学、中国电建集团华东勘测设计研究院有限公司、 眉山市城投中恒能环保科技有限公司、 中华环保联合会水环境治理专业委员会。 本文件参编单位&#xff1a;中国市政工程中南设计研究总院有限公司、湖北君集环境科技股份有 公…

新型的余热回收系统为印染行业的节能减排助力

上海国际纺织机械展会上,一款新型的余热回收系统引起了印染界大佬们的关注。我国是纺织大国,纺织行业是我国的重要支柱产业。作为传统的能耗大户,印染行业能源消耗占非常高,尤其是定型机能耗。在能源价格不断上涨和环保要求日益严格的背景下,降低定型机能耗、提高能源利用效率成…

【Spring Cloud Alibaba】服务注册与发现+远程调用

目录 注册微服务到Nacos&#xff08;服务提供者&#xff09;创建项目修改依赖信息添加启动注解添加配置信息启动服务&#xff0c;Nacos控制台查看服务列表 注册微服务到Nacos&#xff08;服务消费者&#xff09;创建项目添加依赖信息添加启动注解添加配置信息启动服务&#xff…

学生信息管理系统C++

设计目的 使学生进一步理解和掌握课堂上所学的面向对象C编程知识&#xff0c;巩固和加深学生对C面向对象课程的基本知识的理解和掌握。掌握C面向对象编程和程序调试的基本技能&#xff0c;学会利用C语言进行基本的软件设计&#xff0c;着重提高运用C面向对象语言解决实际问题的…

生成式 AI——ChatGPT、Dall-E、Midjourney 等算法理念探讨

1.概述 艺术、交流以及我们对现实世界的认知正在迅速地转变。如果我们回顾人类创新的历史&#xff0c;我们可能会认为轮子的发明或电的发现是巨大的飞跃。今天&#xff0c;一场新的革命正在发生——弥合人类创造力和机器计算之间的鸿沟。这正是生成式人工智能。 生成模型正在模…

【遂愿赠书 - 1期】:安恒“网安三剑客”-大模型时代下的网络安全实战指南

文章目录 一、图书背景二、网安实战宝典2.1《内网渗透技术》2.2《渗透测试技术》2.3《Web应用安全》 三、校企合作&#xff0c;产学研结合四、大模型时代的数字安全五、 网络安全无小事 一、图书背景 大模型风潮已掀起&#xff0c;各大巨头争相入局&#xff0c;从ChatGPT到Sor…

研学活动报名收集材料怎么写?教程来了!

研学活动作为学校教育的重要组成部分&#xff0c;不仅能够拓宽学生的视野&#xff0c;还能促进家校沟通。学生们报名还是十分积极踊跃的&#xff0c;然而研学活动报名收集材料该怎么写却困扰着不少老师&#xff0c;其实只需要把姓名和联系方式等收集全就可以了&#xff0c;主要…

Go Modules 使用

文章参考https://blog.csdn.net/wohu1104/article/details/110505489 不使用Go Modules&#xff0c;所有的依赖包都是存放在 GOPATH /pkg下&#xff0c;没有版本控制。如果 package 没有做到完全的向前兼容&#xff0c;会导致多个项目无法运行(包版本需求不同)。 于是推出了g…

遥感卫星影像处理流程

当空中的遥感卫星获取了地球数字影像&#xff0c;并传回地面&#xff0c;是否工作就结束了&#xff1f;答案显然是否定的&#xff0c;相反&#xff0c;这正是遥感数字图像处理工作的开始。 遥感数字图像&#xff08;Digital image&#xff0c;后简称“遥感影像”&#xff09;是…

FTP

文章目录 概述主动模式和被动模式的工作过程注意事项 概述 文件传输协议 FTP&#xff08;File Transfer Protocol&#xff09;在 TCP/IP 协议族中属于应用层协议&#xff0c;是文件传输标准。主要功能是向用户提供本地和远程主机之间的文件传输&#xff0c;尤其在进行版本升级…

数据分析每周挑战——心衰患者特征数据集

这是一篇关于医学数据的数据分析&#xff0c;但是这个数据集数据不是很多。 背景描述 本数据集包含了多个与心力衰竭相关的特征&#xff0c;用于分析和预测患者心力衰竭发作的风险。数据集涵盖了从40岁到95岁不等年龄的患者群体&#xff0c;提供了广泛的生理和生活方式指标&a…

【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(二)

文章目录 &#x1f680;Linux基础命令&#xff08;二&#xff09;&#x1f308;1. 寻找目录/文件命令⭐2. 创建文件命令&#x1f44a;3. 网络接口查询命令❤️4. 打包命令&#x1f4a5;5. 解压命令 上期回顾&#xff1a; &#x1f525;&#x1f525;&#x1f525;【Linux终端探…

CMakeFile.txt通过sysroot方式后生成makefile报错

报错信息如下&#xff1a; -- The C compiler identification is unknown -- The CXX compiler identification is unknown -- Check for working C compiler: /home/xj/asm/host/bin/aarch64-buildroot-linux-gnu-gcc -- Check for working C compiler: /home/xj/asm/host/bi…

英伟达GeForce发布《星球大战:亡命之徒》宣传片,8月30日开售

易采游戏网6月3日消息&#xff1a;英伟达GeForce近日发布了一款激动人心的宣传片&#xff0c;展示了备受期待的游戏大作《星球大战&#xff1a;亡命之徒》。该宣传片不仅展现了游戏的华丽画面和引人入胜的故事情节&#xff0c;还重点介绍了支持NVIDIA DLSS 3.5、光线追踪和Refl…