浅谈tcp_nodelay的作用
今天在用nginx作web缓存的时候,发现在http里加入这样个参数,能有效的提高数据的实时响应性,那就是tcp_nodelay.下面我们来说说tcp_nodelay的原理:
READ MORE
git中永久删除文件
Linux 内核通知链机制
一、概念:
大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子 系统,Linux内核提供了通知链的机制。通知链表只能够在内核的子系统之间使用,而不能够在内核与用户空间之间进行事件的通知。 READ MORE
Linux 组调度浅析
cgroup 与组调度
linux内核实现了control group功能(cgroup,since linux 2.6.24),可以支持将进程分组,然后按组来划分各种资源。比如:group-1拥有30%的CPU和50%的磁盘IO、group-2拥有10%的CPU和20%的磁盘IO、等等。具体参阅cgroup相关文章。
READ MORE
Linux 进程调度浅析
操作系统要实现多进程,进程调度必不可少。进程调度是对TASK_RUNNING状态的进程进行调度(参见《Linux进程状态浅析》)。如果进程不可执行(正在睡眠或其他),那么它跟进程调度没多大关系。
所以,如果你的系统负载非常低,盼星星盼月亮才出现一个可执行状态的进程。那么进程调度也就不会太重要。哪个进程可执行,就让它执行去,没有什么需要多考虑的。
READ MORE
Linux 进程状态浅析
众所周知,现在的分时操作系统能够在一个CPU上运行多个程序,让这些程序表面上看起来是在同时运行的。linux就是这样的一个操作系统。
在linux系统中,每个被运行的程序实例对应一个或多个进程。linux内核需要对这些进程进行管理,以使它们在系统中“同时”运行。linux内核对进程的这种管理分两个方面:进程状态管理,和进程调度。本文主要介绍进程状态管理,进程调度见《linux进程调度浅析》。 READ MORE
区块链核心技术:拜占庭共识算法之PBFT
PBFT是Practical Byzantine Fault Tolerance的缩写,意为实用拜占庭容错算法。该算法是Miguel Castro (卡斯特罗)和Barbara Liskov(利斯科夫)在1999年提出来的,解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得可行。该论文发表在1999年的操作系统设计与实现国际会议上(OSDI99)。没错,这个Loskov就是提出著名的里氏替换原则(LSP)的人,2008年图灵奖得主。
摘要部分
OSDI99这篇论文描述了一种副本复制(replication)算法解决拜占庭容错问题。 READ MORE
如何正确使用HD Wallets
HD Wallets:扩展性树型钱包(hierarchical deterministic wallets)
参考地址:https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki
原理简介:
-
生成HD Wallets钱包的时候除了会生成
主私钥
(master private key)和主公钥
(master public key),还会生成一个chain code
。 -
利用 master private key + chain code可以得到指定的
子私钥
(sub private key); -
利用 master public key + chain code可以得到指定的
子公钥
(sub-public key);
READ MORE
Jenkins、Github PR的集成
github 配置
- 配置 webhook (webhook URL参看 jenkins下面jenkins中的提示)
- 配置 token(如果是私有仓库)