一些高端洋气的术语(分布式,高性能等)

系统 2015 0

一致性哈希

 环形Hash解决节点的增删问题,虚拟节点解决平衡性问题。

http://blog.csdn.net/kongqz/article/details/6695417   http://www.jiacheo.org/blog/174   http://blog.csdn.net/sparkliang/article/details/5279393  (虚拟节点)

 

C10K问题

编写连接数巨大的高负载服务器程序时,经典的多线程模式和select模式都不再适用。 应当抛弃它们,采用epoll/kqueue/dev_poll来捕获I/O事件。最后简要介绍了AIO。
epoll:(1) LT水平触发 (2) ET边缘触发
epoll优于传统select及poll有以下几点:
(1) epoll不会随着fd数目的增长而效率降低,而且一个进程同时打开的fd数目的限制也不会成为瓶颈。
(2) epoll使用mmap来进行内核与用户空间的消息传递,以此避免内存拷贝的代价。

http://www.kegel.com/c10k.html   http://blog.sina.com.cn/s/blog_68ffc7a40101822l.html   http://wenku.baidu.com/view/33e41da6f524ccbff12184f9.html

蓄水池抽样

题目:有一个很大很大的输入流,大到没有存储器可以将其存储下来,而且只输入一次,如何从这个输入流中随机取得k个记录?(N未知)
for i= k+1 to N
M=random(1, i);
if( M < k)
SWAP the Mth value and ith value
end for

http://www.cnblogs.com/giraffe/p/3223369.html

无锁队列

CAS操作——Compare & Set,或是 Compare & Swap,现在几乎所有的CPU指令都支持CAS的原子操作。
1)无锁队列主要是通过CAS、FAA这些原子操作,和Retry-Loop实现。这些技术都可以用在其它的无锁数据结构上。
2)对于Retry-Loop,其实和锁什么什么两样。只是这种“锁”的粒度变小了,主要是“锁”HEAD和TAIL这两个关键资源。而不是整个数据结构。

http://coolshell.cn/articles/8239.html

数据库Sharding
Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID散列)切分到多个数据库(server)上。当然,现实中更多是这两种情况混杂在一起。

http://blog.csdn.net/bluishglc/article/details/6161475

(待续)

 

一些高端洋气的术语(分布式,高性能等)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论