happyprogram


一切有为法,如梦幻泡影,如露亦如电,应作如是观。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

以下是一个电子商务系统的架构设计,第一次做这样的设计,请大家一起来挑挑毛病,任何您能够想到的,都请你提出来,万分感谢!

需求是:需要支持注册用户数从10万到1000万平滑扩展,并且保证一定的性能、安全性和可用性。

系统架构示意图

 

1、可管理性

l        采用中央配置服务器保存全局所有子系统、负载均衡等配置信息,并将其提供给各子系统;

l        每台服务器上运行一个监控进程,用于定时报告服务器运行状态。

2、可伸缩性

l        使用DNS负载均衡实现Web服务器的可伸缩性;

l        使用业务分解,以及可配置的负载均衡策略实现业务层的可伸缩性;

l        使用数据分解,以及数据库集群实现数据层的可伸缩性;

l        使用其他分解方法实现其他子系统的可伸缩性。

l        将面向Customer的网站分为Web部分和Resource部分,目的是根据内容(页面逻辑和图片资源)对带宽、缓存、服务器性能等进行优化;

3、安全性

l        最外层(Web)设置防火墙以抵御各种攻击;

l        各子系统的相互访问实行严格的IP地址限制并且必须持有合法的KEY

l        访问中央配置服务器时,对传输的数据进行加密;

l        尽可能对敏感数据(帐号和密码等)进行加密传输和存储;

l        中间业务层负责所有业务逻辑的实现,并封装数据库访问,所有其他子系统均不直接访问数据库;

l        在网络、硬件和操作系统上实施其他的安全策略。

4、缓存

l        Web层的缓存策略

n        客户端缓存

n        服务器页面缓存

n        服务器数据缓存

l        业务层的缓存策略

n        数据缓存

l        数据库层的缓存策略

5、性能

l        尽可能采用异步操作以提高整体性能;

l        尽可能重用计算结果以提高整体性能;

l        综合利用各种开发技巧提高整体性能。

6、备份

l        除了程序外,所有数据(包括数据库数据、资源服务器上的资源文件等)均进行集中备份,目的是便于管理,并且在全部丢失时也能够完整恢复;

l        始终在异地保存一份最新的完整备份。

7、可用性

l        综合利用服务器集群方案,防单点故障。


系统技术平台

1、硬件选型

l        Web服务器:基于64CPU1U机架式服务器

l        其他服务器:基于64CPU2U机架式服务器

2、系统软件

l        操作系统:64Windows Server 2003 简体中文企业版

l        WebServerIIS 6.0

l        数据库:64SQLServer 2005 简体中文企业版

3、开发平台

l        平台:Visual Studio 2005 Team Suite 简体中文版

l        Web层技术:ASP.NET 2.0 Web Site

    l        中间层技术:ASP.NET 2.0 Web Service