设为首页 加入收藏

TOP

1.3.3 应付快速增长
2013-10-07 00:09:28 来源: 作者: 【 】 浏览:79
Tags:1.3.3 应付 快速 增长

1.3.3  应付快速增长

我开始开发ASD的时候,我们的网络还只是个原型:有时会失效,不能与每台机器都连通。所以我用uucp作传输工具——我别无选择。然而,一段时间后,网络第一次变得稳定,然后成为了不可或缺的部分。随着网络的改善,使用ASD的机器数目也在增加。到了大概25台机器的时候,uucp已经慢得不能轻松应付这样的负载了。是时候了,我们必须跨过uucp,开始直接使用网络。

对于使用网络进行软件发布,我有一个好主意:我可以写一个spooler来协调数台机器上的发布工作。这个spooler需要一个在磁盘上的数据结构来跟踪哪台机器成功地接收和安装了软件包,以便人们在操作失败时可以找到出错的地方。这个机制必须十分强健,可以在无人干预的情况下长时间运行。

然而,我迟疑了好一阵,ASD最初版本中那些曾经困扰过我的琐碎细节搞得我泄了气。我知道我希望解决的问题,但是想不出来在满足我的限制条件的前提下,应该如何用C来解决这些问题。一个成功的spooler必须:

• 有与尽量多的操作系统工具的接口。

• 避免没有道理的限制。

• 速度上必须比旧版本有本质的提高。

• 仍然极为可靠。

我可以解决所有这些问题,除了最后一个。写一个spooler本身就很难,写一个可靠的spooler就更难。一个spooler必须能够对付各种可能的奇异失败,而且始终让系统保持可以恢复的状态。

我在排除uucp中的bug上面花了数年的功夫,然而我仍然认为,对于我新的spooler来说,要想成功,就必须立刻做到真正的bugfree。


回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.2.3 抽象和内存管理 下一篇2.3 机器应该为人服务

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: