自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(136)
  • 收藏
  • 关注

原创 Hadoop 之分布式计算框架MapReduce

1.1 MapReduce定义MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。1.2MapReduce优缺点1.21优点1MapReduce易于编程它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的PC机器上运行。

2024-02-04 16:06:03 1127

原创 Hadoop 之分布式文件系统HDFS

HDFS产生背景随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式文件管理系统中的一种。HDFS定义HDFS),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。HDFS的使用场景:适合一次写入,多次读出的场景。

2024-02-02 16:32:16 903

原创 Hadoop 环境搭建

1各个模块分开启动/停止(配置ssh是前提)常用(1)整体启动/停止HDFS(2)整体启动/停止YARN2各个服务组件逐一启动/停止(1)分别启动/停止HDFS组件(2)启动/停止YARN。

2024-02-01 17:53:20 1580

原创 SpringBoot Actuator监控详解介绍

Endpoints 是 Actuator 的核心部分,它用来监视应用程序及交互,spring-boot-actuator中已经内置了非常多的Endpoints(health、info、beans、httptrace、shutdown等等),同时也允许我们扩展自己的端点。Endpoints 分成两类:原生端点和用户自定义端点;自定义端点主要是指扩展性,用户可以根据自己的实际应用,定义一些比较关心的指标,在运行期进行监控。原生端点是在应用程序里提供的众多 restful api。

2024-01-12 17:28:04 1351

原创 SpringMVC 之 异常处理器扩展(十六)

SpringMVC 之 异常处理器扩展(十六)

2024-01-11 16:42:36 323

原创 SpringMVC 之 异常处理器(十五)

SpringMVC 之 异常处理器(十五)

2024-01-11 16:42:04 312

原创 SpringMVC 之 消息转换器扩展(十四)

SpringMVC 之 消息转换器扩展(十四)

2024-01-11 16:41:31 321

原创 SpringMVC 之 消息转换器(十三)

SpringMVC 之 消息转换器(十三)

2024-01-11 16:40:59 318

原创 SpringMVC 之 返回值处理器(十二)

SpringMVC 之 返回值处理器(十二)

2024-01-11 16:40:21 359

原创 SpringMVC 之 参数解析器(十一)

SpringMVC 之 参数解析器(十一)

2024-01-11 16:39:46 338

原创 SpringMVC 之 视图解析器(十)

SpringMVC 之 视图解析器(十)

2024-01-11 16:39:04 338

原创 SpringMVC 之 视图控制器(九)

SpringMVC 之 视图控制器(九)

2024-01-11 16:38:23 333

原创 SpringMVC 之 跨域设置(八)

SpringMVC 之 跨域设置(八)

2024-01-11 16:37:47 329

原创 SpringMVC 之 静态资源处理器(七)

SpringMVC 之 静态资源处理器(七)

2024-01-11 16:36:53 295

原创 SpringMVC 之 拦截器(六)

SpringMVC 之 拦截器(六)

2024-01-11 16:35:46 370

原创 SpringMVC 之 格式化器和转换器(五)

SpringMVC 之 格式化器和转换器(五)

2024-01-11 16:34:55 343

原创 SpringMVC 之 静态资源默认处理器(四)

SpringMVC 之 静态资源默认处理器(四)

2024-01-11 16:33:51 306

原创 SpringMVC 之 异步调用支持(三)

SpringMVC 之 异步调用支持(三)

2024-01-11 16:33:13 770

原创 SpringMVC 之 内容协商策略(二)

SpringMVC 之 内容协商策略(二)

2024-01-11 16:32:34 458

原创 SpringMVC 之 路径匹配规则(一)

SpringMVC 之 路径匹配规则(一)

2024-01-11 16:31:43 324

原创 SpringMVC 配置接口 WebMvcConfigurer

WebMvcConfigurer配置接口是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制。接口提供了很多方法让我们来定制SpringMVC的配置。可以用来自定义处理器、拦截器、视图解析器、转换器、设置跨域等。等效,Spring MVC下默认是开启的,需关闭设置为false。是等效的,Spring Boot下默认是false。设置是否使用尾随斜线匹配。设置是否使用后缀匹配。设置匹配起效的控制器类型,本例为对。我们还可以在外部配置。

2024-01-11 16:18:35 356

原创 Maven Scope 取值含义

