
服务器架构
tianxiaogang12
吉林大学计算机学院
展开
-
MapReduce:超大机群上的简单数据处理(转载)
<br />摘要MapReduce是一个编程模型,和处理,产生大数据集的相关实现.用户指定一个map函数处理一个key/value对,从而产生中间的key/value对集.然后再指定一个reduce函数合并所有的具有相同中间key的中间value.下面将列举许多可以用这个模型来表示的现实世界的工作.以这种方式写的程序能自动的在大规模的普通机器上实现并行化.这个运行时系统关心这些细节:分割输入数据,在机群上的调度,机器的错误处理,管理机器之间必要的通信.这样就可以让那些没有并行分布式处理系统经验的程序员利用大转载 2010-10-05 00:59:00 · 575 阅读 · 0 评论 -
一种经典的网络游戏服务器架构
http://www.cppblog.com/johndragon/archive/2008/04/10/46768.html首先,二话不说,上图(用Windows画图画的。。。)这个图是一个区的架构图,所有区的架构是一样的。上面虚线框的ServerGroup和旁边方框内的架构一样。图上的所有x N的服务器,都是多台一起的。红线,绿线,和蓝线图上也有图示,这里就不多介绍了。关于Agent Server大家也能看出来,其实就是Gate。这里主要介绍下图上的标记了号码的位置的数据连接的内容和意义。1-转载 2010-10-02 12:47:00 · 1658 阅读 · 0 评论 -
线程池设计及注意问题
<br /><br />一般一个简单线程池至少包含下列组成部分。线程池管理器(ThreadPoolManager):用于创建并管理线程池工作线程(WorkThread): 线程池中线程任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行。任务队列:用于存放没有处理的任务。提供一种缓冲机制<br /> <br /><br />关于高级线程池的探讨<br /> <br />简单线程池存在一些问题,比如如果有大量的客户要求服务器为其服务,但由于线程池的工作线程是有限的,服务器只能为部分客户服务原创 2010-10-15 11:46:00 · 2375 阅读 · 0 评论 -
生产者-消费者问题实现 使用信号量
当只有一个生产者、消费者时,由于同一群体内部不需要互斥,所以只需在群体之间实 现同步即可。#include #include #include #include #include #define N 2 // 消费者或者生产者的数目#define M 10 // 缓冲数目int in = 0; // 生产者放置产品的位置int out = 0; // 消费者取产品的位置int buff[M] = {0}; // 缓冲初始化为0, 开始时没有产品sem_转载 2010-10-17 00:34:00 · 1567 阅读 · 0 评论