自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (3)
  • 收藏
  • 关注

原创 Redis 生产问题

具体是这样做的:把所有可能存在的请求的值都存放在布隆过滤器中,当用户请求过来,先判断用户发来的请求的值是否存在于布隆过滤器中。缓存雪崩和缓存击穿比较像,但缓存雪崩导致的原因是缓存中的大量或者所有数据失效,缓存击穿导致的原因主要是某个热点数据不存在与缓存中(通常是因为缓存中的那份数据已经过期)。举个例子:秒杀进行过程中,缓存中的某个秒杀商品的数据突然过期,这就导致瞬时大量对该商品的请求直接落到数据库上,对数据库造成了巨大的压力。缓存穿透中,请求的 key 既不存在于缓存中,也不存在于数据库中。

2024-03-25 18:43:03 631

原创 Redis 线程模型 & 内存管理

(Netty 的线程模型也基于 Reactor 模式,Reactor 模式不愧是高性能 IO 的基石),这套事件处理模型对应的是 Redis 中的文件事件处理器(file event handler)。过期字典的键指向 Redis 数据库中的某个 key(键),过期字典的值是一个 long long 类型的整数,这个整数保存了 key 所指向的数据库键的过期时间(毫秒精度的 UNIX 时间戳)。因为内存是有限的,如果缓存中的所有数据都是一直保存的话,分分钟直接 Out of memory。

2024-03-25 14:39:29 598

原创 Redis 持久化机制详解

因此,Redis 在启动时会比较计算出的校验和与文件末尾保存的校验和(计算的时候会把最后一行保存校验和的内容给忽略点),从而判断 AOF 文件是否完整。当子进程完成创建新 AOF 文件的工作之后,服务器会将重写缓冲区中的所有内容追加到新 AOF 文件的末尾,使得新的 AOF 文件保存的数据库状态与现有的数据库状态一致。当 AOF 变得太大时,Redis 能够在后台自动重写 AOF 产生一个新的 AOF 文件,这个新的 AOF 文件和原有的 AOF 文件所保存的数据库状态一样,但体积更小。

2024-03-25 11:35:12 713

原创 Redis 5 种基本数据类型详解

这 5 种数据类型是直接提供给用户使用的,是数据的保存形式,其底层实现主要依赖这 8 种数据结构:简单动态字符串(SDS)、LinkedList(双向链表)、Dict(哈希表/字典)、SkipList(跳跃表)、Intset(整数集合)、ZipList(压缩列表)、QuickList(快速列表)。这个过程也就是求交集的过程。Redis 中的 Hash 是一个 String 类型的 field-value(键值对) 的映射表,特别适合用于存储对象,后续操作的时候,你可以直接修改这个对象中的某些字段的值。

2024-03-25 09:55:38 843

原创 关于 find 命令找不到文件的小 bug

目录bug 描述bug 重现bug 产生原因bug 解决办法环境:CentOS 7bug 描述有时候我们使用 -size 查找文件的时候发现有些文件始终查不到,但是 size 大小设置并没有问题,这到底是怎么回事呢?bug 重现我重现了出现这种 bug 的一些场景:首先,准备了三个文件分别为 226、1281、489字节大小。[root@test t1]# ll-rw-r--r-- 1 root root 226 7月 29 18:57 error.log-rw------- 1

2021-07-29 20:29:55 1363

原创 超详细 Tomcat 介绍

目录超详细 Tomcat 介绍什么是 TomcatTomcat 是一个 Servlet 容器Tomcat 是一个 WEB 服务器为什么要用 TomcatTomcat 架构Connector + ContainerContainer 容器Tomcat 性能优化Tomcat 和 Nginx 、Apache 的关系超详细 Tomcat 介绍什么是 Tomcat学过 Java 的同学对 Tomcat 应该都比较熟悉,知道 Tomcat 是一个 Servlet 容器,也是一个 WEB 服务器,我们平常编写的

2021-07-19 00:01:56 866 2

原创 VUE 双向数据绑定原理分析