我们知道Maven的继承和Java的继承一样,是无法实现多重继承的,如果10个、20个甚至更多模块继承自同一个模块,那么按照我们之前的做法,这个父模块的dependencyManagement会包含大量的依赖。如果你想把这些依赖分类以更清晰的管理,那就不可能了,import。这样,父模块的pom就会非常干净,由专门的packaging为pom来管理依赖,也契合的面向对象设计中的单一职责原则。这样配置的话,自己的项目里面就不需要继承SpringBoot的module了,而可以继承自己项目的module了。

2024-01-09 16:37:38 935

原创 Linux 之Shell编程

1) Linux Shell 中的变量分为,系统变量和用户自定义变量。2) 系统变量:$HOME、$PWD、$SHELL、$USER 等等。/root/root/bin/bashroot3)显示当前 shell 中所有变量1)定义变量:变量=值 (不能有空格2)撤销变量:unset 变量3) 声明静态变量:readonly 变量,注意:不能 unset1) 变量名称可以由字母、数字和下划线组成,但是不能以数字开头。2) 等号两侧不能有空格3) 变量名称一般习惯为大写。

2024-01-09 14:34:14 806

原创 Linux 三大安装方式(rpm、yum、编译安装)

那么关于Linux安装,到底安装的是什么?rpm和yum安装的对象——rpm软件包:RPM包是已经编译好并打包好的文件,直接安装。缺点:需要安装的环境必须与编译时的环境一致;也就是说包与包之间存在相互依赖的情况。编译安装的对象——源代码软件包(.c文本):需自行把源代码编译成可执行文件,复杂。自由度高,可以修改源代码,源码包在编译的时候是可以附加额外的选项,个性化设置功能。

2024-01-08 14:17:01 966

原创 Linux netstat指令

netstat 可以用来查Linx网络系统接口的状态信息,统计信息,打开的 socket 连接,以及路由表等等。在 CentOS 7 操作系统中,此命令默认是未安装的,所以我们可以使用如下命令进行网络工具包的安装。注意,在 Windows 操作系统也是有这个命令的,用法一样。

2024-01-08 10:37:13 887

原创 Linux 创建自定义服务

因此,我们可以使用systemctl,它是Linux系统管理工具systemd中的一个核心组件,可以用于管理系统服务和进程。它提供了一种统一的方式来启动、停止、重启和查看系统服务的状态。需要使用sudo或root权限来执行systemctl命令服务的名称应该以".service"结尾如果服务的状态为"failed",可以使用sudo journalctl -xe命令来查看日志以获取更多信息。

2024-01-05 17:14:47 815

原创 Linux 磁盘分区、挂载

Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux 中每个分区都是用来组成整个文件系统的一部分。Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。示意图。

2024-01-05 14:15:23 575

原创 Linux 定时任务 crontab 详解

思维脑图Crontab 是一个在 Unix 和 Linux 操作系统上用于定时执行任务的工具。它允许用户创建和管理计划任务,以便在特定的时间间隔或时间点自动运行命令或脚本。Crontab 是 cron table 的缩写,cron指的是 Unix 系统中的一个后台进程,它用于执行预定的任务。Crontab 文件包含一系列计划任务条目,每个条目都定义了一个任务的执行时间和要运行的命令或脚本。这些任务可以按照分钟、小时、日、月和星期等不同的时间单位进行安排。

2024-01-05 11:16:32 2671

原创 Linux 实用指令

locaate 指令可以快速定位文件路径。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz。tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)2)ls -al >>文件 (功能描述:列表的内容追加到文件 aa.txt 的末尾)3)cat 文件 1 > 文件 2 (功能描述:将文件 1 的内容覆盖到文件 2)

2024-01-04 16:58:03 1707

原创 【Linux基础】Linux权限的深度理解

普通文件的默认权限是从666开始的,目录文件的默认权限是从777开始的,但是最终权限!字符表示法中的每一个字符所在位置所表示的结果只有两种可能,要么为真,要么为假,而真可用1表示,假可用0表示,因此我们可以将这三个字符换为三个二进制位,进而换为一个八进制位进行表示。假设默认权限是umask,则实际创建的出来的文件权限是:mask & ~umask。后文会进行详细展开。虽然我们把权限掩码umask的值更改为003,可是最终的权限值并不是我们想象中通过减法获得的664,可见最终权限不是通过减法完成的。

2024-01-04 11:32:02 1081

原创 RabbitMq 发布确认高级(七)

在生产环境中由于一些不明原因,导致 rabbitmq 重启,在 RabbitMQ 重启期间生产者消息投递失败,导致消息丢失,需要手动处理和恢复。于是,我们开始思考,如何才能进行 RabbitMQ 的消息可靠投递呢?特别是在这样比较极端的情况, RabbitMQ 集群不可用的时候,无法投递的消息该如何处理呢:应 用 [xxx] 在 [08-1516:36:04] 发 生 [ 错 误 日 志 异 常 ] , alertId=[xxx]。

