12 2013 档案
摘要:http://queues.io/AboutThere are many queueing systems out there. Each one of them is different and was created for solving certain problems. This page tries to collect the libraries that are widely popular and have a successful record of running on (big) production systems.The goal is to create a qu
阅读全文
摘要:http://www.enjoythearchitecture.com/redis-architectureThe architecture ofREDISREDISis an open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets. Redis works with an in-memory dataset. Depending on
阅读全文
摘要:http://www.codeproject.com/Articles/172241/Push-Framework-A-Cplusplus-toolkit-for-high-perforTable of contentsIntroductionDeployment layoutThe developer perspectiveTechnicalarchitectureTutorials and examplesChat applicationClient-serverusing the Google Protobuf protocolUsing Websocket to communicate
阅读全文
摘要:http://www.cppblog.com/isware/archive/2011/07/19/151390.htmlhttp://pl.atyp.us/content/tech/servers.html引言本文将与你分享我多年来在服务器开发方面的一些经验。对于这里所说的服务器,更精确的定义应该是每秒处理大量离散消息或者请求的服务程序,网络服务器更符合这种情况,但并非所有的网络程序都是严格意义上的服务器。使用“高性能请求处理程序”是一个很糟糕的标题,为了叙述起来简单,下面将简称为“服务器”。本文不会涉及到多任务应用程序,在单个程序里同时处理多个任务现在已经很常见。比如你的浏览器可能就在做一些
阅读全文
摘要:http://www.ccf.org.cn/sites/ccf/xytsnry.jsp?contentId=2774505979501P01: 01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}。这个方程非常重
阅读全文
摘要:1.客户端-服务器结构 客户端-服务器结构的物理部署分为三类: (1)在同一台机器上:理想环境,只要压力不大,分组不会丢失、延迟和乱序,是理想的测试环境,可以用作评估客户端和服务器端程序的原始性能; (2)在同一局域网内:接近理想环境,分组很少丢失、乱序,但是有延迟; (3)在广域网内:分组丢失、重传、重复、乱序比较常见。2.基本套接字API (1)sys/socket.h、winsock2.h:SOCKET socket(int domain, int type, int protocol) 成功时返回套接字,失败时返回-1(linux),INVALID_SOCKET(win...
阅读全文
摘要:http://www.cnblogs.com/vamei/archive/2012/12/02/2796988.htmlIPv4与IPv6头部的对比我们已经在IP接力中介绍过,一个IP包分为头部(header)和数据(payload/data)两部分。头部是为了实现IP通信必须的附加信息,数据是IP通信所要传送的信息。黄色区域 (同名区域)我们看到,三个黄色区域跨越了IPv4和IPv6。Version(4位)用来表明IP协议版本,是IPv4还是IPv6(IPv4, Version=0100; IPv6, Version=0110)。Source Adrresss和Destination Add
阅读全文
摘要:参考:http://blog.sae.sina.com.cn/archives/1988http://sznmail.iteye.com/blog/1882829一、理论限制1. 单机最大连接数系统用一个4四元组来唯一标识一个TCP连接:{local ip, local port, remote ip, remote port}。client每次发起tcp连接请求时,除非绑定端口,通常会让系统选取一个空闲的本地端口(local port),该端口是独占的,不能和其他tcp连接共享。tcp端口的数据类型是unsigned short,因此本地端口个数最大只有65536,端口0有特殊含义,不能使用
阅读全文
摘要:转自http://www.valleytalk.org/2012/08/05/epoll-linux%E5%86%85%E6%A0%B8%E6%BA%90%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86%E5%88%86%E6%9E%90/EPOLL Linux内核源代码实现原理分析黄江伟will.huang@aliyun-inc.comepoll的实现主要依赖于一个迷你文件系统:eventpollfs。此文件系统通过eventpoll_init初始化。在初始化的过程中,eventpollfs create两个slub分别是:epit
阅读全文

浙公网安备 33010602011771号