目录双向数据绑定介绍什么是 view 和 model双向数据绑定的业务需求双向数据绑定的原理分析双向数据绑定实现双向数据绑定介绍所谓双向数据绑定,是指当 view 的数据变化时将变化同步到 model,而当 model数据变化时将数据同步到 view。什么是 view 和 modelview 可以理解为浏览器页面上看到的数据,例如 input 等各种标签中的数据。model可以理解为看不见的数据,是给后台处理的数据,或者从后台接收到的数据。双向数据绑定的业务需求我们需要把 view 中的数据同

2021-07-14 19:27:58 235

原创 JS 面向对象之继承(原型继承)

目录JS 面向对象之原型继承JS 面向对象之原型继承我们知道 Java 是面向对象编程,但其实 JavaScript 也是可以面向对象编程的。今天介绍一下 JS 基于原型方式的继承。首先,我们需要定义一个 Student 类和子类 PrimaryStudent 。// 定义Student类 function Student(props) { this.name = props.name || 'Unn amed'; this.age = props.age

2021-07-14 11:41:59 158

原创 JS 中的 this 指向问题

目录JS 中的 this 指向问题JS 中的 this 指向问题JavaScript 中this指向是可以改变的, this 默认指向函数外的对象。下面info函数中的this 默认指向 zs 对象let zs = { name: "张三", age: 12, info: function() { console.log(this.name + "今年" + this.age + "岁了!") }}zs.info()// 张三今年12岁了!

2021-07-13 16:26:49 191

原创 数据库事务 ACID 之隔离性体验

目录隔离性介绍隔离性实践隔离性介绍数据库事务具有ACID这4个特性:A:Atomic,原子性,将所有SQL作为原子工作单元执行,要么全部执行,要么全部不执行;C:Consistent,一致性,事务完成后,所有数据的状态都是一致的,即A账户只要减去了100,B账户则必定加上了100;I:Isolation,隔离性,如果有多个事务并发执行,每个事务作出的修改必须与其他事务隔离;D:Duration,持久性,即事务完成后,对数据库数据的修改被持久化存储。事务的隔离性,即多个事务同时操作同一数据的

2021-07-09 14:21:26 96

原创 如何写一个好的缺陷(Defect)报告

目录缺陷报告概述缺陷报告作用缺陷报告要素缺陷报告案例面试题缺陷报告概述      测试工程师需要利用对需求的理解、高效的执行力以及严密的逻辑推理能力,迅速找出软件中的潜在缺陷,并以缺陷报告的形式递交给开发团队。      缺陷报告是测试工程师与开发工程师交流沟通的重要桥梁,也是测试工程师日常工作的重要输出。缺陷报告作用开发工程师可以根据缺陷报告快速理解缺陷,并精确定位问题产品经理可以了解缺陷对用户或业务的影响以及

2021-03-13 17:21:09 1008

原创 性能测试项目:Jmeter + Grafana + Influxdb 实现性能压测监控

目录项目介绍Grafana + Influxdb 部署文件Grafana 集成 Influxdbjmeter 集成 influxdbjmeter 压测数据展示项目介绍本项目实现了通过 jmeter 对 wordpress 登录业务进行压测,将压测数据实时传输到 influxdb 数据库,并通过 Grafana 可视化界面展示压测情况。系统环境操作系统:CentOS 7.6容器环境:Docker 20.10.4, Docker-Compose 1.27.4知识点Grafana + Inf

2021-03-11 18:11:48 195

原创 性能测试项目:使用Jmeter测试wordpress系统TPS容量(二)

目录项目介绍jmeter 插件安装jmeter 脚本设置数据分析及结论项目介绍本节将使用 jmeter 部分高阶功能来对 wordpress 登录业务进行更深层的分析。知识点jmeter 安装插件jmeter 参数化设置jmeter 并发线程组的使用jmeter 线程图、响应图、TPS图的使用与分析jmeter 插件安装下载插件管理器jmeter-plugins-manager.jar 下载后将它放入jemter文件目录 lib/ext下,然后重启 jmeter 即可使用下载插

2021-03-11 14:34:14 498