2024-01-03 15:20:00 806

原创 RabbitMq 延迟队列(六)

延时队列在需要延时处理的场景下非常有用,使用 RabbitMQ 来实现延时队列可以很好的利用RabbitMQ 的特性,如:消息可靠发送、消息可靠投递、死信队列来保障消息至少被消费一次以及未被正确处理的消息不会被丢弃。另外,通过 RabbitMQ 集群的特性,可以很好的解决单点故障问题,不会因为单个节点挂掉导致延时队列不可用或者消息丢失。

2024-01-03 15:02:18 818

原创 RabbitMq 死信队列(五)

先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说, producer 将消息投递到 broker 或者直接到 queue 里了, consumer 从 queue 取出消息进行消费,但某些时候由于特定的。应用场景:为了保证订单业务的消息数据不丢失,需要使用到 RabbitMQ 的死信队列机制,当消息消费发生异常时,将消息投入死信队列中.还有比如说: 用户在商城下单成功并点击去支付后在指定时间未支付时自动失效。启动之后关闭该消费者 模拟其接收不到消息。

2024-01-03 14:37:44 442

原创 RabbitMq 交换机(四)

Fanout 这种类型非常简单。正如从名称中猜到的那样,它是将接收到的所有消息广播到它知道的所有队列中。系统中默认有些 exchange 类型上一节中的我们的日志系统将所有消息广播给所有消费者,对此我们想做一些改变,例如我们希望将日志消息写入磁盘的程序仅接收严重错误(errros),而不存储哪些警告(warning)或信息(info)日志消息避免浪费磁盘空间。

2024-01-03 14:26:51 957

原创 RabbitMq 发布确认(三)

(从 1 开始),一旦消息被投递到所有匹配的队列之后, broker就会发送一个确认给生产者(包含消息的唯一 ID),这就使得生产者知道消息已经正确到达目的队列了,如果消息和队列是可持久化的,那么确认消息会在将消息写入磁盘之后发出, broker 回传给生产者的确认消息中 delivery-tag 域包含了确认消息的序列号,此外 broker 也可以设置basic.ack 的 multiple 域,表示到这个序列号之前的所有消息都已经得到了处理。当然这种方案仍然是同步的,也一样阻塞消息的发布。

2024-01-03 13:46:49 814

原创 RabbitMq 工作队列(二)

工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当有多个工作线程时,这些工作线程将一起处理这些任务。

2024-01-03 11:31:10 775

原创 RabbitMq 简单队列(一)

在本教程的这一部分中,我们将用 Java 编写两个程序。发送单个消息的生产者和接收消息并打印出来的消费者。我们将介绍 Java API 中的一些细节。在下图中,“ P”是我们的生产者,“ C”是我们的消费者。中间的框是一个队列-RabbitMQ 代表使用者保留的消息缓冲区。

2024-01-03 11:07:28 372

原创 RabbitMq集群搭建(单机+普通集群+镜像集群+负载集群+高可用负载集群)

版权声明:本文为CSDN博主「程序猿二鍋頭」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_45441466/article/details/119699104。

2023-12-29 16:34:28 2730

原创 RabbitMq基本概念以及5中工作队列(一)

Channel 是在 connection 内部建立的逻辑连接,如果应用程序支持多线程,通常每个 thread 创建单独的 channel 进行通讯, AMQP method 包含了 channel id 帮助客户端和 message broker 识别 channel,所以 channel 之间是完全隔离的。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑 RabbitMQ 是一个快递站,一个快递员帮你传递快件。

2023-12-29 14:52:09 841

原创 Nginx 反向代理缓存(proxy_cache)

如图所示,nginx缓存,可以在一定程度上,减少源的处理请求压力。因为静态文件(比如css,js, 图片)中,很多都是不经常更新的。nginx使用proxy_cache将用户的请求缓存到本地一个目录。下一个相同请求可以直接调取缓存文件,就不用去请求服务器了。毕竟,IO密集型服务的处理是nginx的强项。Nginx的缓存加速功能是由proxy_cache(用于反向代理和静态缓存)和fastcgi_cache(PHP动态缓存)两个功能模块完成。

2023-12-26 16:15:02 1245

图灵Nacos课堂笔记

图灵Nacos课堂笔记

2023-10-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除