下面列出了java web系统整体设计时需要解决的几个问题,肯定不够全面和深入,欢迎大家补充和交流,呵呵。
1.整体架构的选择,是选择重量级架构还是POJO轻量级架构。
2.系统建模,是选择过程式设计还是面向对象的设计。
过程式设计指的是业务逻辑层只提供一个service的接口和实现;
面向对象设计指的是采用domain model模式,对整个系统进行整体的对象建模和设计。
3.怎样访问数据库,是选择jdbc的方式还是使用现成的持久层框架。
对于大数据量系统,建议采用jdbc方式。我的理由是采用hibernate等持久层框架会增加开发的复杂度,而且性能方面没有保证。毕竟我们选择框架时是需要原因的,选择和不选择都要给出理由。
4.怎样处理并发事务,短事务的并发处理和长事务的并发处理。
短事务的并发处理,有几个方案可供选择:
a.使用最少并且性能最差的是采用隔离的事务级别。
b.乐观锁,悲观锁。
长事务的处理有两种选择:
a.悲观离线锁
b.乐观离线锁
5.服务器的选择,是选择tomcat级别的还是应用服务器。
6.连接池的选择。
7.怎样处理对数据库的压力。
怎样判断数据库的压力在具体的哪几张表上,对压力大的表采用怎样的策略来应对?
数据库压力大,是需要做横向还是纵向切分?对具体的表而言,是散列还是其他策略?
8.怎样做数据库的负载均衡
9.怎样做应用的负载均衡
10.怎样做页面层的性能优化