原创 性能测试项目:使用Jmeter测试wordpress系统TPS容量(一)

目录系统环境WP 安装部署创建 wordpress.yaml 文件启动容器WP 操作WP配置编写 jmeter 性能脚本jmeter 组件添加jmeter 脚本配置执行 jmeter 性能脚本登录场景一登录场景二登录场景三登录场景四数据分析系统环境硬件环境:WMware 2C4G操作系统:CentOS 7.6容器环境:Docker 20.10.4, Docker-Compose 1.27.4软件环境:wordpress:latest, MySQL:5.7WP 安装部署创建

2021-03-09 16:58:14 732

原创 什么是自动化测试,自动化的优势与劣势。

目录自动化测试概述什么是自动化测试?自动化测试的优势和劣势?什么样的项目适合自动化测试?自动化测试概述什么是自动化测试?自动化测试的本质是先写一段代码,然后去测试另一段代码,所以实现自动化测试用例本身属于开发工作,需要投入大量的时间和精力,并且已经开发完成的用例还必须随着被测对象的改变而不断更新,你还需要为此付出维护测试用例的成本。自动化测试的优势和劣势?优势自动化测试可以替代大量的手工机械重复性操作,测试工程师可以把更多的时间花在更全面的用例设计和新功能的测试上;自动化测试可以大幅提升回归

2021-02-27 23:37:04 641

原创 用户登录测试用例设计

目录用户登录测试用例设计软件功能需求测试需求测试用例用户登录测试用例设计软件功能需求用户登录测试需求功能性测试安全性测试性能测试兼容性测试测试用例功能性测试用例(基于等价类划分和边界值分析方法):输入已注册的用户名和正确的密码,验证是否登录成功;输入已注册的用户名和不正确的密码,验证是否登录失败,并且提示信息正确;输入未注册的用户名和任意密码,验证是否登录失败,并且提示信息正确;用户名和密码两者都为空,验证是否登录失败,并且提示信息正确;用户名和密码

2021-02-26 22:11:23 1594 1

原创 敏捷开发与CI/CD介绍

目录敏捷开发方式迭代开发解释本质增量开发解释本质迭代好处迭代步骤持续集成、持续交付、持续部署介绍持续集成好处目的核心持续交付重点持续部署目标前提敏捷开发方式迭代开发也叫重复开发解释迭代开发将开发过程拆分成多个小周期,即一次"大开发"变成多次"小开发"。每次小开发都是同样的流程,所以看上去就好像重复在做同样的步骤。开发者先快速发布一个有效但不完美的最简版本,然后不断迭代。每一次迭代都包含规划、设计、编码、测试、评估五个步骤,不断改进产品,添加新功能。通过频繁的发布,以及跟踪对前一次迭代

2021-01-22 14:01:39 2054

原创 项目:GitLab + Jenkins 自动化构建实战

这里写目录标题知识点GitLab 搭建搭建修改 sshd 端口安装 gitlab-ee登录 `UI` 界面设置密码登录 gitlab新建项目Jenkins 搭建搭建登录 `UI` 界面查看管理员密码选择不安装插件创建用户Jenkins 插件安装Git 插件GitLab 插件Git + Jenkins 自动化配置Git 配置Jenkins 配置新建 Jenkins 项目Git 配置构建配置WebHook 配置Jenkins 配置GitLab 配置WebHook 配置异常WebHook 测试完成知识点gi

2021-01-22 13:46:28 307

原创 项目:中小公司Docker运维实战

目录Docker 运维流程介绍知识点介绍harbor 搭建docker-compose安装创建自签证书harbor安装并启动harbor UI界面登录harbor 新建项目 jmc666docker 镜像制作与上传登录 harbor 仓库编写Dockerfile推送镜像到harbor仓库查看 harbor UI界面中是否含有刚推送的镜像拉取镜像项目部署到此 docker整个工作流程都介绍完啦。Docker 运维流程介绍知识点介绍harbor搭建dockerfile编写镜像制作与上传软件部署

2021-01-01 17:41:08 1080

原创 项目:使用 Nginx 搭建本地YUM仓库(CentOS 7)

