- 博客(19)
- 资源 (7)
- 收藏
- 关注
原创 web缓存技术
1 web缓存的简介1.1 采取Web加速技术措施 采取Web加速技术,减少用户访问的延迟。如采用Web缓存[8](Web Caching )技术、Web预取(Web Prefetching)技术、CDN ( Content Delivery Network)技术等,以此来降低用户可感知的网络访问延迟,提高网络服务质量。 典型的缓存体系结构有IRCache, Summary C
2014-06-07 21:00:58 1061
原创 erlang学习1 -- 入门
今天下载了JOE ARMSTRONG的《Erlang程序设计》一书,没想到JOE ARMSTRONG的博士论文我曾经下载过,可惜
2014-05-09 18:43:20 968
原创 Linux下利用线程池模型+epoll实现简单的HTTP服务器
本文利用前文所述的半同步/半反应堆线程线模板,实现高并发的HTTP服务器,支持简单的HTTP协议。首先mhgk
2014-05-08 17:51:42 2272
原创 高性能服务器编程半同步/半反应堆的线程池模板
#ifndef THREADPOOL_H#define THREADPOOL_H#include #include #include #include #include "locker.h"templateclass threadpool{public: threadpool( int thread_number = 8, int max_requests = 10
2014-05-08 11:06:31 911
原创 libevent中的hello-world.c解讯
/* This exmple program provides a trivial server program that listens for TCP connections on port 9995. When they arrive, it writes a short message to each client connection, and closes each co
2014-05-07 10:21:36 1172
原创 关于libevent的定时器
/* Common timeouts are special timeouts that are handled as queues rather than * in the minheap. This is more efficient than the minheap if we happen to * know that we're going to get several tho
2014-05-06 18:17:07 1008
转载 UML中关系图解
关系列表:继承关系(Generalization);实现关系(Realization);依赖关系(Dependency);关联关系(Association);有方向的关联(DirectedAssociation);聚合关系(Aggregation);组合关系(Composition);继承关系(Generalization):Class B继承与Class A
2014-01-14 11:29:50 546
转载 使用事件驱动模型实现高效稳定的网络服务器程序
前言事件驱动为广大的程序员所熟悉,其最为人津津乐道的是在图形化界面编程中的应用;事实上,在网络编程中事件驱动也被广泛使用,并大规模部署在高连接数高吞吐量的服务器程序中,如 http 服务器程序、ftp 服务器程序等。相比于传统的网络编程方式,事件驱动能够极大的降低资源占用,增大服务接待能力,并提高网络传输效率。关于本文提及的服务器模型,搜索网络可以查阅到很多的实现代码,所以,本文将
2014-01-14 10:51:33 628
转载 四层和七层负载均衡的区别介绍
简单理解四层和七层负载均衡:①所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;四层通过虚拟IP+端口接收请求,然后再分配到真实的服务器;
2014-01-12 12:36:52 934
转载 linux自旋锁和互斥体
内核同步措施为了避免并发,防止竞争。内核提供了一组同步方法来提供对共享数据的保护。 我们的重点不是介绍这些方法的详细用法,而是强调为什么使用这些方法和它们之间的差别。Linux 使用的同步机制可以说从2.0到2.6以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随 Linux从单处理器到对称多处理器的过度;伴随着从非抢占内核到抢占内核的
2014-01-12 11:59:34 951
原创 Linux通过改进的epoll实现对不同超时时间的数据包重传
应用背景: epoll模型是当前Linux网络编程的主流模型,可以高效解决多个事件并发的问题。在进行网络编程时,往往要对每一个发出的数据包进行ACK确认,若在指定的时间内没有收到ACK,则需要重传或者丢弃该数据包。那么如果在epoll模型中实现该功能呢?先来看看传统的做法:程序维护一个“已发出但是没收到ACK”的数据包记录R,记录包括数据包内容、数据包发送的时间戳t以及超时时间T。当需要进行数
2014-01-10 22:26:07 3553
转载 网络编程:Reactor与Proactor的概念
1、标准定义两种I/O多路复用模式:Reactor和Proactor一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器(Event Handler)。开发人员预先注册需要处理的事件及其事件处理器(或回调函数);事件分离器负责将请求事件传递给事件处理
2013-12-26 10:50:25 653
原创 boost智能指针系列:shared_ptr
shared_ptr是一个最像指针的"智能指针"。shared_ptr与scoped_ptr一样包装了new操作符在堆上分配的动态对象,但它实现的是引用计数型的智能指针,可以被自由的拷贝和赋值,在任意的地方共享它,当没有代码使用(引用计数为0)它时才能删除被包装的动态分配的对象。shared_ptr也可以安全地放到标准容器中,并弥补了auto_ptr因为转移语义而不能把指针做为STL容器元素的
2013-12-05 19:25:54 910
原创 boost智能指针系列:scoped_ptr
boost.smart_ptr库提供六种智能指针,分别为shared_ptr、weak_ptr、scoped_ptr、scoped_array、shared_array和instrusive_ptr。它们都是很轻量级的对象,速度与原始指针相差无几,都是异常安全的(exception safe),要求:类型T的析构函数不能抛出异常。这些智能指针都位于名字空间boost,为了使用smart_ptr
2013-12-05 10:35:47 816
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人