程序开发 Docker 搭建 RocketMQ 以及可视化面板 rocketmq 是一个开源的消息中间件,以其高性能、高可靠性、高可扩展性和良好的容错性而闻名。它支持多种消息类型,包括但不限于队列模型和发布/订阅模型,能够满足不同场景下的消息传递需求。搭建方式如下: 1. 命令行搭建 首先需要创建一个网络: docker network create rocketmq 创建 name server 日志和存储目录: mkdir -p /home/docker/...
经验教程 Nexttrace 可视化网络路由工具 之前不关注线路这个玩意,所以即使之前看见 nexttrace 这款神器,好像也没有觉得有什么有特点的地方。直到自己真正关注线路,想直到自己买这款服务器的线路绕不饶,用起来好不好,才意识到 nexttrace 的好用之处。 linux 安装非常简单: curl nxtrace.org/nt |bash 其他系统安装参考开源地址:NTrace-core 以 UCloud 为例,使用官方提供的 UClo...
经验教程 Docker-compose 容器健康检查的作用 在 docker-compose 中,往往会伴随着多个容器的一起的创建和销毁。例如,微服务需要等待 nacos 成功启动以后再进行启动,否则先启动则会启动失败,因为不能在 nocos 上注册自己。 以下是一个简单的案例: version: '3.1' services: nginx: image: nginx container_name: nginx restart: alw...
文章转载 为什么说 Mysql 数据库单表最大两千万 想必大家也听说过数据库单表建议最大2kw条数据这个说法。如果超过了,性能就会下降得比较厉害。 巧了。 我也听说过。 但我不接受它的建议,硬是单表装了1亿条数据。 这时候,我们组里新来的实习生看到了之后,天真无邪的问我:"单表不是建议最大两千万吗?为什么这个表都放了1个亿还不分库分表"? 我能说我是因为懒吗?我当初设计时哪里想到这表竟然能涨这么快。。。 我不能。 说了等于承认自己...
运维开发 Mysql 的日志文件 binlog 与数据恢复 一、Binlog 1. 简介 MySQL 的二进制日志(Binlog)是一种事务日志,用于记录对数据库的更改操作。 Binlog 主要用于 MySQL 复制和恢复: 复制: 从库通过拉取主库的binlog实现主从数据一致 恢复: 通过重放binlog恢复数据丢失或误操作情况 2. 原理 在 MySQL 中,每个事务都会在提交后生成相应的 Binlog 记录。MySQL 服务器会为每个客户端连接创建...
运维开发 解决 Centos 的 yum 源失效问题 Centos7 已经在 7 月 1 日彻底停止维护了,所以使用 yum 进行安装时会提示 404,只需要更换 yum 源就好使了。 首先备份配置文件,虽然这个文件以后也用不到了,但是养成好习惯。 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak # 第三方库源 #sudo wget -O ...
运维开发 使用 mtr 命令排查网络问题 一、简介 常用的 Ping,Traceroute,nslookup 一般用来判断主机的网络连通性,其实有一个更好用的网络联通性判断工具,这个命令就是 MTR。MTR 结合了 Traceroute 和 Ping 的功能,提供了更为丰富的信息,包括实时的网络状态和统计数据。 Traceroute 默认使用 UDP 数据包探测,而 MTR 默认使用 ICMP 报文探测,ICMP 在某些路由节点的优先级要...
运维开发 Linux 磁盘加密和自动挂载 1. 描述 LUKS(Linux Unified Key Setup)是一个标准,定义了在Linux系统上进行磁盘加密的格式和规范。 而 cryptsetup 是一个实现了 LUKS 标准的工具,用于在 linux 系统上管理磁盘加密。它能够创建、管理和解锁加密的磁盘分区或整个硬盘。主要功能包括设置加密选项、创建加密设备映射、打开和关闭加密设备等。 使用 cryptsetup 对分区进行加密后,该...
程序开发 Mysql 左连接、右连接与全连接的区别 创建表并插入数据 1. 创建 employees 表 CREATE TABLE employees ( employee_id INT PRIMARY KEY, name VARCHAR(50), department_id INT ); 2. 创建 departments 表 CREATE TABLE departments ( department_id INT PRIMARY KEY, de...
运维开发 Ubuntu 在线更新内核 之前想着离线更新内核,但是根据网上下载了内核的安装包,发现安装新的内核会牵扯到其他软件的更新问题,比如说安装新版本的内核需要 libc6 版本 >= 2.38 等等,确实有点麻烦。 后来了解到 Mainline, 它是一个用于在 Ubuntu 系统上安装最新 Linux 内核的工具。并且,它由 Ubuntu 的主线内核团队维护,使用户能够轻松地获取和安装由 Ubuntu 内核团队构建和测试的...
运维开发 Linux 创建和释放 swap 分区 1. 创建swap分区 创建 swap 文件: mkdir /.swap dd if=/dev/zero of=/.swap/swapfile bs=1M count=2048 把这个文件变成Swap文件并激活: mkswap /.swap/swapfile && swapon /.swap/swapfile 编辑 /etc/fstab 设置开机启用: /.swap/swapfil...
经验教程 APScheduler 官方文档 安装 APScheduler $ pip install apscheduler 快速开始 from apscheduler.schedulers.blocking import BlockingScheduler scheduler = BlockingScheduler() @scheduler.scheduled_job('cron', hour='8-23...