- 博客(7)
- 资源 (4)
- 收藏
- 关注
原创 高可用高性能系统(四)分布和集群
分布和集群不完全一样,但有很多相似的地方,也有很多不同的地方。我们主要从他的基础特性上来分析,分布的计算单元可能分布在广大的地理空间,比如中国的一台机器和美国的一台机器;而集群的计算单元主要集中在一个相对较近的距离,比如一个机房,对于集群的使用者来说,集群是个整体,他的构成是透明。不论他们是为了完成同一个任务还是分担不同的任务,我觉得都不是关键问题。他们之间最大差别就是计算单元之
2008-07-29 16:13:00 1722
原创 高可用高性能系统(三)故障管理
高可用系统必须对故障具备很高的容错能力,而这核心问题就是对故障的管理。从系统组成来看,故障可能是整个系统的,或者某个组件、某个服务甚至某个进程中发生。对故障的管理可以分为几个过程:检测、定位、隔离、恢复、报告。如果继续强化的话,还应该加入预测功能。 故障的检测主要工作是检测系统中在某个单元是有故障发生。故障的定位主要是判断这个故障发生在哪个单元以及这个单元具体在哪个位置。故障隔离是
2008-07-24 16:40:00 2032
原创 高可用高性能系统(二)系统异常场景
一、网络故障 当客户正在交易时,突然网络发生异常,导致无法继续连接到网络上。这个场景是最可能发生的。我们需要在网络发生的时候,让客户能够继续进行这个交易。二、性能故障 由于机器性能或者软件性能的缘故,可能会导致我们在某个业务处理过程中耗费大量时间,比如数据库查询。但是这也不应该影响我们进行继续交易。三、系统崩溃 一个畸形的请求,让我们的系统在某个不完善的地方发生了崩溃,这个很可怕
2008-07-23 17:06:00 1558
原创 高可用高性能系统(一)系统应用场景
建设一个高可用高性能的系统是我最近几年的努力目标,但其中涉及的内容颇多,都是些零星的经验,缺乏系统性架构总结。写这个系列的文章其实是我一直以来的想法,不过题材和内容过多,所以一直搁置。前些日子到一家公司面试,备受打击,觉得有必要把它总结一下。 我假定要为期货交易建设一个高可用高性能的系统,那么期货交易就是系统应用场景。期货交易的诸多规则我们没有必要理会,我们只需要简化出一个交易场景,需
2008-07-23 15:42:00 2222
原创 返回码的设计
在C语言中,返回码是很重要的值。和其他支持异常的语言,如C++不一样,C主要还是通过返回码来判断是否执行成功以及发生错误的原因。在POSIX规范中,定义了全局唯一的错误码,当错误发生时,errno指示出错误的原因,而返回码以-1或者NULL等畸形值来指示错误的发生。但是这同样有个问题无法解释,就是发生错误的确切位置。 我重新尝试在返回码中添加错误发生位置的信息,如行号。但却没能指出错
2008-07-16 16:39:00 1443
转载 [转载]开源引擎
一、底层开发包和工具 1. http://www.mesa3d.org Mesa是一个类OpenGL( http://www.opengl.org )的开源实现。 2.http://openil.sourceforge.net DevIL (即以前的OpenIL)是一个跨平台的图形处理包,支持 BMP、JPG、GIF 等多种图形文件格式。 二、2D 游戏开发包
2008-07-04 00:02:00 1863
原创 如何将静态库文件Make到指定目录
下面是 Makefile.am中的代码,蓝色部分是一种扩展,将生成出来的静态库拷贝到lib目录:noinst_LIBRARIES=libutil.alibutil_a_SOURCES= util.call-am: $(all-am) CPLIBRARYCPLIBRARY : cp $(noinst_LIBRARIES) $(top_srcdir)/lib上面代
2008-07-03 17:32:00 1969
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人