请教道友们一个支付系统的架构选型问题!!!!
我最近接了一个支付系统的项目,项目中的实体并不多, 和原有系统,网上银行,第三方系统的交互比较多一些,
这次做项目设计和分析使用OO+DDD的方式来做,想请BANQ大哥和广大道友能够多多关注,多提宝贵意见!
目前我正在做该系统的技术架构选型:
我简单的介绍一下我们的需求:
主要是做一套支付卡系统:
业务需求方面分为:
1:功能性需求:
支付卡管理:CRUD 统计分析
充值卡管理:CRUD 统计分析
支付卡积分管理:积分策略设定,调整
接口系统:和原有业务系统的接口,和网银系统的接口
决策分析系统:对系统中的数据进行多维度的分析,提供对公司上层决策
2:非功能性需求:
安全服务: 从项目设计开始就把安全列入了统一过程中去。确保表现层,业务层,持久层的安全。这一块花了很大功夫
业务持续稳定性:最初使用双机热备份。但是要考虑到对集群的支持。要做到保证系统7×24小时业务持续可用
业务响应性能:支持每台每秒200个并发, 要考虑到1-2年后,用户要达到100万的需求。
可扩展性:
软件功能的扩展:
系统要增加新功能的时候,只需要将新的功能文件放入指定位置,然后一经配置,新的功能就增加完毕。
系统并发需求的扩展:
当系统数据量和访问量增大而导致系统配置不能满足要求时,可以通过增加服务器,构成应用集群来满足需求。应用软件设计上对集群有支持。
简单分析一下我们的需求:
1:业务实体不复杂,和其他系统的交互比较复杂
2:对计算和事务的要求比较高,系统的数据量也不小。
我目前做了2个系统架构:
1:使用Struts2 + EJB3.0 + Oracle10G的架构,这样可以很好的支持业务集群,分布式事务和计算。
2:使用Struts2 + Spring+ hibernate + ibatis的架构,然后可以在前端使用F5这样的硬件负载均衡设备来支持集群,用F5来分发业务请求。
以后我会把这个项目进展中的经验和问题一块拿出来和大家分享,还是想请BANQ大哥和广大道友能够多多关注,多提宝贵意见!