
软件工程/设计模式
文章平均质量分 72
iteye_8162
这个作者很懒,什么都没留下…
展开
-
bloom filter 的Java 版
属于转贴:http://www.cnblogs.com/hitwtx/archive/2011/08/24/2152180.html一、 Bloom-Filter算法简介。 Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中,其优点是空间效率和查询时间都远远超过其他算法,其不足在于Bloom- Filter存在着误判。 二、...原创 2012-07-26 21:50:32 · 114 阅读 · 0 评论 -
redis主从的配置和使用
redis主从的配置和使用1, redis配置文件常用选项说明daemonize no 说明:是否把redis-server启动在后台,默认是“否”。若改成yes,会生成一个pid文件。pidfile /var/run/redis.pid说明:redis-server的pid文件。port 6379说明:redis-server的端口号dbfil...原创 2012-11-23 14:24:26 · 202 阅读 · 0 评论 -
Zookeeper的一致性协议:Zab
Zookeeper使用了一种称为Zab(Zookeeper Atomic Broadcast)的协议作为其一致性复制的核心,据其作者说这是一种新发算法,其特点是充分考虑了Yahoo的具体情况:高吞吐量、低延迟、健壮、简单,但不过分要求其扩展性。下面将展示一些该协议的核心内容:另,本文仅讨论Zookeeper使用的一致性协议而非讨论其源码实现Zookeeper的实现是有Cl...原创 2012-11-04 16:14:07 · 138 阅读 · 0 评论 -
MySQL源码分析(1):主要模块及数据流
经过多年的发展,mysql的主要模块已经稳定,基本不会有大的修改。本文将对MySQL的整体架构及重要目录进行讲述。源码结构(MySQL-5.5.0-m2) BUILD: 内含在各个平台、各种编译器下进行编译的脚本。如compile-pentium-debug表示在pentium架构上进行编译的脚本。Client: 客户端工具,如mysql, mysqladmin之类。Cmd-line-utils:...原创 2012-05-26 11:07:36 · 152 阅读 · 0 评论 -
四层和七层负载均衡的区别介绍
简单理解四层和七层负载均衡:①所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;四层通过虚拟IP+端口接收请求,然后再分配到...原创 2012-09-12 11:46:37 · 113 阅读 · 0 评论 -
LInux Tcp 延迟确认问题
案例一:同事随手写个压力测试程序,其实现逻辑为:每秒钟先连续发N个132字节的包,然后连续收N个由后台服务回显回来的132字节包。其代码简化如下:char sndBuf[132];char rcvBuf[132];while (1) { for (int i = 0; i < N; i++){ send(fd, sndBuf, sizeof(sndBuf), 0); ...原创 2012-09-06 10:17:54 · 167 阅读 · 0 评论 -
Nagle算法 TCP_NODELAY和TCP_CORK
Nagle算法根据创建者John Nagle命名。该算法用于对缓冲区内的一定数量的消息进行自动连接。该处理过程(称为Nagling),通过减少必须发送的封包的数量,提高了网络应用 程序系统的效率。Nagle算法,由Ford Aerospace And Communications Corporation Congestion Control in IP/TCP inte...原创 2012-09-06 08:43:28 · 137 阅读 · 0 评论 -
socket中accept()函数的理解
如果客户端有连接请求,必须使用下述函数来接受客户端的请求。SOCKET accept( SOCKET s, struct sockaddr FAR *addr, int FAR *addrlen); addr用于存放客户端的地址,addrlen在调用函数时被设置为addr指向区域...原创 2012-09-01 22:41:39 · 6732 阅读 · 0 评论 -
socket中的TIME_WAIT状态
TCP要保证在所有可能的情况下使得所有的数据都能够被投递。当你关闭一个socket时,主动关闭一端的socket将进入TIME_WAIT状态,而被动关闭一方则转入CLOSED状态,这的确能够保证所有的数据都被传输。当一个socket关闭的时候,是通过两端互发信息的四次握手过程完成的,当一端调用close()时,就说明本端没有数据再要发送了。这好似看来在握手完成以后,socket就都应该处于...原创 2012-08-16 11:47:24 · 144 阅读 · 0 评论 -
copy项目是容易出现的错误--webAppRootKey错误
Tomcat 发布多个项目时抛的webAppRootKey错误Xml代码 在tomcat的目录conf\Catalina\localhost下,可以增加xml文件,来指向file系统中任意一处作为网站系统的子根目录,例如: atcs.xml文件: <!-- Context configuration file for the Tomcat Host Manager Web...原创 2012-12-05 21:18:15 · 139 阅读 · 0 评论