Qianfeng

DON'T WORRY BE HAPPY
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2022年8月24日

摘要: docker是怎么实现资源隔离的? docker容器本质上是宿主机上的进程。 docker利用linux的namespacce实现资源隔离,利用cgroups实现资源限制。 同一个namespace之内可以看到相同的全局资源,而不同的namespace不能,可以在创建进程clone的时候指定进程的n 阅读全文

posted @ 2022-08-24 05:02 RonnieOS 阅读(6) 评论(0) 推荐(0) 编辑

2022年8月2日

摘要: rabbitmq是一种消息中间件,需要掌握的核心概念是publish, subscribe, broker, virtual host, exchange, queue, routing key. publish: 生产者向broker发送消息 subscribe: 消费者从queue中取消息,一个 阅读全文

posted @ 2022-08-02 23:33 RonnieOS 阅读(16) 评论(0) 推荐(0) 编辑

摘要: mongodb和关系型数据库不同,属于no-sql数据库。关系型数据库的组织形式是:db,表,行,字段。mongodb的组织形式是db,collection,document。 而document一般为bson格式,灵活性较大。 详细命令可参考这篇博文:mongodb cheetsheet,本文只做 阅读全文

posted @ 2022-08-02 03:33 RonnieOS 阅读(142) 评论(0) 推荐(0) 编辑

2022年3月14日

摘要: 事务隔离是为了解决事务并发的读一致性问题?如何保证在一个事务里多次读到的数据一样? 基于锁的并发控制(LOCK BASED CONCURRENCY CONTROL) 生成一致性数据快照(snapshot),这个叫(multi version concurrency control>,简称MVCC 两 阅读全文

posted @ 2022-03-14 21:55 RonnieOS 阅读(110) 评论(0) 推荐(0) 编辑

摘要: 恢复内容开始 恢复内容开始 服务器发送的FIN会转换为SOCKET的EOF,但是如果客户端阻塞于读stdin,那么会很久以后才能收到这个EOF,即它不能第一时间知道服务器已经要关闭了. I/O复用的应用场景 用户处理多个描述符时,必须使用IO复用 一个用户同时处理多个套接字 服务器既要处理监听套接字 阅读全文

posted @ 2022-03-14 18:56 RonnieOS 阅读(55) 评论(0) 推荐(0) 编辑

2022年3月7日

摘要: 客户端在三次握手收到第二个分节之后,connect就立马返回,但是服务端只有收到最后一个分节才把连接纳入全连接队列。 子进程终止的时候,会给父进程发信号SIGCHILD,但该信号默认被忽略,导致子进程变成僵尸进程。 这里提一下linux为什么设置僵死态:为了保存子进程的一些执行信息(进程ID,执行c 阅读全文

posted @ 2022-03-07 03:39 RonnieOS 阅读(52) 评论(0) 推荐(0) 编辑

摘要: 虚函数重写和函数重载 函数重载和虚函数都是c++的产物,为的都是用同一个函数名调用不同的函数。 函数重载的机制是,在一个作用域内,允许有多个同名的但是参数列表不同的函数。 虚函数和面向对象中的继承密不可分,虚函数指的是在父类中的某个函数,在子类中可以重写。那么用基类指针或者基类引用访问函数时,可以根 阅读全文

posted @ 2022-03-07 01:19 RonnieOS 阅读(264) 评论(0) 推荐(0) 编辑

摘要: TCP bind函数 bind函数的作用是把本地地址和端口写入套接字结构里。 如果tcp服务器不bind一个地址,在listen的时候会随机分配,但这种操作不合适 如果不指定端口,没法在bind函数取得所选端口(const sockaddr *),如果想知道,getsockname listen函数 阅读全文

posted @ 2022-03-07 01:18 RonnieOS 阅读(20) 评论(0) 推荐(0) 编辑

2022年3月6日

摘要: 恢复内容开始 恢复内容开始 tcp的特点 tcp是面向连接的,服务器与客户端的连接会经历三次握手,断开会敬礼四次握手 tcp提供可靠性:当发送数据时,会要求对端进行确认 tcp会估计RTT(Round-Trip Time),这个时间根据网络的距离和实验不同 tcp给每个字节一个序号,因此保证数据最终 阅读全文

posted @ 2022-03-06 20:57 RonnieOS 阅读(67) 评论(0) 推荐(0) 编辑

2022年2月22日

摘要: 首先,MYISAM引擎不支持事务处理,但是InnoDB引擎支持。 事务处理是为了防止故障,保证过程执行的原子性。 术语: 事务(transaction): 一组sql语句 回退(rollback):撤销指定sql语句的过程 提交(commit): 将未存储的sql语句写入数据库 保留点(savepo 阅读全文

posted @ 2022-02-22 21:19 RonnieOS 阅读(25) 评论(0) 推荐(0) 编辑