2017年5月26日
摘要: TCP的报头 1. Source Port,Dest Port:源端口和目的端口,和IP层的源IP和目的IP来唯一确定一个socket。 2. Sequence Number:包的序列号,主要用来解决乱序的问题。 3. Acknowledgement Numbe:就是ACK——用于确认收到,用来解决 阅读全文
posted @ 2017-05-26 18:03 bitError 阅读(547) 评论(0) 推荐(0) 编辑
摘要: 基本概念 状态、地址空间 1. 三种基本状态 —— 就绪、运行、阻塞 2. 进程控制块PCB(Process Control Block) 1. 进程描述信息(如PID); 2. 进程控制&管理信息(状态、优先级等); 3. 源分配清单(地址空间状况、fd等); 4. 处理其相关信息(各寄存器的值等 阅读全文
posted @ 2017-05-26 17:31 bitError 阅读(5312) 评论(0) 推荐(0) 编辑
摘要: 介绍 Raft是一种为了管理复制日志的一致性算法。为了提升可理解性,Raft 将一致性算法分解成了几个关键模块,例如领导人选举、日志复制和安全性。同时它通过实施一个更强的一致性来减少需要考虑的状态的数量。同时,raft还提供了集群变更的应对方法。 Raft独有特性: 1. 强领导者:日志条目只从领导 阅读全文
posted @ 2017-05-26 17:30 bitError 阅读(280) 评论(0) 推荐(0) 编辑
摘要: keepalived + 双机热备 布署两台机器(一主一备),这两台用keepalive检测心跳。每台机器都设置一个crontab脚本,每5分钟检查一下Dc进程在不在,如果不在,则拉起来。 如果一台机器的Dc进程崩溃了,则crontab脚本会拉起来。如果整台机器都挂了,则IP会切换到另一台机器的ip 阅读全文
posted @ 2017-05-26 17:30 bitError 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 基于Paxos协议的数据同步与传统主备方式最大的区别在与Paxos只需任意超过半数的副本在线且相互通信正常,就可以保证服务的持续可用,且数据不丢失。 Basic paxos协议更新日志 我们将数据持久化的需求抽象为:在N个server的机群上,持久化数据库或者文件系统的操作日志,并且为每条日志分配连 阅读全文
posted @ 2017-05-26 17:29 bitError 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 基本原则与设计理念 原教旨CAP理论 CAP是什么: 1. C:强一致性,在分布式多副本情况加,对数据的根性与单副本是一样的。 2. A:可用性,即容错,任何时刻都能在一定事件内完成服务 3. P:分区容忍性,出现网络分区现象,即分区间的机器无法通信,这种情况仍然能够继续工作。 为什么CAP三者不能 阅读全文
posted @ 2017-05-26 17:28 bitError 阅读(1696) 评论(0) 推荐(0) 编辑
摘要: 本文主要总结深入理解c++11中的常用新特性 新标准的诞生 保证平稳性和兼容性 通用为本,专用为末 右值引用 在没有右值引用时,对带有指针成员变量的对象进行拷贝,会让指针的内存变得很难管理,甚至会产生错误。这是如果有移动语义,对象不执行拷贝,只执行移动就不会就这种错误。 在介绍移动语义之前,首先得明 阅读全文
posted @ 2017-05-26 17:25 bitError 阅读(586) 评论(1) 推荐(0) 编辑
摘要: 让自己习惯C++ 视C++为一个语言联邦 1. C语言 2. 面对对象 3. C++模板 4. STL容器 尽量以const,enum,inline替换 define 1. const的好处: 1. define直接常量替换,出现编译错误不易定位(不知道常量是哪个变量) 2. define没有作用域 阅读全文
posted @ 2017-05-26 17:20 bitError 阅读(8671) 评论(0) 推荐(2) 编辑
摘要: RTTI 运行时类型识别(RTTI)的引入有三个作用: 1. 配合typeid操作符的实现; 2. 实现异常处理中catch的匹配过程; 3. 实现动态类型转换dynamic_cast typeid操作符的实现 静态类型 C++中支持使用typeid关键字获取对象类型信息,它的返回值类型是const 阅读全文
posted @ 2017-05-26 17:19 bitError 阅读(4037) 评论(0) 推荐(0) 编辑