自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(24)
  • 收藏
  • 关注

原创 Docker 联合文件系统(Union File System)

Docker使用Union File System(联合文件系统)技术来构建容器的文件系统。联合文件系统能够将不同的目录层(层次)叠加在一起,形成单一一致的文件系统视图。Docker的每个镜像由一系列的只读层组成,当运行一个容器时,Docker在这些只读层的顶端叠加一个可写层,并且所有对文件系统的改变都会记录在这个可写层中。Docker镜像的每一层都对应一个文件系统的改动集合,例如安装一个软件包或者添加一个文件等。当你构建一个新的镜像时,每条RUN指令都会创建一个新的层。

2024-03-06 10:02:56 550

原创 Docker网络前篇 veth-pair

1. 查看当前veth-pair类型的设备# 2. 创建veth-pair对, veth210 ~ veth211# 3. 创建network ns210# 4. 把veth-pair的一端 veth211 放入 ns210中# 5. 设置ip,并启动主命名空间中的 veth210# 6. 设置ip,并启动 ns210 命名空间中的 veth211# 7. 检查网络的连通性# 7.1 主网络直接ping 210.210.1.3, 可达。

2024-03-04 19:56:56 436

原创 Docker为容器化做了什么

前一篇关于LXC的文章中,提到了容器化的核心技术Namespace、CGroup。LXC提供了一套丰富的工具和模板来创建和管理容器,它们更接近于传统的虚拟机管理方式,提供了一整套系统的用户空间与服务。LXC通常被用于创建更像是轻量级虚拟机的容器,因为它们包含了完整的操作系统环境。LXC的用户可以通过LXC提供的命令行工具来启动、停止、冻结和管理容器。Docker在早期时,也是利用LXC管理容器的生命周期。

2024-03-01 17:03:27 429

原创 如何使用LXC创建容器

LXC(Linux Containers),即Linux容器,是一个操作系统层面的虚拟化技术。利用Linux内核中的CGroup + Namespace + Chroot技术,其中CGroup提供资源隔离,Namespace提供命名空间隔离,而Chroot是最简单和古老的容器化技术,更改了进程的根目录,限制访问和可见性,把容器内所有的依赖的程序/文件复制到单独的目录中。介绍了,所谓容器,简单来说是一组资源隔离、资源受限的进程。核心技术使用了Linux内核中的Namespa 和Cgroup。

2024-02-29 11:49:50 601

原创 虚拟化与容器化

虚拟化技术最初起源于20世纪60年代末,主要是将计算机硬件(物理机)虚拟分区成一个或多个虚拟机,并提供多用户对大型计算机的交互访问。容器具有极其轻量、秒级部署、易于移植、敏捷弹性伸缩等多种优势。容器化和虚拟化是互补的。虚拟化是用来进行硬件资源划分的完美解决方案,通过hypervisor层来实现对资源的彻底隔离;而容器化是对OS级别的虚拟化,利用内核cgroup namespace特性,仅仅是进程本身的隔离。

2024-02-28 13:26:34 332

原创 [004] 密码学 - 对称加密算法

概述

2021-12-02 17:28:10 165

原创 [003] 密码学 - 数字摘要算法

简述 我们经常在网上下载一些软件,怎么能验证下载到的文件和官方提供的文件是否一致?就引入了数据完整性验证的问题。利用散列函数的特性,比如单向性,常用于验证数据的完整性。主要包含MD、SHA、MAC 共三大系列。MD算法家族 MD5算法是典型的消息摘要算法,由MD2、MD3、MD4算法改进而来的。 MD系列算法,对数据生成一个128位的二进制信息摘要,转换为十六进制,可得到一个32位的十六进制字符串。$ echo "hello...

2021-12-02 15:28:40 454

原创 [002] 密码学 - Base64

起源Base64严格意义上不能算是加密算法,最初是应用于电子邮件传输问题。由于”历史问题“,电子邮件只允许ASCII码字符。

2021-12-02 14:56:01 2230

原创 [001] 密码学 - 简述

