摘要:
一、简介 雪花算法这一在分布式架构中很常见的玩意,但一般也不需要怎么去深入了解,一方面一般个人项目用不到分布式之类的大型架构,另一方面,就算要用到,市面上很多ID生成器也帮我们完成了这项工作。 二、分布式ID的特点 全局唯一性 不能出现有重复的ID标识,这是基本要求。 递增性 确保生成ID对于用户或 阅读全文
摘要:
一、SO_REUSEADDR 目前为止我见到的设置SO_REUSEADDR的使用场景:server端在调用bind函数时 setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR,(const void *)&reuse , sizeof(int)); 目的:当服务 阅读全文
摘要:
一、计算机寄存器分类简介 32位CPU所含有的寄存器有: 4个数据寄存器(EAX、EBX、ECX和EDX) 2个变址寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS) 1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 二、数据寄 阅读全文
摘要:
一、简介 1.1 介绍 list是一种序列式容器。list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,也就是list也具有链表的主要优点,即:在链表的任一位置进行元素的插入、删除操作都是快速的。list的实现大概是这样的:lis 阅读全文
摘要:
一、string简介 1.1 介绍 首先在c++中string是一个类,其头文件为 < string > string在标准空间std。 具体资料在官方链接。 主要参考官方文档和具体实例。 strings are objects that represent of characters. 1.2 s 阅读全文
摘要:
一、B+树插入逻辑 1,如果结点不存在,则新生成一个结点,作为B+树的根结点,结束。2,如果结点存在,则查找当前数值应该插入的位置,定位到需要插入到叶子结点,然后插入到叶子结点。3,插入的结点如果未达到最大数量,结束。如果达到最大数量,则把当前叶子结点对半分裂:[m/2]个放入左结点,剩余放入右结点 阅读全文
摘要:
一、前言 最近在部署项目时要求实现负载均衡,有趣的是发现网上一搜全部都是以下类似的配置文件。 1 upstream localhost{ 2 server 127.0.0.1:8080 weight=1; 3 server 127.0.0.1:8081 weight=1; 4 } 5 server 阅读全文
摘要:
一、前言 1.1 简介 Linux把物理内存划分为三个层次来管理: 层次 描述 存储节点(Node) CPU被划分为多个节点(node), 内存则被分簇, 每个CPU对应一个本地物理内存, 即一个CPU-node对应一个内存簇bank,即每个内存簇被认为是一个节点 管理区(Zone) 每个物理内存节 阅读全文
摘要:
一、TCP 协议是流式协议 很多读者从接触网络知识以来,应该听说过这句话:TCP 协议是流式协议。那么这句话到底是什么意思呢?所谓流式协议,即协议的内容是像流水一样的字节流,内容与内容之间没有明确的分界标志,需要我们人为地去给这些协议划分边界。 举个例子,A 与 B 进行 TCP 通信,A 先后给 阅读全文
摘要:
一、前言 “自动根据CPU数目设置进程个数和绑定CPU亲缘性”。当时笔者对CPU亲缘性没有任何概念,当时作者只是下意识的打开了google并输入CPU亲缘性(CPU Affinity)简单了做了个了解。 后来,在笔者参加实际工作以后,就碰到了这么两个问题。 问题一:如何在SMP的系统中,保证某个特定 阅读全文