专注PHP Golang Java开发
IPVS IPVS
简介 要了解 IPVS,不得不谈到 Linux 虚拟服务器项目(Linux Virtual Server, LVS)。Linux 虚拟服务器技术是为了解决服务器承受的日益增长的访问压力,它通过部署虚拟服务器,使真实服务器集群使用同一个地址对
2022-02-19
RAID RAID
RAID 磁盘阵列(Redundant Arrays of Independent Drives,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加
2022-02-11
Redis LFU算法 Redis LFU算法
Redis LFU算法LRU有一个缺陷,一个访问不频繁的数据,恰好在淘汰前访问,导致没有被淘汰,而访问比它频繁的,反而因为访问时间在前面一点而被淘汰 Redis作者曾想改进LRU算法,但发现Redis的LRU算法受制于随机采样数maxmem
2022-02-02
Redis LRU淘汰策略 Redis LRU淘汰策略
Redis LRU淘汰策略Redis会删除过期键以释放空间,过期键的删除策略有两种: 惰性删除:每次从键空间中获取键时,都检查取得的键是否过期,如果过期的话,就删除该键;如果没有过期,就返回该键 定期删除:每隔一段时间,程序就对数据库进行
2022-02-01
RabbitMQ 学习 RabbitMQ 学习
RabbitMQ 高级消息队列(Advanced Message Queuing)模型,RabbitMQ 实现了 AMQP 协议 RabbitMQ概念Broker机节点,中文翻译是代理/中介,因为 MQ 服务器帮助我们做的事 情就是存储
2022-01-10
Golang Patch 实现Golang单元测试 Mock Golang Patch 实现Golang单元测试 Mock
本文转自https://bou.ke/blog/monkey-patching-in-go/ 前提使用go build -gcflags=-l来构建,禁用内联。对于本文,假设架构是 64 位,并且使用的是基于 Unix 的操作系统,如 Ma
2022-01-05
P2P技术与NAT穿越 P2P技术与NAT穿越
P2P技术与NAT穿越 P2P即点对点通信,或称为对等联网,与传统的服务器客户端模式有着明显的区别,在即时通讯方案中应用广泛(比如IM应用中的实时音视频通信、实时文件传输甚至文字聊天等) NAT技术和P2P技术作为经典的两项网络技术,在现
2021-12-27
Redis 数据结构底层实现 Redis 数据结构底层实现
Redis 数据结构底层实现 String 如果一个字符串对象保存的是整数值,并且这个整数值可以用long类型来表示,那么字符串对象会将整数值保存在字符串对象结构的ptr属性里面(将 void* 转换成 long ),并将字符串对象的编
2021-12-23
linux Uboot linux Uboot
简介 Uboot 属于bootloader的一种,是用来引导启动内核的,它的最终目的就是,从flash中读出内核,放到内存中,启动内核,需要具有读写flash的能力 Flash flash是存储芯片的一种,通过特定的程序可以修改里面
2021-11-21
读《凤凰架构》笔记,持续记录中 读《凤凰架构》笔记,持续记录中
架构演进 大型机(Mainframe) 原始分布式(Distributed) 大型单体(Monolithic) 面向服务(Service Oriented) 微服务(Microservice) 服务网格(Service Mesh) 无服务(
2021-11-01
linux Swap管理 linux Swap管理
简介 当物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况 SWAP意思是交换,顾名思义,当某进程向OS请求内存发现不足时,OS会把内存中暂时不用的数据交换出去,放在SWAP分区中,这个过程称为S
2021-10-09
linux iptables linux iptables
规则顺序根据封包的规则”比对” 你预先定义的规则内容,若封包数据与规则内容相同则进行动作,否则就继续下一条规则的比对 当一个网络封包要进入到主机之前,会先经由NetFilter 进行检查,那就是iptables 的规则了。检查通过则接受(A
2021-10-08
一文理解如何使用linux编辑器vi 一文理解如何使用linux编辑器vi
vi的使用基本上vi可以分为三种状态,分别是一般模式、编辑模式和命令行模式 一般模式以vi打开一个文件就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用上下左右按键来移动光标,你可以使用删除字符或删除整行来处理文件内容, 也
2021-10-07
一文理解linux IO模型 一文理解linux IO模型
基础概念用户空间和内核空间 对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方),针对linux操作系统而言,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的
2021-10-07
一文理解如何使用linux命令-tcpdump 一文理解如何使用linux命令-tcpdump
简介dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供
2021-10-07
linux命令-sar linux命令-sar
简介 System Activity Reporter(系统活动情况报告)的缩写,sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都
2021-10-06
linux命令-iostat linux命令-iostat
简介 I/O statistics(输入/输出统计)的缩写,用来动态监视系统的磁盘操作活动,查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息 参数-C 显示CPU使用情况-d 显示磁盘使用情况-k 以 KB
2021-10-05
linux命令-strace linux命令-strace
简介 strace常用来跟踪进程执行时的系统调用和所接收的信号,可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间 参数-c 统计每一系统调用的所执行的时间,次数和出错的次数等.-d 输出strace关于标准错误的调试信息
2021-10-04
4 / 11