Keepalived+Nginx高可用案例(抢占式与非抢占式)
(1)下载安装Keepalived源码包
Keepalived官网源码包下载地址
在服务器上解压
tar -xf keepalived-2.2.8.tar.gz
安装相关前置依赖
yum -y install gcc gcc-c++
使用configure工具进行安装
./con...[2023/11/22]
一款.NET开源的小巧、智能、免费的Windows内存清理工具 - WinMemoryCleaner
前言
我们在使用Windows系统的时候经常会遇到一些程序不会释放已分配的内存,从而导致电脑变得缓慢。今天给大家推荐一款.NET开源的小巧、智能、免费的Windows内存清理工具:WinMemoryCleaner。
使用Windows内存清理工具来优化内存,这样不必浪费时间去重新启动电脑。
...[2023/11/20]
kubernetes container device interface (CDI)kubernetes container device interface (CDI)
CDI 是什么?
Container Device Interface (CDI) 是一个提议的标准,它定义了如何在容器运行时环境中向容器提供设备。这个提议的目的是使得设备供应商能够更容易地将其设备集成到 Kubernetes 集群中,而不必修改 Kubernetes 核心代码。
CDI 插件...[2023/11/20]
本地MQTT协议消息服务远程连接教程介绍
Mosquitto是一个开源的消息代理,它实现了MQTT协议版本3.1和3.1.1。它可以在不同的平台上运行,包括Windows、Linux、macOS等。mosquitto可以用于物联网、传感器、移动应用程序等场景,提供了一种轻量级的、可靠的、基于发布/订阅模式的消息传递机制。
MQTT协议...[2023/11/17]
记一次线上问题引发的对 Mysql 锁机制分析记一次线上问题引发的对 Mysql 锁机制分析
背景
最近双十一开门红期间组内出现了一次因 Mysql 死锁导致的线上问题,当时从监控可以看到数据库活跃连接数飙升,导致应用层数据库连接池被打满,后续所有请求都因获取不到连接而失败
整体业务代码精简逻辑如下:
@Transaction
public void service(Integer ...[2023/11/17]
.NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
2023年11月15日,对.net的开发圈是一个重大的日子,.net 8.0正式版发布。
圈内已经预热了有半个月有余,性能不断超越,开发体验越来越完美,早在.net 5.0的时候就各种吹风Aot编译,直到6.0 7.0使用仍然比较麻烦,我个人比较期待本次更新的aot体验。
有的群友几个小时都...[2023/11/17]
开源一套快速部署程序的工具(CI/CD)
随着微服务越写越多,程序发布就成了一个麻烦事,所以写了一个部署工具 Vela,只要填写一个git地址、编译命令等简单信息,就能自动完成程序的部署。
Vela 特性:
代码可在任意一台电脑自动完成编译,再自动上传至服务器
可指定程序以Docker容器方式运行
编译命令采用终端运...[2023/11/17]
Mybatis和其他主流框架的整合使用
Mybatis简介
MyBatis历史
MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBat...[2023/11/17]
TiDB binlog故障处理之drainer周期性罢工TiDB binlog故障处理之drainer周期性罢工
背景
前段时间用户反馈某生产环境 TiDB 集群 drainer 频繁发生故障,要么服务崩溃无法启动,要么数据跑着跑着就丢失了,很是折磨人。该集群跑的是离线分析业务,数据量20T ,v4版本,有多个 drainer 往下游同步数据,目标端包括kafka、file、tidb多种形态。
两天前刚恢...[2023/11/17]
万字长文:从 C# 入门学会 RabbitMQ 消息队列编程
RabbitMQ 教程
目录RabbitMQ 教程RabbitMQ 简介安装与配置安装 RabbitMQ发布与订阅模型生产者、消费者、交换器、队列多工作队列交换器类型DirectFanoutTopic交换器绑定交换器消费者、消息属性Qos 、拒绝接收消息确认模式消息持久化消息 TTL 时间队列 ...[2023/11/17]
手把手教你如何扩展(破解)mybatisplus的sql生成
mybatisplus 的常用CRUD方法
众所周知,mybatisplus提供了强大的代码生成能力,他默认生成的常用的CRUD方法(例如插入、更新、删除、查询等)的定义,能够帮助我们节省很多体力劳动。
他的BaseMapper中定义了这些常用的CRUD方法,我们在使用时,继承这个BaseMa...[2023/11/15]
shell 语法介绍
大家好,我是蓝胖子,在日常开发中或多或少都会接触到shell脚本,可以说会shell脚本是一位后端开发的基本功,今天我将会花上一篇文章总结下常见的shell的语法,学完本篇,相信简单的shell脚本就能够看懂了,一些比较高级的语法可以遇到的时候再去学习。
我认为学习一门编程语言语法的时候,...[2023/11/15]
基于C# Socket实现的简单的Redis客户端基于C# Socket实现的简单的Redis客户端
前言
Redis是一款强大的高性能键值存储数据库,也是目前NOSQL中最流行比较流行的一款数据库,它在广泛的应用场景中扮演着至关重要的角色,包括但不限于缓存、消息队列、会话存储等。在本文中,我们将介绍如何基于C# Socket来实现一个简单的Red...[2023/11/15]
在Window系统中安装VMware虚拟机搭建Linux服务器
1、什么是VMware Workstation
VMware Workstation Pro是一款桌面虚拟化软件。我们可以通过Workstation Pro在Windows或Linux PC上运行多个操作系统作为虚拟机。它是运行虚拟机的行业通用标准,可以方便快速地使用Windows或者Linu...[2023/11/15]
Linux socket API
socket是进程通信机制的一种,与PIPE、FIFO不同的是,socket即可以在同一台主机通信(unix domain),也可以通过网络在不同主机上的进程间通信(如:ipv4、ipv6),例如因特网,应用层通过调用socket API来与内核TCP/IP协议栈的通信,通过网络字节实现不用主机...[2023/11/15]
【MySQL】MySQL中的锁
全局锁
全局锁是对整个数据库实例加锁,整个库处于只读状态。
flush tables with read lock
适用场景
全局锁适用于做全库逻辑备份,但是整个库处于只读状态,在备份期间,所有的更新操作、DDL将会被阻塞,会对业务产生影响。
single-transaction
...[2023/11/13]
windows11配置wsl2虚拟linux环境
windows11配置wsl2虚拟linux环境
wsl( Windows Subsystem for Linux )是microsoft官方为windows开发的模拟Linux方法。避免了虚拟机vmware的性能损耗开销,或者双系统两者不能同时运行的问题。wsl2似乎可以满足大部分Linux需...[2023/11/13]
Ansible自动化部署工具-组件及语法介绍
大家好,我是蓝胖子,我认为自动化运维要做的事情就是把运维过程中的某些步骤流程化,代码化,这样在以后执行类似的操作的时候就可以解放双手了,让程序自动完成。避免出错,Ansible就是这方面非常好用的工具。它能将我们的安装软件,部署等过程进行代码编排,程序化我们的部署步骤。今天,我们就来看看它的工...[2023/11/10]
Redis 哨兵模式的原理及其搭建
1.Redis哨兵
Redis提供了哨兵(Sentinel)机制来实现主从集群的自动故障恢复。
1.1.哨兵原理
1.1.1.集群结构和作用
哨兵的结构如图:
哨兵的作用如下:
监控:Sentinel 会不断检查您的master和slave是否按预期工作。
自动故障恢复:如果...[2023/11/10]
Linux Media 子系统链路分析
一、概述
Media 子系统是一个用于处理多媒体设备的框架,它提供了一组 API 和驱动程序,用于管理和控制视频、音频和其他多媒体设备。而 V4L2 是 media 子系统的一部分,用于处理视频相关的功能。
了解 MIPI 摄像头后,发现 linux 系统下的流媒体驱动很复杂,而 MIPI 摄...[2023/11/10]
MySQL 数据库表格创建、数据插入及获取插入的 ID:Python 教程MySQL 数据库表格创建、数据插入及获取插入的 ID:Python 教程
创建表格
要在MySQL中创建表格,请使用"CREATE TABLE"语句。
确保在创建连接时定义了数据库的名称。
示例创建一个名为 "customers" 的表格:
import mysql.connector
mydb = mysql.connector.connect(
hos...[2023/11/10]
分享一次公司晋级考试的SQL题目,非常有趣的案例(postgresql 标量子查询 where like 谓词过滤条件)分享一次公司晋级考试的SQL题目,非常有趣的案例(postgresql 标量子查询 where like 谓词过滤条件)
同事今天晋级高级工程师考试,发来一道公司出题目让我帮忙进行优化,其中场景二的案例非常有意思??。
题目内容如下:
原始SQL:
scott=> explain analyze
scott-> select
scott-> a.id,
scott-> a...[2023/11/10]
提升运维效率:轻松掌握JumpServer安装和使用技巧
前言
JumpServer 是一个开源的跳板机的解决方案,提供了对远程服务器的安全访问、会话录制和审计、用户身份管理等功能,适用于需要管理机器资源&大量服务器资源的情况。
本文将分享在 docker 中 JumpServer 的安装使用经验,并使用油猴插件扩展其功能
特点
开源免...[2023/11/10]
Ubuntu部署雷池Waf社区版Ubuntu部署雷池Waf社区版
安装docker环境
更新软件包
sudo apt update
安装docker环境
apt-get install docker.io
docker -v
安装docker compose V2版本
该命令为$HOME目录下的活动用户安装Compose V2。为系统中的所...[2023/11/10]
线上SQL超时场景分析-MySQL超时之间隙锁
前言
之前遇到过一个由MySQL间隙锁引发线上sql执行超时的场景,记录一下。
背景说明
分布式事务消息表:业务上使用消息表的方式,依赖本地事务,实现了一套分布式事务方案
消息表名:mq_me ages
数据量:3000多万
索引:create_time 和 status
status...[2023/11/10]
k8s-服务网格实战-配置 Mesh(灰度发布)
在上一篇 k8s-服务网格实战-入门Istio中分享了如何安装部署 Istio,同时可以利用 Istio 实现 gRPC 的负载均衡。
今天我们更进一步,深入了解使用 Istio 的功能。
从 Istio 的流量模型中可以看出:Istio 支持管理集群的出入口请求(gateway),...[2023/11/8]
windows文件搜索;文件预览;全文搜索,只需myso就够了windows文件搜索;文件预览;全文搜索,只需myso就够了
简介
现在提到windows文件搜索,大家可能会想到Everything、Listary、AnyTXT这三款工具,它们各有自己的专长,不能相互替代,需要安装至少两款才能高效的搜索电脑文件。现在向大家推荐一款集这三家之所长的搜索工具myso,仅需安装myso就可以高效的搜索电脑文件。
介绍mys...[2023/11/6]
手记系列之七 ----- 分享Linux使用经验手记系列之七 ----- 分享Linux使用经验
前言
本篇文章主要介绍的关于本人在使用Linux记录笔记的一些使用方法和经验,温馨提示,本文有点长,约1.7w字,几十张图片,建议收藏查看。
一、Linux基础使用
1,服务器查看及时日志
tail -500f catalina.out
2,如何退出logs日志
ctrl+c ...[2023/11/6]
Redis创始人开源最小聊天服务器,仅200行代码,几天功夫已获2.8K Star!
中午时候,在技术交流群里聊起关于Redis创始人的一些趣事,比如离开Redis之后,去写科幻小说之类的。
因为好奇科幻小说,TJ君就去搜索了一下。结果一搜,发现Redis作者最近居然又搞了个新活儿!
世界上最小的聊天服务器
这次Redis作者的新开源项目名叫:SmallChat。 从关于内容...[2023/11/6]
Kubernetes:kube-apiserver 和 etcd 的交互
kubernetes:kube-apiserver 系列文章:
Kubernetes:kube-apiserver 之 scheme(一)
Kubernetes:kube-apiserver 之 scheme(二)
Kubernetes:kube-apiserver 之启动流程(一)
Kub...[2023/11/6]
Apache Hudi Timeline:支持 ACID 事务的基础
Apache Hudi 维护在给定表上执行的所有操作的Timeline(时间线),以支持以符合 ACID 的方式高效检索读取查询的数据。 在写入和表服务期间也会不断查阅时间线,这是表正常运行的关键。 如果任何时间线操作出现混乱(由于多写入未配置锁提供程序等),则可能导致数据一致性问题(数据丢失或...[2023/11/6]
使用 Docker Compose 部署 RabbitMQ 的一些经验与踩坑记录
前言
RabbitMQ 是一个功能强大的开源消息队列系统,它实现了高效的消息通信和异步处理。
本文主要介绍其基于 Docker-Compose 的部署安装和一些使用的经验。
特点
成熟,稳定
消息持久化
灵活的消息路由
高性能,高可用性,可扩展性高
支持插件系统:RabbitMQ 具有丰...[2023/11/3]
MyBatis拦截器优雅实现数据脱敏
背景
现代网络环境中,敏感数据的处理是至关重要的。敏感数据包括个人身份信息、银行账号、手机号码等,泄露这些数据可能导致用户隐私泄露、财产损失等严重后果。因此,对敏感数据进行脱敏处理是一种必要的安全措施。
比如页面上常见的敏感数据都是加*遮挡处理过的,如下图所示。
接下来本文将以Sprin...[2023/11/3]
nginx参数调优能提升多少性能nginx参数调优能提升多少性能
前言
nginx安装后一般都会进行参数优化,网上找找也有很多相关文章,但是这些参数优化对Nginx性能会有多大影响?为此我做个简单的实验测试下这些参数能提升多少性能。
声明一下,测试流程比较简单,后端服务也很简单,测试时间也很短,所以实验并不严谨,结果仅作参考,需要根据实际情况进行参数调优。
...[2023/11/3]
美团面试:Redis 除了缓存还能做什么?可以做消息队列吗?
这是一道面试中常见的 Redis 基础面试题,主要考察求职者对于 Redis 应用场景的了解。
即使不准备面试也建议看看,实际开发中也能够用到。
内容概览:
Redis 除了做缓存,还能做什么?
分布式锁:通过 Redis 来做分布式锁是一种比较常见的方式。通常情况下,我们都是基于 R...[2023/11/3]
一篇文章玩透awk
安装新版本gawk
awk有很多种版本,例如nawk、gawk。gawk是GNU awk,它的功能很丰富。
本教程采用的是gawk 4.2.0版本,4.2.0版本的gawk是一个比较大的改版,新支持的一些特性非常好用,而在低于4.2.0版本时这些语法可能会报错。所以,请先安装4.2.0版本或更...[2023/11/3]
前后端都用得上的 Nginx 日常使用经验
前言
nginx 是一个高性能的开源反向代理服务器和 web 服务器,一般用来搭建静态资源服务器、负载均衡器、反向代理,本文将分享其在 Window docker 中的使用,使用 n m 部署成服务的方案脚本,局域网中自定义域名解决https提示不安全的解决方案,以及一路踩过的坑。
特点
...[2023/11/3]
k8s-服务网格实战-入门Istio
背景
终于进入大家都比较感兴趣的服务网格系列了,在前面已经讲解了:
如何部署应用到 kubernetes
服务之间如何调用
如何通过域名访问我们的服务
如何使用 kubernetes 自带的配置 ConfigMap
基本上已经够我们开发一般规模的 web 应用了;但在企业中往往有着复杂...[2023/11/1]
SQL Server数据库创建远程服务器备份计划(小白详细图文教程)
一、前言
最近项目系统做安全加固,以前是本地备份,现在需要做远程内网服务器数据库备份,后期也有可能做异地备份。下面以SQL Server2016 内网服务器数据库备份为例,
数据库服务器地址:192.168.10.200
备份服务器地址:192.168.10.100
二、创建存储文件夹192...[2023/11/1]
Linux运维技能图谱
前言
该技能图谱依个人经验绘制,不适用于所有运维岗位。对于刚入行的从业者,也不需要按照图谱全学一遍,应该根据岗位工作内容来学习。有些技术我也不会,但作为一个选项我也写进去了,比如容器运行时有Docker、Podman等,但我其实只会Docker。
运维这个岗位本身比较宽泛,也有很多的细分类,比...[2023/11/1]
MySQL系列:binlog日志详解(参数、操作、GTID、优化、故障演练)MySQL系列:binlog日志详解(参数、操作、GTID、优化、故障演练)
目录简介作用系统参数--log_bin--server_id--binlog_format--sync-binlog(双一标准)--gtid-mode(gtid)--enforce-gtid-consistency(gtid)--expire-logs-day(优化参数)--binlog_cac...[2023/11/1]
Apollo 配置中心的部署与使用经验Apollo 配置中心的部署与使用经验
前言
Apollo(阿波罗)是携程开源的分布式配置管理中心。
本文主要介绍其基于 Docker-Compose 的部署安装和一些使用的经验
特点
成熟,稳定
支持管理多环境/多集群/多命名空间的配置
配置修改发布实时(1s)通知到应用程序
支持权限控制、配置继承,版本管理,灰度发布,使用...[2023/11/1]
Redis7新特性简介及十大数据类型
Redis是基于内存的K-V键值对内存数据库
浅谈Redis7新特性
主要是自身底层性能和资源利用率上的提高和优化。
多AOF文件支持
config命令增强
限制客户端内存使用
listpack紧凑列表调整
访问安全性增强
Redis Funct...[2023/11/1]
面试题:MySQL事务的ACID如何实现?面试题:MySQL事务的ACID如何实现?
大家好,我是【码老思】,事务是一个数据库绕不开的话题,今天和大家一起聊聊。
事务是什么?
事务(Transaction)是并发控制的基本单位。所谓的事务呢,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。
在介绍事务的特性之前,我们先看下MySQL的逻...[2023/10/30]
【问题复盘】在Ubuntu 20.04下安装OFED驱动
复盘:在Ubuntu 20.04下安装OFED驱动
起因
最近收到两台服务器,都搭载了ConnectX-5 EX网卡。由于供应商预装了Ubuntu 20.04操作系统,而我们的后端代码也是基于Ubuntu开发的,因此需要在Ubuntu上安装ConnectX-5网卡的驱动。
问题
尽管供应商已经...[2023/10/30]
Python使用pymysql和xlrd2将Excel数据导入MySQL数据库Python使用pymysql和xlrd2将Excel数据导入MySQL数据库
在数据处理和管理中,有时候需要将Excel文件中的数据导入到MySQL数据库中进行进一步的分析和操作。本文将介绍如何使用Python编程语言实现这个过程。
导入所需库
import xlrd2 # 导入xlrd2库,用于读取Excel文件
import pymysql # 导入pymysq...[2023/10/30]
FreeSWITCH的moh使用笔记
操作系统 :CentOS 7.6_x64
FreeSWITCH版本 :1.10.9
之前写过FreeSWITCH安装的文章,今天整理下moh使用过程中遇到的问题及解决方案,并提供moh音频下载途径。FreeSWITCH安装的文章可参考如下链接:
docker构建FreeSWITCH编译环境...[2023/10/30]
Python 利用pymysql和openpyxl操作MySQL数据库并插入Excel数据
1. 需求分析
本文将介绍如何使用Python连接MySQL数据库,并从Excel文件中读取数据,将其插入到MySQL数据库中。
2. 环境准备
在开始本文之前,请确保您已经安装好了以下环境:
Python 3.x
PyMySQL库
openpyxl库
MySQL数据库
3. 连接MySQ...[2023/10/30]
放弃老旧的Mybatis,强类型替换字符串,这是一款你不应该错过的ORM
一款轻量级、高性能、强类型、易扩展符合C#开发者的JAVA自研ORM
github地址 easy-query https: github.com/xuejmnet/easy-query
gitee地址 easy-query https: gitee.com/xuejm/easy-query
背...[2023/10/30]
实战攻防演练-Linux写入ssh密钥,利用密钥登录
前言
密钥形式登录的原理是利用密钥生成器制作一对密钥,一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。
下...[2023/10/30]