环境
1234AlmaLinux release 9.4 (Seafoam Ocelot)jdk 1.8tomcat 8docker-ce 27.2.1
准备文件dockerfilejdk-8u45-linux-x64.rpmapache-tomcat-8.5.43.tar.gzCentos-vault-8.5.2111.repo
因为centos的docker镜像使用的是centos8,而centos8已经不维护了,所以需要使用老repo文件
写dockerfile1234567891011FROM centos:latestMAINTAINER wangshengWORKDIR /...
git常用命令1234567891011121314151617181920212223242526272829303132git init 初始化目录作为git仓库,该操作会创建一个.git来记录git操作git config --global git全局配置设置,常用设置user.name,user.email,color.ui关键字高亮git status 查看当前目录下的文件的状态 git add <文件名> 将文件从workspace工作目录添加到index暂存区git rm --cached <文件名&g...
自动化安装zabbix-agent1234567891011121314151617181920212223242526272829303132333435363738394041424344---- hosts: redis tasks: - name: 换源 shell: "cp -a /etc/yum.repos.d /etc/yum.repos.d.backup && rm -rf /etc/yum.repos.d/*" - get_url: url: http://mirrors.aliyun.com/r...
缺陷主从
如果redis1 2 3中任意一台服务器down,都会直接导致redis数据丢失
此时的错误容忍性是:每台服务器最多故障一个redis实例
正常主从
此时的错误容忍性:允许任意一台服务器宕机的同时,任意一个redis实例故障
主从关系调整将当前Redis集群中的主从关系从同主机上的8001和8002端口间的自循环调整为交错的主从关系
CLUSTER REPLICATE NOONE 使当前redis节点断开主从关系
CLUSTER REPLICATE <new-master-node-id> 使当前redis节点从从节点提升为主节点
当前状态
12345678clus...
特殊机制——ASK路由错误演示123456789101112131415161718192021222324252627282930下面是一个redis集群192.168.10.116 redis1192.168.10.117 redis2192.168.10.118 redis38001端口主8002端口从测试脚本#!/bin/bash # Redis端口 PORT=8001 # 遍历 1 到 1002 for (( i=1; i<=1002; i++ )) do # 构造键和值 KEY="k_$i" VALUE=&q...
Redis-Cluster扩容123456789101112环境:192.168.10.116 redis1192.168.10.117 redis2192.168.10.118 redis3扩容节点:192.168.10.116 redis端口也使用8001、80023个slots分配到4个slots中也就是原本每个5460,现在每个4096每一台分1364过去
slot分配流程1.目标节点准备导入slots2.源节点导出slots3.获取slot下的键4.迁移键数据5.循环迁移6.通知slot分配给目标节点
扩容节点部署1234567891011121314151617181920...
sentinel哨兵模式的缺点1.在sentinel选举出来新master时,选举期间会存在访问瞬断的情况2.哨兵模式对外只有master节点可以写,slave节点只能用于读,写的压力相对较大,高并发场景下不合适3.Redis的单节点内存不能设置过大,若数据过大在主从同步将会很慢;在节点启动的时候由于需要全量同步很慢
Redis集群的优点
Redis集群有多个master,不需要切换,可以减小访问瞬断问题的影响
Redis集群有多个master,可以提供更高的并发量
Redis集群可以分片存储,这样就可以存储更多的数据
Redis集群是一个由多个主从节点群组成的分布式服务集群,它具有复...
主从复制的介绍中讲到,当主数据库出现问题时,需要手动将其中一个slave提升为master提供服务,在原有master起来时,将其更新为slave节点来同步数据
2.8之后提供了哨兵模式来自动化系统监控和故障恢复,这是一个官方推荐的架构1.监控master和slave是否正常2.master出现故障时,选举slave作为新的master,其他slave节点追随的master地址被自动改为新master地址
哨兵模式概念每个sentinel节点就是一个redis节点监控redis节点的同时,也会互相监控哨兵节点也可以组成集群,用来监控多个redis集群
哨兵模式工作过程sentinel节点...
主从刚连接的时候,会进行全量同步,全量同步结束后进行增量同步如果有需要会在任何时候发起全量同步,首先进行增量同步,如果不行就进行全量同步
redis主从复制的特点1.是异步复制,实时性较差2.一个主redis可以含有多个redis3.可以使用级联结构4.非阻塞的同步(因为是异步复制),同步时依然可以处理请求5.提高的可用性和扩展性(可扩展,读负载均衡
redis主从复制过程全量同步阶段(disk方式)slave第一次启动时,初始化阶段,此时slave将master节点数据复制一遍在2.8版本之前,重启slave节点也会进行全量同步此时slave无法提供服务1.slave连接master,...
事务在数据库层面,事务是指一组操作,这些操作要么全都被成功执行,要么全都不执行。
数据库事务的四大特性
A:Atomic,原子性,将所有SQL作为原子工作单元执行,要么全部执行,要么全部不执行;(如果失败就会回滚)
C:Consistent,一致性,事务完成后,所有数据的状态都是一致的,即A账户只要减去了100,B账户则必定加上了100;
I:Isolation,隔离性,如果有多个事务并发执行,每个事务作出的修改必须与其他事务隔离;
D:Duration,持久性,即事务完成后,对数据库数据的修改被持久化存储。
Redis事务的特性1.单独隔离操作事务中的所有命令都会序列化,按照顺序执行...