企业级服务器设计与实现经验之系统框架(一)

系统 1512 0

我们将 DataServer 拆分为功能服务器和应用服务器,基于如下几个方面的考虑:

(1) 能更简单的添加不同类型的应用。在这种拆分的状态下,如果需要增加一个新的应用,那么只需要增加一个新的应用服务器即可。比如,现有的应用服务器是以 TCP 的方式提供服务,如果我想增加一种以 WebService 方式来发布我们的服务,那么我只要增加一个 WebService 应用服务器,而不管是 TCP 应用服务器还是 WebService 应用服务器,它们的后端都是通过同一个功能服务器来提供功能处理的。

(2) 功能服务器框架可复用。由于功能服务器只处理功能请求,不参与用户管理等其它具体与应用相关的内容,所以它是一个单纯的服务器,正是由于这种单纯性,使得功能服务器框架可以高度复用。比如,你想开发一套自己的特殊服务,那么完全可以将整个功能服务器搬过来,只要开发你自己的一系列功能插件来提供你想要的服务就 OK 了,这就把本来开发一个系统的工作量缩减为为开发几个插件工作量。这是一种高级的复用。

(3) 集群更容易实现。我们知道,功能服务器处理所有的功能请求,所以,当在线用户人数增多时,一个功能服务器忙不过来,这是常见的情况,而应用服务器由于只作简单的用户管理和转发数据,没有太大的计算工作,所以应用服务器处理起来一般是游刃有余的,瓶颈在功能服务器。在这样的情况下,我们可以让一台应用服务器连上多个功能服务器,然后加上调度功能,即可简单的实现负载平衡集群,如果把对功能服务器的性能监视做得更深入一些,甚至可以做到故障转移集群。我们不用再求助 COM+ 等类似的东东了。

(4) 实现功能服务器的“热插拔”。前面提到了实现功能插件的“热插拔”是功能服务器的一个基本需求,在运行的过程中可以动态的添加 / 移除功能服务器自然也是我们的基本需求之一了。当我们发现某台功能服务器需要停机维修时,只要在与之相关的应用服务器上点一下“移除”按钮就可以了;由于访问量的增加,当我们购买了一台新的机器作为功能服务器时,只要在相应的应用服务器上点一下“动态连接到功能服务器”按钮就可以了。一切都那么灵活,全在运行时完成,服务器不用停止,客户不用等待。

有人提出,将功能服务器 AS 拆开, AS 之间的通信就需要时间,这样会降低整体系统的效率。确实是会有点影响,但是考虑到 FS 通常位于同一局域网内,它们之间可以通过 AS AS/FS 这种灵活的模型。

企业级服务器设计与实现经验之系统框架(一)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论