- 博客(79)
- 收藏
- 关注
原创 ElasticJob使用与封装
/ @ConditionalOnProperty表示只有在配置文件中有以 elastic.job.zk 为前缀的这两个配置项"namespace", "serverLists",才会加载这个类@Slf4j// ApplicationListener表示应用程序启动完成以后才会加载该类然后将该类作为 Bean 注入到 Spring 中进行管理,以下代码定义在 JobParserAutoConfigurartion.java中@Bean。
2023-05-05 18:13:34
1415
原创 elastic-job-lite-console的安装
上传到linux的 /home/software/ 目录下,并解压。然后将解压后的文件夹复制到 /usr/local/ 目录下。,输入用户和密码,默认都是root。3. 设置用户名和密码。
2023-05-05 12:04:06
404
原创 RabbitMQ之序列化与反序列化:自定义某个Object对象和Spring中的某个Object对象通过序列化和反序列化的方式进行转换(java代码实现)
*** 序列化和反序列化的接口*//*** 构造方法*//*** 将 org.springframework.amqp.core.Message 中的 body 属性反序列化成自定义的 Message* 该方法用于从 RabbitMQ服务中接收消息时,转成我们自己定义的Message对象*/@Override/**
2023-05-04 16:20:50
2542
原创 ZooKeeper 安装并实现集群搭建
注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。在 zoo.cfg 文件中,会有对 dataDir 的一项配置,需要创建该目录,并且注意要在该目录下创建 myid 文件,里面的配置和 zoo.cfg 中的server.x 配置保持一致。你也可以不配置,这不是搭建集群的必要操作,只不过如果你不配置环境变量,那么每次启动zookeeper需要到安装文件的 bin 目录下去启动。
2023-05-02 22:11:43
1494
原创 CentOS 7.x 安装 JDK1.8
如果出现 bash: ./java: cannot execute binary file 则是 32 位的Linux 系统安装了 64 位的 JDK。将 JDK 安装包通过 ftp 工具上传到 CentOS 系统,我这里使用 WinSCP 上传到 /usr/java 目录下(目录不存在的话就新建)。然后按 ESC 键退出编辑模式,输入 ":wq" 即保存退出该文件。我这里选择的版本为 jdk-8u361-linux-x64.rpm。如果出现如下信息,则默认安装有,需要卸载。显示如下则成功安装。
2023-05-02 18:43:30
1018
原创 SpringBoot 整合 RabbitMQ
在生产者端编写测试代码,也就是在 Producer 项目中编写测试代码。2. 配置 application.yml。2. 配置 application.yml。所在项目为 Producer。所在项目为 Consumer。1. 添加maven依赖。
2023-04-29 17:26:31
652
1
原创 RabbitMQ集群环境搭建-镜像模式
集群模式非常经典的就是Mirror镜像模式,保证100%数据不丢失,在实际工作中也是用的最多的。并且实现集群非常的简单,一般互联网大厂都会构建这种镜像集群模式。Mirror镜像队列,目的是为了保证rabbitmq数据的高可靠性解决方案,主要就是实现数据的同步,一般来讲是2-3个节点实现数据同步(对于100%数据可靠性解决方案一般是3节点)。bhz73目的是三台服务器能够网络互通(使用 ping 命令可以ping通)。
2023-04-29 14:56:53
3848
1
原创 RabbitMQ之Confirm确认机制、Return消息机制
另外在基础API中有一个关键的配置项:Mandatory,如果为true,则 Return Listener 会接收到路由不可达的消息,然后进行后续处理,如果为false,那么Broker端会自动删除该消息,Return Listener不会收到该消息。但是在某些情况下,如果我们在发送消息的时候,当前的exchange不存在或者指定的路由key路由不到,这个时候如果我们需要监听这种不可达的消息,就是使用Return Listener!Confirm确认机制、Return消息机制都是在生产端进行操作。
2023-04-28 18:38:45
917
原创 RabbitMQ之生产端可靠性投递与消费端幂等性
保障消息的成功发出保障MQ节点的成功接收发送端收到MQ节点(Broker)确认应答完善的消息进行补偿机制。
2023-04-28 18:23:07
132
原创 RabbitMQ之交换机类型
在 RabbitMQ 中,交换机主要用来将生产者生产出来的消息,传送到对应的队列中,即,其英文被称为 exchange。交换机在 RabbitMQ 中起着承上启下的作用。常用的只有前面三种:direct、topic、fanout。
2023-04-28 17:56:40
829
原创 Centos7.x安裝 RabbitMQ
(本节可忽略)2. 如果有多台服务器,并且这几个服务器之间可以通过 服务器名进行通信,则需要修改两个文件,验证单个节点是否安装成功,可以通过浏览器访问链接:http://(服务器ip):15672/修改点:(1)loopback_users 中的 ,只保留guest。(2)heartbeat 为10(也可以保留默认,不修改)在 /etc/hosts 中可以添加一些 ip和服务器名称。5. 修改集群用户与连接心跳检测。验证是否可以互相通信。
2023-04-25 17:19:29
503
原创 SpringBoot 整合阿里云 OSS 对象存储实现文件上传
(1)获取 endpoint、accessKeyId 、accessKeySecret,通过以下位置获取。(2)获取 bucket 名称,以及自定义存储在 bucket 的路径名。3. 上传网络流方式上传图片。
2023-04-24 15:50:24
328
原创 FastDFS配置,并与Nginx结合实现文件服务器
tracker 和storage 都是同一个 fastdfs 的主程序的两个不同概念,配置不同的配置文件就可以将其设定为 tracker 或者 storage。进入到 fastdfs-6.0.4 目录,查看make.sh文件,可以看到 fastdfs 安装位置。1. 进入 /etc/fdfs/ 目录下,找到 tracker.conf 文件进行配置。将所需文件上传到 /home/software/FastDFS/ 下。可以将 解压后的文件夹里的配置文件也移动到 /etc/fdfs 下。
2023-04-23 12:21:24
2447
原创 Logstash数据同步
2. 在 /usr/local/logstash-7.6.2/ 下创建文件夹 sync/,将数据库驱动 mysql-connector-java-5.1.41.jar 包上传到 /usr/local/logstash-7.6.2/sync/ 下,将其 放入 /usr/local/logstash-7.6.2/sync/didiok-items.sql 文件中。先上传到服务器 /home/software/ 下,然后解压,并将解压后的文件夹移动到 /usr/local/ 下。5. 启动 logstash。
2023-04-22 19:16:42
4066
原创 SpringBoot整合Elasticsearch
查看maven中的依赖,如果发现elasticsearch版本不是自己想要的,比如说发现是 elasticsearch-这是spring-boot-starter-parent中SpringBoot设定的elasticsearch版本为。这里使用的Elasticsearch版本是7.4.2。2. 配置 application.yml 文件。解决办法是在项目的pom.xml文件中。3. 启动 SpringBoot 项目。重新启动SpringBoot即可成功。
2023-04-21 21:04:04
3198
原创 Elasticsearch集群搭建
master主节点要经过多个master节点(在配置文件中设置了 node.mastre: true 的那些节点)共同选举后才能成为新的主节点。搭建集群前,首先将各个节点的索引库存储位置的数据清空,比如我的索引存放在 /usr/local/elasticsearch-7.4.2/data 目录下,就需要将该目录下的数据都删除。其中 N 为集群中master节点的数量,也就是那些node.master=true设置的那些服务器节点总数。P0,P1,P2是主节点,R0,R1,R2是副本节点。
2023-04-21 12:26:33
349
原创 Elasticsearch之DSL搜索(Domain Specific Language)
请求接口:http://localhost/shop/_doc/_search。关键字:match_all。
2023-04-19 19:16:54
301
原创 Elasticsearch的增删改查
接口:http://localhost:9200/index_demo/_analyze。接口: http://localhost:9200/_cat/indices?接口: http://localhost:9200/index_demo。接口: http://localhost:9200/index_demo。接口: http://localhost:9200/index_demo。接口:http://localhost:9200/index_demo。1. 创建索引(索引名为 index_demo)
2023-04-19 10:55:45
368
原创 Elasticsearch 安装
二. 上传到 linux中 /home/software/ 文件夹下,并解压。移动到 coifig 文件夹下,修改 elasticearch.yml。本文是在 centOS7.x上安装,所以下载的是linux版本。五. 修改核心配置文件 elasticsearch.yml。三. 将解压后的文件夹移动到 /usr/local 下。./elasticsearch 是前台启动命令。./elasticsearch -d 是后台启动命令。之后在修改 sysctl.conf 文件。在文件末尾加上以下内容。
2023-04-18 11:57:02
289
原创 SpringBoot集成“Redis会话拦截器”
然后刷新用户信息试一下,(调用接口:/userInfo/my?userId=123)客户端会提示:请登录。2. 将拦截器类注册到Spring容器中。1. 首先创建一个拦截器类。
2023-04-17 16:45:35
213
原创 缓存穿透与雪崩
用户查询数据,如果缓存中没有数据,就会去数据库中查询,然后再加入缓存中,之后的请求就可以在缓存中查询了;如果用户在查询的时候,使用非法请求,每次查询到的都是数据库中没有的数据,这样就无法存入缓存之中了;这样就会导致,如果用户连续发送这种redis和数据库都不存在值的查询,并且请求成千上万次,由于在缓存中查询不到而直接请求数据库,给数据库带来压力,造成宕机,从而影响整个系统,
2023-04-15 19:25:03
75
原创 Redis集群
对于和文章中,都只是有一个 master 主节点,但是一个的性能有限,数据达到一定程度会有瓶颈,这个时候可以通过水平扩展为多master-slave成为集群。
2023-04-13 21:09:33
295
原创 Redis哨兵模式
主从结构()下,Sentinel(哨兵)模式用于监控Redis集群中的Master状态的工具,是Redis高可用解决方法,哨兵可以监视一个或多个redis master服务,以及这些master服务的所有从服务;当某个master服务宕机后,会把这个master下的某个从服务升级为master来替代一宕机的master继续工作。
2023-04-13 19:13:05
753
原创 Redis缓存过期机制与内存淘汰机制
当客户端请求一个已经过期的key的时候,那么redis会检查这个key是否过期,如果过期了,则删除,然后返回一个nil。这种策略对cpu比较友好,不会有太多的损耗,但是内存占用会比较高。定时随机的检查过期的key,如果过期则清理删除。每秒检查次数在redis.conf中的hz配置,如下图则设置了每秒检查10次。设置了expire的key缓存过期了,但是服务器的内存还是会被占用,对此,Redis 有两种删除策略。当内存占用满了以后,redis提供了一套缓存淘汰机制:MEMORY MANAGEMENT。
2023-04-12 21:48:06
273
原创 Redis主从复制(读写分离)配置
三台服务器:一台作为 Redis 主节点(Master),另外两台作为 Redis 从节点(Slave)之后重启redis,这时就可以在三台服务器上,进入 redis-cli 客户端使用如下命令查看主从节点状态。根据读写二八原则,主节点负责处理写操作,从节点负责处理读操作;可以理解为一种水平扩展的方式来提高Redis性能;配置主要修改从节点的配置文件 redis.conf。主节点起到了请求分发的作用。
2023-04-12 21:16:29
748
原创 Redis的持久化机制-RDB、AOF
1. 简介RDB:每隔一段时间,把内存中的数据写入磁盘的零食文件,作为快照,恢复的时候把快照文件读进内存中。如果宕机重启,那么内存里的数据肯定会没有的,那么再次启动redis后,则会恢复。2.备份与恢复3.RDB优劣势4.RDB的配置,主要在 redis.conf 中配置(1)保存位置,可以在redis.conf自定义:如上配置,则其备份文件是存储在 /usr/local/redis/working/dump.rdb 中的(2)备份策略(3)其它配置5. 总结。
2023-04-12 17:23:24
73
原创 SpringBoot整合Redis
2. 在 application.yml 文件中 配置redis。3. 在 controller 层进行测试。之后在浏览器访问对应的接口进行测试!
2023-04-12 09:27:48
64
原创 Redis安装与配置
2. 使用 ftp类软件上传至linux:/home/software/ 目录下。建议下载稳定版本(stable)得到文件夹 redis-5.0.5。
2023-04-11 11:55:46
675
原创 keepalived 安装教程(centOS 7.x)
注意:如果在执行 make && make install 时,报如下错误,则可能是keepalived版本号不对,可以试试 2.1.0 以前的版本。(3) 然后运行如下命令,将 keepalived 服务加载到系统中去。为了便于启动与停止keepalived, 可以将其注册到服务中。则需要安装 libnl/libnl-3依赖。(1)进入解压目录(不是安装目录)(2)拷贝,并覆盖目标目录下的文件。
2023-04-10 17:25:17
1083
原创 搭建 LVS-DR模式:使用ipvsadm配置集群规则
1. 在 LVS 节点服务器上,添加集群,设定用户访问的ip。2. 为该集群添加2台RealServer真实服务器。3. 保存到规则库,否则重启失效。
2023-04-10 15:10:54
388
原创 搭建 LVS-DR模式:为两台RealServer配置虚拟IP 和 arp
3. 使用命令 ifup lo 刷新一下 lo接口,或者使用 service network restart 重启网络服务,之后通过ip addr 查看如下, 则表示正常。1. 进入到网卡配置目录,找到 lo (本地环回接口,用户构建虚拟网络子接口),拷贝一份新的随后进行修改。ifcfg-lo是本地环回接口,如果想配置一个虚拟IP,但是又不想让用户访问到,只能是修改环回接口。
2023-04-10 14:08:00
599
原创 搭建 LVS-DR模式:配置LVS节点与ipvsadm
1.服务器与ip规划(1)LVS:1台(2)nginx:2台(Real Server)2. 所有计算机节点关闭网络配置管理器,因为不关闭的话有可能会引起网络接口冲突。
2023-04-10 13:53:34
389
2
原创 keepalived + Nginx 实现双机主备、双主热备(centOS 7.x 系统)
sysconf:keepalived核心配置文件所在位置,固定位置,改成其他位置则keepalived启动不了,/var/log/messages中会报错。注意:如果在第5步执行 make && make install 时,报如下错误,则可能是keepalived版本号不对,可以试试 2.1.0 以前的版本。4. 进入到解压后的文件夹内,里面会看到 configure 文件,接下来就可以使用 configure 命令进行配置了。2. 通过 ftp工具上传到 linux:/home/software/
2023-04-10 13:19:19
1464
2
原创 Nginx安装教程(centOS 7.x 系统)
6. 移动到nginx解压后的文件夹内(cd nginx-1.16.1),输入如下命令进行配置,目的是为了创建makefile文件。5. 编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错。(4)SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https。4. 解压,需要注意,解压后得到的是源码,源码需要编译后才能安装。如果在云服务器安装,需要开启默认的nginx端口:80。如果在虚拟机安装,需要关闭防火墙。建议下载使用稳定版本。(1)安装 gcc 环境。
2023-04-10 12:23:47
603
1
原创 Nginx核心配置文件 nginx.conf
正向代理:指为客户端做代理,隐藏客户的真实ip等信息;反向代理:为服务端做代理,隐藏服务器的真实ip等信息;
2023-04-06 11:46:51
150
1
RabbitMQ延迟消息插件rabbitmq-delayed-message-exchange
2023-05-06
在linux上安装RabbitMQ-3.6.5需要的一些安装包
2023-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