Redis创始人开源最小聊天服务器,仅200行代码,几天功夫已获2.8K Star!
中午时候,在技术交流群里聊起关于Redis创始人的一些趣事,比如离开Redis之后,去写科幻小说之类的。
因为好奇科幻小说,TJ君就去搜索了一下。结果一搜,发现Redis作者最近居然又搞了个新活儿!
世界上最小的聊天服务器
这次Redis作者的新开源项目名叫:SmallChat。 从关于内容...[2023/11/6]
Kubernetes:kube-apiserver 和 etcd 的交互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 日常使用经验
前言
nginx 是一个高性能的开源反向代理服务器和 web 服务器,一般用来搭建静态资源服务器、负载均衡器、反向代理,本文将分享其在 Window docker 中的使用,使用 n m 部署成服务的方案脚本,局域网中自定义域名解决https提示不安全的解决方案,以及一路踩过的坑。
特点
...[2023/11/3]
k8s-服务网格实战-入门Istiok8s-服务网格实战-入门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、优化、故障演练)
目录简介作用系统参数--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(阿波罗)是携程开源的分布式配置管理中心。
本文主要介绍其基于 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数据库
在数据处理和管理中,有时候需要将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放弃老旧的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]
LINUX基础知识和命令 二
LINUX
alias (别名)
自定义命令=原始命令
原始命令中有特殊符@#%()请打上 引号,单双无所谓
例:vim /etc ysconfig/network-script ifcfg-ens33
alias myvim=“vim /etc ysconfig/network-scri...[2023/10/25]
.NET6发布项目到腾讯云Windows2012R全网最详细教程
注意:本次使用腾讯云作为本次的演示
1、创建服务器及连接
1.1 请先在腾讯云、阿里云等创建实例
1.2 打开远程连接工具输入在腾讯云获取的公网iP输入计算机
1.3 根据图片点击连接
1.4 输入服务器密码点击连接
1.5 点击是进行连接连接成功就会跳转到桌面
2、安装SQ...[2023/10/25]
Linux账号密码安全运维
前言
随着云计算厂商的兴起,云资源如ECS不再只有企业或者公司才会使用,普通人也可以自己买一台ECS来搭建自己的应用或者网站。虽然云计算厂商帮我们做了很多安全相关的工作,但并不代表我们的机器资源就绝对是安全的。
要知道有很多事情是云计算厂商不能为我们做的,就比如账号密码的安全策略配置,而账号密...[2023/10/25]
Kubernetes:kube-apiserver 之启动流程(一)
0. 前言
前面两篇文章 Kubernetes:kube-apiserver 之 scheme(一) 和 Kubernetes:kube-apiserver 之 scheme(二) 重点介绍了 kube-apiserver 中的资源注册表 scheme。这里进入正题,开始介绍 kube-api...[2023/10/25]
Net 高级调试之二:CLR和Windows加载器及应用程序域介绍Net 高级调试之二:CLR和Windows加载器及应用程序域介绍
一、简介 今天是 Net 高级调试的第二篇文章,第一篇文章记录了自己学习 Net 高级调试的第一步,认识一些调试工具,有了工具的倚仗,我们开始仗剑走天涯了,开始Net 高级调试正式的征程了。我先说一下,我的文章,【调试测试】这部分一般分为两个部分,第一部分是要用到的所有测试代码样例,也为大...[2023/10/25]
POSIX 真的不适合对象存储吗?
最近,留意到 MinIO 官方博客的一篇题为“在对象存储上实现 POSIX 访问接口是坏主意”的文章,作者以 S3FS-FUSE 为例分享了通过 POSIX 方式访问 MinIO 中的数据时碰到了性能方面的困难,性能远不如直接访问 MinIO。在对结果进行分析时,作者认为是 POSIX 本身存在...[2023/10/25]
自定义MyBatis拦截器更改表名
by emanjusaka from ? https: www.emanjusaka.top/archive 10 彼岸花开可奈何
本文欢迎分享与聚合,全文转载请留下原文地址。
自定义MyBatis拦截器可以在方法执行前后插入自己的逻辑,这非常有利于扩展和定制 MyBatis 的功能。本...[2023/10/25]
Linux内存管理 | 一、内存管理的由来及思想
1、前言
《中庸》有:“九层之台,起于垒土” 之说,那么对于我们搞技术的人,同样如此!
对于Linux内存管理,你可以说没有留意过,但是它存在于我们日常开发的方方面面,你所打开的文件,你所创建的变量,你所运行的程序,无不以此为基础,它可以说是操作系统的基石;只是底层被封装的太好了,以至于我们...[2023/10/25]
Hyper-V 下的 Debian 双网卡配置
Debian 双网卡配置
因为 Hyper-v 不能在 Hyper-v Manger 里设置网卡的静态 IP,
而每次开机自启之后又要连接 Debian 虚拟机,所以使用了双网卡。
双网卡分为内网网卡和外网网卡:
内网网卡设置为静态 IP,供给宿主机连接使用
外网网卡设置为 DHCP 获取...[2023/10/25]
【SqlServer】存储过程:批量查询数据库下表的元数据
一、查询单张表
1.1 根据表名查询表结构
--快速查看表结构(比较全面的)
DECLARE @tableName NVARCHAR(MAX);
SET @tableName = N''YMUS''; --表名!!!
SELECT CASE
WHEN col.colord...[2023/10/23]
16. 从零开始编写一个类nginx工具, 反向代理upstream源码实现
wmproxy
wmproxy将用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,后续将实现websocket代理, 内外网穿透等, 会将实现过程分享出来, 感兴趣的可以一起造个轮子法
项目 wmproxy
gite: https: gitee.com/...[2023/10/23]
【RocketMQ】数据的清理机制
Broker在启动的时候会注册定时任务,定时清理过期的数据,默认是每10s执行一次,分别清理CommitLog文件和ConsumeQueue文件:
public cla DefaultMe ageStore implements Me ageStore {
CommitLog清...[2023/10/23]
nginx配置解决跨域访问
场景:前后的分离项目,前端vue框架,打包后放在Tomcat里访问,端口是8080,后端服务端口8058。访问前端项目时,调用后端接口报跨域。
后端环境
正常访问端口8058
经过nginx配置(文末具体展示)后,去除端口,如下:
前端开发环境
1. 配置开发和生产的环境变量
...[2023/10/23]
MYSQL语句
MySQL常用基础语句
cmd登录
mysql -h localhost -u root -p
SHOW语句
返回可用数据库列表
show databases;
返回当前选择数据库内可用表的列表
show tables;
显示表中的所有列(xxx:表名)
show columns ...[2023/10/23]
client-go实战之九:手写一个kubernetes的controller
欢迎访问我的GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https: github.com/zq2599/blog_demos
本篇概览
本文是《client-go实战》系列的第九篇,前面咱们已经了解了client-go的基本功能,现在要来一次经典的综合实战了,接下来咱们会...[2023/10/23]
db-cdc之mysql 深入了解并使用binlog
1.什么是binlog?
2.binlog可以用来干什么?
3.怎么样使用binlog?
binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、
UPDATE、DELETE…)的二进制日志。实际落库产生的日志(事务提交...[2023/10/20]
15. 从零开始编写一个类nginx工具, 如果将nginx.conf转成yaml,toml,json会怎么样
wmproxy
wmproxy将用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,后续将实现websocket代理, 内外网穿透等, 会将实现过程分享出来, 感兴趣的可以一起造个轮子法
项目 ++wmproxy++
gite: https: gitee....[2023/10/20]
【Noi-Linux 2.0】 装机+使用整合
写在前面
网上的东西比较多,也比较杂乱,不是很方便,所以我整合了一些关于 Noi-Linux2.0 虚拟机装机方法+代码编辑环境+实地编程的介绍,看完至少能用起来打代码了。
NOI 官网公告(JS 开始使用 Noi-Linux2.0 作为唯一操作系统):https: www.noi.cn/gy...[2023/10/19]
在 kubernetes 环境中实现 gRPC 负载均衡
前言
前段时间写过一篇 gRPC 的入门文章,在最后还留了一个坑没有填:
也就是 gRPC 的负载均衡问题,因为当时的业务请求量不算大,再加上公司没有对 Istio 这类服务网格比较熟悉的大牛,所以我们也就一直拖着没有解决,依然只是使用了 kubernetes 的 service 进行...[2023/10/19]
Redis中的缓存雪崩、缓存击穿、缓存穿透问题Redis中的缓存雪崩、缓存击穿、缓存穿透问题
1. 什么是缓存雪崩
当我们提到缓存系统中的问题,缓存雪崩是一个经常被讨论的话题。缓存雪崩是指在某一时刻发生大量的缓存失效,导致瞬间大量的请求直接打到了数据库,可能会导致数据库瞬间压力过大甚至宕机。尤其在高并发的系统中,这种情况会导致连锁反应,整个系统可能会崩溃。
1.1 缓存雪崩的成因
大量...[2023/10/19]
分享一个Redis自带的压测工具:redis-benchmark分享一个Redis自带的压测工具:redis-benchmark
前言
今天给xdm分享一个Redis自带的压测工具:redis-benchmark。
介绍
redis-benchmark 是一个用于测试 Redis性能的基准测试工具,可以帮助开发人员评估和比较 Redis 在不同配置或负载情况下的吞吐量和延迟。
使用 redis-benchmark 可以...[2023/10/19]
【v2v迁移】Xen2kvm 迁移-Windows篇
导读:
本文系原创,欢迎规范转载。
本文描述了如何处理window虚拟机从xen虚拟化迁移kvm虚拟化遇到问题,包括安装virtio驱动等。
系列文章:
xen2kvm迁移-Windows篇
xen2kvm迁移-Linux篇
迁移环境:
源平台:华为FusionComputeV100R0...[2023/10/18]
Kubernetes:kube-apiserver 之 scheme(一)
0. 前言
在进入 kube-apiserver 源码分析前,有一个非常重要的概念需要了解甚至熟悉的:资源注册表(scheme)。
Kubernetes 中一切皆资源,管理的是资源,创建、更新、删除的是资源。如何对庞杂的资源进行管理就成了一件大事。Kubernetes 通过引入 scheme...[2023/10/18]
SqlServer的执行计划如何分析?
sqlserver的执行计划
执行计划是 SQL Server 中的一个重要工具,用于分析和优化查询的性能。它提供了关于查询的详细信息,包括查询的执行顺序、使用的索引、连接类型、过滤条件等。
What(什么):执行计划显示了查询的执行计划,即查询的逻辑操作和物理操作。它告诉你查询是如何执行...[2023/10/18]
Istio 入门(六):版本控制
目录VirtualService 和 DestinationRuleVirtualService 与 Service 的关系VirtualService 和 DestinationRule 的关系VirtualService 的定义DestinationRule 的定义
完整系统教程电子书阅...[2023/10/18]
client-go实战之八:更新资源时的冲突错误处理
欢迎访问我的GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https: github.com/zq2599/blog_demos
本篇概览
本文是《client-go实战》系列的第七篇,来了解一个常见的错误:版本冲突,以及client-go官方推荐的处理方式
本篇由以下部分组...[2023/10/17]
记一次MySQL5初始化被kill的问题排查记一次MySQL5初始化被kill的问题排查
写在前面
由于测试环境JED申请比较繁琐,所以Eone提供了单机版Mysql供用户使用,近期Eone搭建Mysql5的时候发现莫名被kill了,容器规格是4C8G,磁盘30G
这不科学,之前都是可以的,镜像没变,配置没变,咋就不行了呢,一定不是我的问题,是机器的问题
问题排查
重现
通过多次...[2023/10/17]
Linux 本地部署私有Stackedit Markdown编辑器远程访问
StackEdit是一个受欢迎的Markdown编辑器,在GitHub上拥有20.7k Star!,它支持将Markdown笔记保存到多个仓库,包括Gitee、GitHub和Gitea。此在线笔记工具还提供了一些便捷功能,如拖拽或粘贴上传图片、文件搜索功能,以及可切换为炫酷的暗黑主题,这些功能...[2023/10/17]