- 博客(6)
- 资源 (3)
- 收藏
- 关注
原创 服务器程序中如何设计backup task功能
Retry集群中有client、server1, server2三台机器,client需要向server请求数据,如果server1响应超时,则请求server2。server1、server2互为备份,包含同样的数据。client: for (id = 0; id < 2; id++) { if (TIMEOUT == do_req
2013-02-27 11:24:47 2429
原创 服务器程序中如何设计retry功能
集群中有client、server1, server2三台机器,client需要向server请求数据,如果server1响应超时,则请求server2。server1、server2互为备份,包含同样的数据。client: for (id = 0; id < 2; id++) { if (TIMEOUT == do_request(server
2013-02-27 10:23:58 1697
原创 搭建私有的git服务平台
为了实现公司开发平台、个人电脑Windows平台、个人电脑Linux平台、国外买的云服务器、即将咬购买的阿里云的云服务器之间的代码同步和快速部署,进行了一些简单的技术选型,首先考虑的是rsync,发现安装非常麻烦,然后考虑了一个商业软件,安装亦不顺,最终决定还是走最成熟的代码仓库平台,svn和git都是不错的选择,但是考虑到两点,抛弃了svn:svn在每个目录下都有.svn文件夹,内容
2013-02-23 23:41:31 9236
原创 服务器设计之请求处理框架
上一篇讲了工作线程池的设计,这一篇讲讲工作线程前面的事:如何写Server Front-end。有三个主要类:ObMySQLServer,ObMySQLCallback,ObMySQLCommandQueueThreadObMySQLServer负责和网络框架libeasy进行交互,具体交互的桥梁通过ObMySQLCallback来实现。首先ObMySQLServer将ObMySQ
2013-02-19 09:25:29 1693
原创 工作线程池的设计
在后端服务器程序的设计中,通常采用线程池的方式来管理工作线程。当一个外部请求到来时,系统从线程池中选择出一个工作线程来服务请求。选择工作线程的策略有很多,最常见的包括(1)随机选择 (2)活跃线程优先选择 (1)随机选择系统启动的时候会创建N个工作线程。 default_task_queue_thread_.setThreadParameter(thread_
2013-02-17 17:21:03 2006 1
原创 OceanBase中并发request处理的思考
最近竹翁发现的一个bug最终查明是并发处理造成的,bug的详细分析见这里mergeserver的scan模块有这样的特征:open()打开一个scan句柄,然后通过get_next_row()这个流式接口异步的驱动网络框架向chunkserver发送读数据请求,网络框架收到结果数据后会将结果挂入finish队列,如果队列上有线程等待,则以事件通知的方式唤醒该等待线程处理结果。线程处理数据的
2013-02-05 01:12:46 1305
同义词词林(扩展版)
2010-05-18
FASS简介-抗锯齿原理
2009-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人