09 2020 档案
摘要:业务需求 后台为一个采集系统,需要将采集过程中产生的日志实时发送到前台页面展示,以便了解采集过程。 技能点 SpringBoot 2.x websocket logback thymeleaf RabbitMQ 之所以使用到RabbitMQ是因为实际环境中采集服务为多个,为了统一处理日志信息,将日志
阅读全文
摘要:查看系统版本 rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7
阅读全文
摘要:多服务绑定80端口及映射域名 说明:业务需要配置的样例模板,如需深入了解,请查看官方文档 1.Nginx配置文件nginx.conf(可拆分多台机器部署) worker_processes 1; events { worker_connections 1024; } http { include m
阅读全文
摘要:下载镜像 mkdir -p /usr/mongo/data /usr/mongo/dump 运行镜像 $ docker run --restart=unless-stopped --name mongodb -v /usr/mongo/dat
阅读全文
摘要:CentOS7.5环境下搭建SFTP服务。 创建用户组及用户 创建用户组 # groupadd sftpgroup 创建用户 passwd suser 修改ssh
阅读全文
摘要:说明 MySQL主从出现不同步的情况时,或者要添加新的从库时,可以使用以下方法进行操作回复主从。 停止业务应用 停止所有连接到主从库上的应用,在恢复主从期间禁止任何增删改等操作,否则恢复失败 停止主从服务 进入slave节点,停止主从服务 $ mysql> stop slave; 处理从库数据 处理
阅读全文
摘要:环境 CentOS 7.5 Docker 1.13.1 MySQL 8.0.16 基于以上环境启动三个mysql容器,一个为master,二个为slave master和slave使用的mysql版本是完全一致的,未测试不同版本的mysql 配置master 编辑配置文件 编辑master的配置文件
阅读全文
摘要:环境 CentOS 7.5 Docker 1.13.1 MySQL 8.0.16 安装 拉取镜像 默认拉取最新版本的镜像 docker pull mysql:8.0.16 创建数据目录和配置文件 在宿主机创建放置mysql的
阅读全文
摘要:环境 CentOS 7.5 oracle JDK 1.8 安装 卸载openjdk 查找是否已经安装了openjdk # rpm -qa | grep jdk 如果已经安装了openjdk,需要先将其卸载掉 # rpm -e --nodeps java-1.8.0-openjdk-headless-
阅读全文
摘要:死信队列是什么 死信,Dead Letter,一种消息机制,当消费者去消费队列中的消息时,如果队列中的消息出现了以下的情况: 消费端执行nack或者reject时,设置requeue=false; 消息在队列中的时间超过设置的TTL(Time To Live)时间; 队列中消息的数量超过设置的最大数
阅读全文
摘要:消费端在处理消息过程中可能会报错,此时该如何重新处理消息呢?解决方案有以下两种。 在redis或者数据库中记录重试次数,达到最大重试次数以后消息进入死信队列或者其他队列,再单独针对这些消息进行处理; 使用spring-rabbit中自带的retry功能; 第一种方案我们就不再详细说了,我们主要来看一
阅读全文
摘要:消息的可靠性投递是使用消息中间件不可避免的问题,不管是使用kafka、rocketMQ或者rabbitMQ,那么在RabbitMQ中如何保证消息的可靠性投递呢? 先再看一下RabbitMQ消息传递的流程图: 从上面的图可以看到,消息的投递有三个对象参与: 生产者 RabbitMQ(broker) 消
阅读全文
摘要:RabbitMQ中,生产者并不是直接将消息发送给queue,而是先将消息发送给exchange,再由exchange通过不同的路由规则将消息路由到绑定的队列中进行存储,那么为什么要先将消息发送给exchange而不是直接发送给queue呢? 理解Exchange 为什么要在生产者和queue之间多一
阅读全文
摘要:前面我们已经了解了RabbitMQ的一些基本概念和原理,今天进入实战篇,在springboot框架中集成RabbitMQ,默认已经创建一个Springboot项目。 添加pom依赖 在pom.xml文件中引入以下依赖: <dependency> <groupId>org.springframewor
阅读全文
摘要:AMQP协议 AMQP: Advanced Message Queue,高级队列协议。 特征: 这是一个在进程间传递异步消息的网络协议,因此数据的发送方、接收方以及容器(MQ)都可以在不同的设备上。 主要特征是面向消息、队列、灵活的路由、可靠性、安全性等 支持符合要求的客户端和消息中间件代理之间进行
阅读全文
摘要:环境准备 Centos 7.5虚拟机三台: 192.168.102.128 192.168.102.130 192.168.102.131 以上虚拟机统一安装docker环境 三台机器分别配置如下所示的hosts文件,以供rabbitmq容器使用 $ vim /home/rabbitmq/hosts
阅读全文
摘要:环境准备 Centos 7.5 docker环境 安装步骤 拉取镜像 $ docker pull rabbitmq:management 说明: 获取rabbiymq镜像的时候要记得获取management版本,不要获取last版本的,只有management版本才带有管理界面,方便进行可视化操作。
阅读全文
摘要:安装chrome 创建yum源 # cd /etc/yum.repos.d/ # vim google-chrome.repo 创建yum源信息 [google-chrome] name=google-chrome baseurl=http://dl.google.com/linux/chrome/
阅读全文
摘要:CentOS环境下部署Springboot项目的jar包开机自启动。 部署环境 Centos 7.5 Springboot 2.1.x 操作步骤 修改pom 在pom.xml文件中<plugin>标签中添加以下代码: <plugin> <groupId>org.springframework.boo
阅读全文
摘要:docker安装redis主从以及哨兵 本文使用docker在四台机器上部署一主二从三哨兵的Redis主从结构。 服务器配置 192.168.102.128 主节点 centos7.5 192.168.102.130 从节点 centos7.5 192.168.102.131 从节点 centos7
阅读全文
摘要:在IDEA中开发springboot项目时,每次修改代码后都需要手动重启项目比较麻烦,可以通过添加一定的配置使每次修改代码后项目进行自动重启 在IDEA中开发springboot项目时,每次修改代码后都需要手动重启项目比较麻烦,可以通过添加一定的配置使每次修改代码后项进自动。 新建项目 创建测试项目
阅读全文
摘要:Maven项目中,为了保持引用依赖的一致性,一般会抽出一个parent层,用来管理子项目的maven依赖,对于依赖的管理有两种方式,分别是dependencies以及dependencyManagement,那么这两者有什么区别呢? 区别 两者都可以引入maven依赖,但是主要的区别有以下几点: d
阅读全文
摘要:最近在使用springboot整合shardingsphere和druid实现mysql数据库读写分离时遇到了一些问题,特此记录一下。 依赖版本 Springboot 2.1.6.RElEASE shardingsphere 4.1.1 druid 1.1.23 需要的依赖如下: <dependen
阅读全文
摘要:springboot使用logback滚动生成日志后,/actuator/logfile访问404问题处理
阅读全文