构建大型业务系统过程中需要考虑的问题

来源:互联网 发布:网络窃密手段 编辑:程序博客网 时间:2024/06/09 22:41

为开发大型业务系统,开发者能够列举出应该烤炉的问题列表

1.远程方法调用。开发者需要借助于网络连接,实现客户和服务器直接的连接和通信。其中包括分发方法请求、代理参数等。

2.负载均衡。客户应该连接到负荷最轻的那台服务器上。一旦服务器超负荷运行,则其它服务器应该能够替它分担负荷。 

3.透明的容错。如果服务器或者网路瘫痪,在不中断客户服务的前提下,能否将客户请求分发给其它服务器?如果能,则响应时间多长?响应时间是否能满足需求?

4.后端集成。开发者需要开发如下两方面的内容:其一,将业务数据持久化到RDBMS中。其二,同现有遗留系统的集成。

5.事物。一旦不同客户同时反复问同一行RDBMA表数据,该如何处理?如果RDBMS瘫痪该如何处理?事物能够结觉以上问题。

6.群集。当某服务器瘫痪时,其上的状态信息怎么处理?需要在所有服务器中提前复制这类信息吗?而且,客户能否使用其它服务器?解决这些问题就要使用群集了。

7.动态重新部署。如果网站处于运行状态,该如何实现软件的更新操作?难道需要暂时关机,还是让它一直处于运行中?动态重新部署可以解决。

8.完全关机。如果需要关闭服务器,是否能够顺利的完成系统的完全关机?即不中断那些正在使用当前服务器提供服务的客户。

9.日志和评审。一旦系统运行出现错误,能否找到相关日志信息,以解决问题?即使没有出错日志信息有帮助于开发者调试并发现问题。

10.系统管理,一旦出现灾难性失败事件,谁负责监控系统?因此,需要借助于监控软件,实现系统管理能力。

11.线程。如果存在多个用户连接到服务器,则服务器需要具备同时处理多个客户请求的能力,因此必须具备多线程的能力。

12.面向消息的中间件。对于有些客户和服务器处于松耦合的场景,开发者需要用基于消息的方式处理客户请求,因此,此时需要借助于基础框架完成消息的处理。

13.对象生命周期。服务器能够依据客户请求数量的大小,而激活或销毁现存对象。

14.资源池。如果客户当前并没有使用服务器,则需要将其占有的服务器资源返还给资源池,从而供其他客户使用,具体资源有:Socket(如数据库连接)、服务器中的激活对象等。

15.安全性,服务器和RDBMS必须确保不会受到肇事者的破环。因此,需要依据用户的相应角色而授予适当的权限,即对其访问的操作授权。

16.缓存。假如存在如下场景:所有客户需要共享一些RDBMS中的数据,如产品分类信息,此时,服务器是否还需要蜂聚每次客户请求去RDBMS中提取这些数据呢?开发者应该清楚:将数据存放在内存中是较好的解决办法,因为,这样能够避免多次访问网络中的RDBMS.