TCP中的7种定时器 TCP中的7种定时器:建立连接定时器(connection-establishment timer) 重传定时器(retransmission timer) 延迟应答定时器(delayed ACK timer) 坚持定时器(persist timer) 保活定时器(keepalive timer) FIN_WAIT_2定时器(FIN_WAIT_2 timer) TIME_W...
TFS 使用文档 - 安装篇 TFS文件系统安装,linux用户首先我先声明: 大部分转载他人,但本文更加详细,也更加方便安装。安装依赖的软件包automake TFS基于automake工具构建下载源码安装apt-get install automakeyum install automake.noarchlibtool automake需要使用libtool下载源码安装apt-get install ...
TFS文件系统的安装、配置、启动 TFS(Taobao FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,其设计目标是支持海量的非结构化数据的存储;TFS使用C++语言开发,需要运行在64bit Linux OS上,TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用 在淘宝各项应用中。它采用了HA架构和平滑扩容,保证了整个文件系统的可用性和扩展性。...
《P2P技术详解》系列文章 P2P技术详解(一):NAT详解——详细原理、P2P简介-网络编程/专项技术区 - 即时通讯开发者社区!http://www.52im.net/thread-50-1-1.html这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层开发人员而言有很高的参考价值。 《P2P技术详解》系列文章➊ 本文是《P2P理论...
虚拟化工具Docker的简单使用 Docker虚拟化三个概念:Docker镜像,Docker容器,Docker仓库。Docker镜像:是一个静止模板文件,同ISO镜像文件类似,不能被修改,可以被封装。Docker容器:是基于Docker镜像启动的实例,可读可写,有一个容器层,可以调用Docker镜像层的数据文件,类似程序和进程的关系,进程是程序运行的实体,而容器是镜像运行之后的实体。Docker仓库:是存储Docker镜像的地方,...
windows环境下unistd.h缺失解决方法 自建一个unistd.h 文件内容为#ifndef _UNISTD_H#define _UNISTD_H#include <io.h>#include <process.h>#endif /* _UNISTD_H */1234567当然,如果可以方便地修改源码,直接在文件里包含io.h与process.h也是可行的...
300行 Golang 实现区块链 作者 疯魔慕薇0x1 开篇 区块链,时下最火的技术。前段时间一篇《A blockchain in 200 lines of code》更是在技术圈里刷屏。在读过 Lauri Hartikka 写的这篇文章和代码后,我愈发对区块链兴趣浓厚。 纸上得来终觉浅,要深入了解一门技术,终究是需要自己造一次轮子。于是,我着手用 Go 语言仿造着实现了一个 naivechain。0x2 区块数据结构 和 ...
令人躁动一时且令人不安的TCP BBR算法 虽然我在这个周六(2016/12/17)荒废了一天而毫无意义的加班,我依然要在次日把上一周的点滴记录下来。以下在2016/12/18下午19时之前的文章,全属周六通宵之作。可以说,这个周末过得比较水。我已经30多个小时没有睡觉了。周六加班大半天,晚上跟同事打了两个多小时技术电话...你们能想象到跟同事电话里带着形而上的观点聊两个多小时技术,我们对工作该是多么负责啊!我并无意表达我要表现出很忙的意思...
来自Google的TCP BBR拥塞控制算法解析 写本文的初衷一部分来自于工作,更多的来自于发现国内几乎还没有中文版的关于TCP bbr算法的文章,我想抢个沙发。本文写于2016/10/15! 本文的写作方式可能稍有不同,之前很多关于OpenVPN,Netfilter,IP路由,TCP的文章中,我都是先罗列了问题,然后阐述如何解决这个问题。但是本文不同!本文的内容来自于我十分厌恶的一个领域,其中又牵扯到我十分厌恶的一家公司-华夏创新...
适用于OpenVZ加速TCP的BBR编译安装 BBR是Google开发的一个新的拥塞控制算法。可以有效的加速TCP流量。无论是建站还是使用SS都有非常不错的加速效果。本文章采用 Mixool 在Github发布的一键包,简化了安装过程。适用于:Centos7+ Debian8+ Ubuntu15+安装方法:1. 下载rintd二进制文件(原版bbr和修改版bbr二选一即可):wget --no-check-certificate http:...
为什么TCP头部没有数据长度信息而UDP有 先让我们看看IP,TCP,UDP的头部结构1. IPv4 头部2. TCP和UDP头部 可以看到IP的头部包换数据的长度,TCP的头部不包含数据长度,UDP的头部则包含。从信息冗余的角度来看,UDP的长度信息是不需要的。因为IPv4的头部已经包含了数据的长度信息,这里的数据如果当前的通讯协议是UDP,那么这个长度就包含了UDP的头部和UDP的数据,因为UDP的头部长度固定为8字节,那么这样就很容易...
分布式实时系统简介 一. Apache Hadoop Hadoop的两个重要组成部分:HDFS (Hadoop Distributed Files System ,Hadoop的分布式文件系统) 和MapReduce模型。 1. HDFS的特点: (1) 高容错性。HDFS采用冗余存储的方式,将相同的数据按块存储在不同的机器上。对数据节点和数据块进行心跳检测,在某个数据节点或块出现问题时,能及时利用...
版本控制工具Git 与Git 可视化工具SourceTree的使用 前言关于Git的介绍啊,基本命令行使用啊,需要复制粘贴的内容我这里都不作赘述。提供几个帖子,可按照顺序看一遍基本都了解了。Git简介,为啥要用Git以及Git的基本操作--廖雪峰的博客这个我认为最完美的工作流程,完全可应对大型项目,当然,现在可以不需要这么用,考虑到以后公司的发展,现在先立个flag--企业级开发:Gitflow Workflow工作流正题前面已经介绍了Git,现在说一下Sourc...
Nginx 配置 HTTPS 编译选项如需使Nginx 支持 HTTPS 功能,需在编译时./configure --with-http_ssl_module步骤1:Create the SSL Certificatesudo mkdir /etc/nginx/ssl sudo openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /etc/nginx/ss...
比特币白皮书 个人翻译+注解 作为bitcoin区块链的《圣经》,我终于在除夕当天翻译完成了。然后今天对其做出了个人的注解。毕竟英语太渣,翻译部分我都采取了直译,力求不丢失原文信息,所以看起来很别扭。。但是至少还是读得懂的。还有整篇文章都是赶出来,自己还没检查一遍,很多地方读不通顺甚至有错误,请大家见谅。自己的注解部分全部以引文的方式体现,主要包含了技术构成分析以及区块链系统的个人思考。英文链接Bitcoin: A Peer-...
CentOS离线安装mysql 1.先检查cnetos是否安装自带数据库: rpm -qa | grep mariadb 若有删除mariadb: yum remove 检查到的包2.上传perl-Data-Dumper-2.145-3.el7.x86_64到/usr/local下然后进入此目录,安装per-data-dumper包: rpm -ivh perl-Data-Dumper-2.145-3.el7.x86_6...
二维数组用malloc动态申请,以及memcpy操作 一, 申请动态二维数据https://blog.csdn.net/fengxinlinux/article/details/51541003方法一:利用二级指针申请一个二维数组。[cpp] view plain copy#include<stdio.h> #include<stdlib.h> int main() { int ...
分享几个技术博客 1. 直播P2P技术1-技术入门 - Sunlnx - 博客园https://www.cnblogs.com/Sunlnx/p/5929611.html特点:直播P2P技术2. P2P对等网络技术原理整合 - CSDN博客https://blog.csdn.net/EricFantastic/article/details/495827313. 【索引】从零开始入门区块链技术—资源汇总 - 区块链...
EOS智能合约系列教程第一篇 随着六月份临近,万众瞩目的EOS主网上线在即。关注DappReview的读者应该对于以太坊上的性能限制和可扩展性问题并不陌生,即便围绕着以太坊有侧链和状态通道等一系列在进行中的扩展方案,但开发者们对于EOS的高TPS和无交易费的特性早就已经按耐不住了。DappReview在最近开始了对于EOS开发的关注(并打算在dapp.review上推出EOS DApp排行),除了EOS官方在快速更新的wiki...
golang手动管理内存(二) Go 语言是自带GC的, 相对C语言等的手动内存管理省事很多, 弊端便是会消耗更多的内存, 以及在GC时导致整个程序的停顿. 在某些特殊场合, 如果能够可选地手动进行内存管理, 效果会好不少.Go 目前的 GC 实现比较简单(mark-sweep算法), 进程的内存使用量取决于两次GC操作直接的内存申请量(不能重复使用), 而且通常GC发生在函数调用的深处, 大量对象无法立即释放. 另外, 目前G...