RabbitMQ 现实问题 在rabbitmq集群中,如果1号节点宕机,则发送到的消息会丢失,这时候就可以采用镜像队列的方式,当node1的消息备份到node2中。具体方法:1. 启动三台集群节点2. 进行配置这时消息会随机备份,就算整个集群只剩下一台机器了,依然能处理队列里的消息。
RabbitMQ 集群-自学笔记 正常搭建集群时,通过应当创建多台服务器,但是由于自身电脑不支持,所以考虑在虚拟机上创建centos服务器为node-master,在docker上创建两台ubuntu为node1和node2.2. 启动node1时发现,容器中不包含systemctl命令,所以不能启动rabbitmq,直接install 时发现由于下载源的问题,无法进行update。在添加node节点时,报错,怀疑版本不同,未解决,如果有那位大佬知道是什么问题,欢迎浏览评论。6. 配置各个节点的host 文件,让各个节点都能互相识别对方。
RabbitMQ代码编写-自学笔记 当RabbitMQ发送消息给交换机时,rabbitMQ服务宕机,无法收到消息,此时应该怎么办?为了解决这个问题,我们可以添加一个缓存,用来存放消息备份,当交换机收到消息时,从缓存中清除已经收到的消息,定时任务对未成功发送的消息进行重新投递。
Docker 进阶学习:CAdvisor+InfluxDB+Granfana-自学笔记 原生命令查看容器状态:docker stats 可以很方便看到所有当前宿主机上的容器CPU,但是统计结果是当前宿主机的数据,没有预警和保存历史数据功能。CIG。
Docker 进阶学习:Docker-compose容器编排-自学笔记 Docker-Compose 是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。通过定义配置yml文件,docker-compose.yml,写好多个容器之间的调用关系,通过一个命令,同时启动/关闭这些容器。类似于Spring启动时设涉及对象启动顺序和加载条件等要求,对象越来越多,spring通过 applicationContext.xml文件,对bean对象进行管理。
RabbitMQ代码编写(三) - 自学笔记 使用RabbitMQ来实现延时队列可以很好利用RabbitMQ特性:消息可靠发送,消息可靠投递、死信队列来保障消息至少被消费一次以及未正确处理的消息不会被丢弃。另外,通过RabbitMQ集群的特性,可以很好的解决单点故障问题,不会因为单个节点挂掉导致延时队列不可用或者消息丢失。JAVA 的 DelayQueue 无法保障消息不丢失,以及消息丢失后续处理。
Docker进阶学习:DockerFile -自学笔记 要求centos 镜像具备 vim+ifconfig+jdk8编写Dockerfile文件#安装vim编辑器#安装ifconfig命令查看网络IP#安装JAVA8及lib库#ADD是相对路径jar,把jdk添加到容器中,安装包必须要和Dockerfile文件在同一位置#配置java环境变量EXPOSE 80构建:docker build -t 新镜像名字:TAG .遇到问题:在操作语句结尾加空格再加点。【参考网址】
Docker进阶学习:Docker复杂安装-自学笔记 vim my.cnf[mysqld]## 设置server_id,同一局域网中需要唯一## 指定不需要同步的数据库名称## 开启二进制日志功能## 设置二进制日志使用内存大小(事务)## 设置使用的二进制日志格式## 二进制日志过期清理时间,默认值为0;表示不自动清理##跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。##如:1062错误是指一些逐渐重复,1032错误是因为主从数据库数据不一致root[mysqld]
Docker 常规安装 - 自学笔记 1)搜索镜像:docker search [xxx]2)拉取镜像:docker pull [xxx]3)查看镜像:docker images4)启动镜像:docker run -d -p[ip:ip] [xxx]5)停止容器:docker stop [containerid]6)移除容器:docker rm -f [containerid]
Dockers 容器数据卷 -自学笔记 Docker 挂载主机目录访问如果出现cannot open directory. :Permission denied.解决方法:在挂在目录后多加一个--privileged=true 扩大容器的权限,解决挂载目录没有权限的问题,container内的root拥有真正的root权限。
Docker 镜像 -自学笔记 镜像包括代码+运行时需要的库+环境变量+配置文件,打包而成的iso文件。只用通过镜像文件才能生成Docker容器实例。镜像是分层的,下载的时候能够看到。UnionFS 联合文件系统:分层、轻量级且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层碟机,同时可以将不同目录挂载到同一个虚拟文件系统下。Union文件系统是Docker镜像的基础,镜像可以通过分层来继承,基于基础镜像,可以制作各种具体应用镜像。
RabbitMQ代码编写(二) - 自学笔记 单独发布消息:同步等待确认,简单,吞吐量有限批量发布消息:批量同步等待确认,简单,合理吞吐量,一旦出现问题很难推断出是哪条消息出了问题。异步处理:最佳性能和资源使用,在出现错误的情况下可以很好控制,但是实现稍微困难。
Docker 常用命令 - 自学笔记 启动docker:systemctl start docker停止docker:systemctl stop docker重启docker:systemctl restart docker查看docker状态:systemctl status docker开机启动:systemctl enable docker查看docker概要信息:docker info查看dovker总体帮助文档:docker --help查看docker命令帮助文档:docker 具体命令 --help。
RabbitMQ代码编写(一)-自学笔记 整体步骤:创建连接工厂——创建连接——创建信道——声明回调函数——接收消息。整体步骤:创建连接工厂——创建连接——创建信道——生成队列——发送消息。生产者生产大量消息并发送至队列,队列可以通过多个工作线程接收消息。【本人在网课老师的代码中没有发现什么特殊之处】
RabbitMQ简介及安装 - 自学笔记 7) 开启rabbitmq的web服务:sudo rabbitmq-plugins enable rabbitmq_management。3) 安装rabbitmq:sudo apt-get install rabbitmq-server。4) 添加用户设置密码:sudo rabbitmqctl add_user admin admin。8) 安装成功自动启动:sudo apt-get install rabbitmq-server。简单模式、工作模式、发布订阅模式、路由模式、主体模式、发布确认模式。
MQ简介-自学笔记 2) 应用解耦:A系统中的数据要发送给B、C、D系统,在耦合调用的情况下,任何一个系统报错都会造成整体操作异常,如果让A系统将消息发送至消息队列,再由MQ将消息发送至B、C、D,如果MQ发送失败,会持续监听直至发送成功,这样不会导致整体操作失败,保证系统可用性。1) 流量消锋:如果系统能够接受的处理量为1万次/s,如果超过这个限制,容易造成服务器宕机,此时可以讲处理消息发送至MQ,通过MQ排队,依次发送至服务器处理,这样,虽然降低了速度,但是保证了系统的稳定性。商业版收费,学习成本高。
Docker 安装(CentOS) - 自学笔记 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo【推荐使用aliyun镜像】yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 【外网仓库,不能使用】1)登录阿里云账号,在菜单中选择【容器镜像服务】,在镜像工具中选择【镜像加速器】,获得加速器地址。