java web系统架构设计需要解决的几个问题
下面列出了java web系统整体设计时需要解决的几个问题,肯定不够全面和深入,欢迎大家补充和交流,呵呵。
系统架构的工作是需要长期一线工作经验的,管理方向的项目经理之类的应该较少参与,如果此类人员主导了架构工作,系统也就没什么前途可言了。
?
?
1. 应用层架构
1.1 系统事务的选择和定义
1.1.1 选择本地事务还是分布式事务,根据是什么,数据层的架构方式对事务模式的选择有较大的影响,需要重点分析。
1.1.2 分布式系统要考虑子系统之间接口的事务方式,采用什么方式可以较好的保证系统数据完整性和性能。
?
1.2 逻辑架构设计
?
1.3 部署架构设计
?
1.4 web服务器的选择,是选择tomcat级别的还是应用服务器。
?
1.5 .怎样访问数据库,是选择jdbc的方式还是使用持久层框架。
对于大数据量的系统,建议采用jdbc方式。我的理由是采用hibernate等持久层框架会提高开发效率,但性能方面没有保证。毕竟我们选择框架时是需要根据的,这个关键点上要侧重对系统性能优化的考量,而不能只考虑是否有利于提高开发效率。
?
?
2.数据层架构设计
2.1 选择数据存储产品
选择数据库存储还是nosql,需要分析和鉴别。
2.2 选择数据产品的存储模式
对于数据库来说,首先考虑如何实现load balance、failover、scale、restore。
?
?
3. 负载均衡设计
3.1 web层
3.2 数据层
?
4. 扩展性
3.1 web层
3.2 数据层
?
5. 高可用设计
5.1 web层
5.2 数据层
?
?
?
?
?
?
?
?
?
?
?