以下是一个电子商务系统的架构设计,第一次做这样的设计,请大家一起来挑挑毛病,任何您能够想到的,都请你提出来,万分感谢!
需求是:需要支持注册用户数从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服务器:基于64位CPU的1U机架式服务器
l 其他服务器:基于64位CPU的2U机架式服务器
2、系统软件
l 操作系统:64位Windows Server 2003 简体中文企业版
l WebServer:IIS 6.0
l 数据库:64位SQLServer 2005 简体中文企业版
3、开发平台
l 平台:Visual Studio 2005 Team Suite 简体中文版
l Web层技术:ASP.NET 2.0 Web Site
l 中间层技术:ASP.NET 2.0 Web Service
来源:https://www.cnblogs.com/happyprogram/archive/2006/02/28/339989.html