11 2020 档案
摘要:一、引入网络分区的意义 这是有rabbitmq的一致性模型决定的,其主要逻辑如下: 1、所有的操作都是在master上完成,之后再将有影响的操作同步到slave节点上 2、如果客户端连接的是master节点,直接对该节点进行读写操作,然后在同步到slave节点 2、如果客户端连接的是slave节点,
阅读全文
摘要:一、服务器信息 1、服务器IP地址:10.30.20.80,10.30.20.90,10.30.20.125 2、集群信息:三个节点 3、rabbitmq部署版本:3.7.16 二、部署 1、配置文件 cat>/data/rabbitmq.conf<<EOF loopback_users.guest
阅读全文
摘要:一、kubernetes中的资源计算方式 节点可为pod分配的资源计算方法: Node Allocatable Resource = Node Capacity(资源总大小) - Kube-reserved(kube组件保留资源) - system-reserved(系统保留资源) - evicti
阅读全文
摘要:一、request和limits 1、request:告诉POD运行需要多少资源,用于集群的节点调度 2、limits:指定POD最多可以使用多少资源 二、内存限制 限制可使用内存200Mi # more 1.yaml apiVersion: v1 kind: Pod metadata: name:
阅读全文
摘要:一、memory子系统 1、memory子系统的作用 限制memory(含匿名和文件映射,swap cache) 限制swap+memory 显示cgroup的内存信息 为每个cgroup设置softlimit 2、文件解释 cgroup.event_control #用于eventfd的接口 me
阅读全文
摘要:一、限制可使用的CPU百分比 cpu.cfs_period_us:用来配置时间周期长度,单位微秒,取值范围1ms至1s cpu.cfs_quota_us:用来配置当前cgroup在设置的周期长度内所能使用的CPU时间数,单位微秒,取值大于1ms,-1代表不受限制 1.限制只能使用1个CPU # ec
阅读全文
摘要:一、Linux CGroup Cgroups是control groups的缩写,是Linux内核提供的一种可以限制,记录,隔离进程组(process groups)所使用物理资源的机制 二、作用 1、Resource limitation: 限制资源使用,比如内存使用上限以及文件系统的缓存限制 2
阅读全文
摘要:一、kubernetes中的资源分类 Kubernetes根据资源能否伸缩进行分类,划分为可压缩资源和不可以压缩资源2种 1、可压缩资源:可压缩资源不足时,Pod 只会“饥饿”,但不会退出,例如:CPU 2、不可压缩资源:当不可压缩资源不足时,Pod 就会因为 OOM(Out-Of-Memory)被
阅读全文
摘要:一、镜像队列 rabbitmq的集群创建后,默认消息只存在于队列所在节点,当此节点故障后,消息就丢失了。 为了解决上述消息丢失的问题,引入RabbitMQ的镜像队列机制,将queue镜像到cluster中其他的节点之上。 在该实现下,如果集群中的一个节点失效了,queue能自动地切换到镜像中的另一个
阅读全文
摘要:一、队列结构 通常队列由两部分组成: 1、AMQQueue,负责AMQP协议相关的消息处理,即接收生产者发布的消息、向消费者投递消息、处理消息confirm、acknowledge等等 2、BackingQueue,它提供了相关的接口供AMQQueue调用,完成消息的存储以及可能的持久化工作等。 B
阅读全文
摘要:一、rabbitmq节点 1、节点分类 1)磁盘节点:配置信息和元信息存储在磁盘上 2)内存节点:配置信息和元信息存储在内存中,RAM节点不提供更高的消息速率 2、节点的选择 1)在单机情况下,节点必须为磁盘节点 2)在集群模式下,至少有一个节点是磁盘节点 如果唯一磁盘的磁盘节点崩溃了,不能进行如下
阅读全文
摘要:一、交换器 rabbitmq有四种交换器,分别如下: 1、direct:如果路由键完全匹配的话,消息才会被投放到相应的队列。 2、fanout:当发送一条消息到fanout交换器上时,它会把消息投放到所有附加在此交换器上的队列。 3、topic:设置模糊的绑定方式,“*”操作符将“.”视为分隔符,匹
阅读全文
摘要:一、RabbitMQ是什么? RabbitMQ 是一个由Erlang 语言开发的AMQP 的开源实现消息中间件 二、消息中间件的作用 业务解耦 流量削峰 同步变异步 三、基础概念 1、AMQP :Advanced Message Queue,高级消息队列协议。 2、生产者:生产消息发送到消息中间件
阅读全文
摘要:一、内部碎片 当我们申请几十个字节的时候,内核也是给我们分配一个页,一个页大小在Linux中默认是4K,这样在每个页中就形成了很大的浪费,称之为内部碎片。 二、什么是slab? 在Linux中,伙伴系统(buddy system)是以页为单位管理和分配内存。但是现实的需求却以字节为单位,假如我们需要
阅读全文
摘要:一、外部碎片 假设这是一段连续的页框,阴影部分表示已经被使用的页框,现在需要申请一个连续的5个页框。 这个时候,在这段内存上不能找到连续的5个空闲的页框,就会去另一段内存上去寻找5个连续的页框,这样子,久而久之就形成了页框的浪费。称为外部碎片 二、伙伴系统 Linux内核通过伙伴算法来管理物理内存。
阅读全文
摘要:一、nextcloud Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及
阅读全文
摘要:一、Memory Overcommit 1、Memory Overcommit 操作系统承诺给进程的内存大小超过了实际可用的内存。 2、Memory overcommit的关键 commit针对的是内存申请,内存申请不等于内存分配,内存只在实际用到的时候才分配, 进程实际使用到的内存往往比申请的内存
阅读全文
摘要:一、什么是numa?NUMA(Non-Uniform Memory Access),非一致性内存访问,是一种计算机内存的设计方式,这种设计模式将内存分为本地内存和远程内存由于CPU访问本地内存比访问远程内存的路径短,导致访问本地内存的延迟会小于访问远程内存 通过numactl可以查看numa的节点信
阅读全文
摘要:一、什么时候回收内存? 1、直接内存回收 有新的大块内存分配请求,但是剩余内存不足。这个时候系统就需要回收一部分内存,进而尽可能地满足新内存请求。 2、定期扫描回收(kswapd) 操作系统内核线程kswapd定期进行回收内存,并通过设定三个内存阈值来衡量内存的使用情况,分别是 页最小阈值(page
阅读全文

浙公网安备 33010602011771号