目录环境搭建步骤1. 安装搭建仓库所需软件2. 创建仓库目录3. 将准备好的 rpm 包导入到仓库目录4. 在测试服务器配置私有yum源5. 测试本地yum仓库是否搭建成功技巧环境服务器IP服务器功能服务器操作192.168.126.130YUM私有仓库安装createrepo、nginx192.168.126.131测试服务器配置私有yum源 private.repo搭建步骤1. 安装搭建仓库所需软件# 安装 nginxyum install -y ng

2020-12-19 16:33:20 496 3

原创 Argo CD - 安装与使用

目录1. 安装 Argo CD2. 使用 Argo CD3. 相关链接1. 安装 Argo CD# 创建 nskubectl create namespace argocd# 安装 argocdkubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml# 暴露 ui 端口供访问kubectl port-forward --address 0

2020-12-07 13:08:43 3189

原创 helm3安装jenkins到K8s集群

目录部署步骤1. 安装 helm32. 安装 jenkins部署步骤1. 安装 helm3# helm3 下载地址 https://github.com/helm/helm/releases# 下载后解压获取二进制文件即可使用# 添加 jenkins chart仓库 helm repo add jenkinsci https://charts.jenkins.io# 更新仓库 helm repo update# 查看可安装软件列表 helm search repo jenkin

2020-12-03 12:24:56 531

原创 kubeadm 部署 k8s 集群

目录部署环境部署步骤1. 安装docker kubeadm kubectl kubelet等软件(所有节点执行以下脚本):2. 执初始化 k8s 集群(Master 节点执行):3. 配置kubectl(Master 节点执行)4. 添加 Node 节点(node01 和 node02 节点执行)5. 安装 Pod 网络(Calico)(Master 节点执行)6. 查看 Pod 和 Node(Master 节点执行)7. 管理工具 k9s 安装部署环境操作系统:Cent OS7docker版本:d

2020-11-30 22:02:22 194

原创 helm3安装prometheus到K8s集群

目录部署环境部署步骤1. 安装 helm32. 安装 Prometheus3. 安装 Grafana4. 登录 Grafana 集成 Prometheus 并添加 Dashboards部署环境Linux: Cent OS7K8s: v1.19.3Docker: 19.03Helm: v3.4.0部署步骤1. 安装 helm3# helm3 下载地址 https://github.com/helm/helm/releases# 下载后解压获取二进制文件即可使用# 添加 bitnam

2020-11-28 00:03:53 3172 1

原创 使用 rook 部署 ceph 到 k8s 集群(官方推荐)

目录部署步骤1. 部署环境2. rook使用限制3. 使用 [helm3](https://github.com/helm/helm/releases) 安装 rook-ceph4. 安装 rook-ceph 以及工具包5. 验证安装6. 登录 ceph dashboard7. 安装 [wordpress](https://zh-cn.wordpress.com/) 并使用 ceph 集群存储数据8. 问题解答部署步骤1. 部署环境Linux: Cent OS7K8s: v1.19.3Docke

2020-11-26 17:59:43 2269

原创 Docker 使用技巧(Cent OS)

Docker 使用技巧(Cent OS)1. docker 仓库添加(阿里云)2. docker 安装指定版本3. docker 镜像加速4. docker 创建自定义网络5. docker 创建固定 IP 容器1. docker 仓库添加(阿里云)# 安装 yum-utils yum install -y yum-utils# 添加 docker 仓库 yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/do

2020-11-25 19:23:46 184

finalshell_install.exe

finalshell类似与Xshell,但是提供了Linux服务器资源监控功能,并且是可视化的,更方便的管理你的服务器,下载后直接安装使用即可。

2020-11-26

k9s_linux_x86_64.tar.gz

k9s管理kubernetes集群,类似ctop管理docker。资源为二进制可执行文件,下载解压即可使用。

2020-11-26

helm3_linux_amd64.tar.gz

kubernetes helm3 二进制文件压缩包。版本为:helm-v3.4.0-linux-amd64.tar.gz。下载后解压即可使用。

2020-11-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除