术语概念 描述 明文(plaintext) 待加密的信息,如文件文件、图片文件、二进制数据等等 密文(ciphertext) 加密后的明文,密文通常以文本或是二进制数据形式存在 加密(encryption) 加密算法(encryption algorithm) 加密密钥(encryption key) 解密(decryption) 解密算法(decryption algorithm) 解密密钥(decryption

2021-12-02 11:06:33 4071

原创 [002] Robot Framework + SeleniumLibrary搭建

一、安装robotframework-seleniumlibraryGitHub - robotframework/SeleniumLibrary: Web testing library for Robot Framework(env)$ pip install --upgrade robotframework-seleniumlibrary...robotframework-seleniumlibrary-4.5.0 robotframework-selenium2library-3.0.

2021-11-28 20:20:25 6979

原创 [001] Robot Framework 搭建

目录一、安装virtualenv二、安装robotframework三、启动RIDEhttps://robotframework.org/Mac下基于Python2.7.10安装rotbotframework==4.1.2不想与本地的其他的Python库有冲突,使用virtualenv创建完全感觉的Python环境一、安装virtualenv#查看python版本$ python --versionPython 2.7.10#pip安装virtualenv$ .

2021-11-28 20:15:07 97

原创 Kafka 2.x KafkaController 分析 -- 持续更新中

创建 在每个Broker启动时,都会创建一个KafkaController实例,但是只有一个KafkaController会成为Leader,对外提供集群管理服务,选主是基于Zookeeper实现的,即启动时,每个KafkaController会向Zookeeper同一个路径下写入瞬时节点/controller,只有一个会成功,即成为了Leader,其余的成为了Follower。但Leader离线时,其余的Follower重新选主。ControllerContext初始化 ...

2021-10-06 09:11:32 91

原创 Kafka 2.x AdminUtils -- Topic Partition Replica Assignment

概念 创建Topic时,需要指定partitions和replication-factor,而最重要的是尽量均匀的把每个replica分发到Brokers集群中。 kafka-topics.sh提供了两种方式:指定replica-assignment, 即完全人为分配,指定某个replica分配到某个broker上面 由Kafka默认策略分配 默认分配原则如下: 1. Spread the replicas evenly among brokers. ...

2021-10-05 10:49:16 324

原创 Kafka 2.x RecordAccumulator分析 --- 持续更新中

概念 KafkaProducer只用一个Send()方法,就可以实现同步/异步处理数据的,Send()返回一个Future对象,基于Future来实现同步/异步。 同步:即返回Future对象后,立即调用get,阻塞等待结果 异步:提供Callback函数,Send()执行完,无需等待,服务器完成数据处理后,回调Callback函数。 而RecordAccumulator作为KafkaProducer的核心类之一,主要是为了提高Kafk...

2021-10-01 09:52:13 122

原创 JMeter5.x 逻辑控制器(Controller) - If/While/Loop Controller

概念 If Controller控制子测试元素是否被执行。while Controller控制子测试元素一直被执行,直到判断条件==false. Loop Controller控制子测试元素执行的次数。条件判断 逻辑控制器中,条件判断逻辑是最重要的,可以直接判断某个变量是True/False,或者判断某个表达式是True/False。表达式判断,一般使用${__jexl3()} 或者 ${__groovy()}。...

2021-09-28 20:19:10 215

原创 JMeter5.x 逻辑控制器(Controller) - Sample Controller

目录概念概念逻辑控制器主要是控制元件执行的逻辑。除了仅一次控制器(Only Once Controller)外,其他的控制器是可以嵌套使用的。 简单控制器(Sample Controller)不会改变元件的执行顺序,主要是分组,注释等作用。...

2021-09-28 17:45:02 128

原创 JMeter5.x 配置元件(Config Element) - HTTP Request Defaults

目录概念概念当测试计划中,有大量的HTTP Request是请求同一个服务器时,为了避免重复填写如"Server Name Or IP"、"Protocol"、"Port"....等信息,可以使用HTTP Request Defaults配置元件。HTTP Request Defaults中的配置项,几乎和HTTP Request配置一致。 HTTP Request默认会继承HTTP Request Defaults中的配置项。当然如果HTTP Request已...

2021-09-28 11:06:51 90

原创 JMeter5.x 配置元件(Config Element) - CSV Data Set Config

目录概念试试吧概念Random Variable配置元件一般是用来生成随机的“int类型”数字字符串变量。该变量可以通过${VARIABLE_NAME}的方式在之后的取样器,或是其他的组件中使用。比如:创建产品的API中,产品名称需要唯一的字符串。这时候可以使用该元件,随机生成一个数字类型的变量,亦可以配置Output Format选项来拼接生成字符串模拟函数为 minimum + Random.nextInt(maximum ...

2021-09-27 12:27:30 125

原创 JMeter5.x 配置元件(Config Element) - Random Variable

概念Random Variable配置元件一般是用来生成随机的“int类型”数字字符串变量。该变量可以使用在之后的取样器,或是其他的组件中。比如:创建产品的API中,产品名称需要唯一的字符串。这时候可以使用该元件,随机生成一个数字类型的变量,亦可以配置Output Format选项来拼接生成字符串模拟函数为 minimum + Random.nextInt(maximum - minimum + 1)。maximum - minimum +...

2021-09-24 13:02:57 169

原创 JMeter5.x Properties/Variables

目录概念JMeter内置变量有哪些最佳实践概念关于JMeter的Properties/Variables,我们先看看JMeter的配置文件$JMETER_HOME/bin/jmeter.properties文件。该文件定义了JMeter的默认系统参数。比如JMeter GUI的样式,XMLParser解析规则,SSL相关配置,很多取样器(Simpler)的默认行为,HttpClient的默认参数等等。官方不建议直接修改该配置文件,而...

2021-09-17 11:54:14 208

原创 JMeter5.x Simpler(取样器) - HTTP Request

概念该取样器允许你给服务器发送http/https请求。如果想熟练掌握HTTP Request,需要对http协议有所理解。Http协议互联网的本质就是一系列的网络协议,基于OSI模型,大致分为7层。Http协议属于应用层,是基于TCP/IP协议进行通信的。目前主流的还是Http1.1(https://www.ietf.org/rfc/rfc2616.txt)。Http协议是用于客户端和服务器之间的通信,那么必定一端担任客...

2021-09-15 22:49:38 105

原创 JMeter5.x 聊聊JMeter

[001] 聊聊JMeterApache JMeter是一款Java开发的开源软件,可用来模拟用户负载来完成性能测试。设计之初是为了测试Web应用的,但是已经得到很多扩展,可以测试其他非Web应用。测试计划的元素组成一个测试计划,至少需要一个线程组(ThreadGroup)和一个或多个取样器(Sampler)组成* 线程组(ThreadGroup) 控制JMeter会以怎样的形式,启动多少线程,以及这些线程的怎样的去执行测试计划* 控制器(Controller) ** ...

2021-09-13 22:26:13 205

原创 JMeter5.x ThreadGroup(线程组)

目录概念配置信息线程数量 ramp-up时间循环次数线程组的生命周期管理线程组执行时间线程启动的延迟时间试试吧概念线程组是每个测试计划的开始,所有的控制器(controller)和取样器(simpler)必须放置在线程组下。正如其名,线程组会控制以什么方式,启动多少个线程,以及执行多久来执行测试计划。配置信息线程数量 表示Jmeter该启动多少数量的线程来执行测试计划,每个线程是独立的执行整个测试计划ramp-up时间...

2021-09-13 21:00:22 321

原创 Mac下使用Docker安装Keepalived

[001] keepalived#####lb1$ docker run --privileged -itd --name lb1 osixia/keepalived:2.0.20 bash$ docker exec -it lb1 bash$ vi /usr/local/etc/keepalived/keepalived.confglobal_defs { default_interface eth0}vrrp_instance VI_1 { interface eth0..

2021-09-10 10:06:30 491

空空如也

空空如也

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

TA关注的人

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