0 0

求教,将一个网站拆分成多个子模块的方案。10

现有一个网站,规模越做越大,加进了不少新东西,想把网站拆分成若干个子模块,但是看起来还是一个整体,其中有一个模块是核心,其他模块是依托在这个核心模块之上的。系统采用SSH开发。请问各位高手有什么方法能够实现。
类似于单点登录那种。想对比下看看有没有其他更好的方式。谢谢。
 
2014年1月21日 11:46

1个答案 按时间排序 按投票排序

0 0

分解的方式有如下几种:

1. 模块分解:将系统分解为若干的JAR包,只有一个WAR包(发布用),Jar包之间存在各种依赖关系,单个或几个数据库Schema。 如果性能、发布频率没有问题的话,实际上是可以这么做的,因为服务化(多个WAR包)的方式确实较为复杂。

2. 服务分解:将系统拆分为多个可以发布的单元
    A)前台拆分:拆分的情况下需要做SSO,不拆分的情况下就不需要做单点登录了;
    B)后台拆分:将后台(用户不直接访问的系统)拆分为若干个独立部署的服务,服务之间通过远程调用的方式交互;
    C)数据库的分解:每个服务单独使用一个数据库Schema(垂直拆分),如果数据量很大,数据库扛不住,还可能需要做缓存&数据库的水平拆分(相同的数据库分解到多个物理库中)
    D)集群:F5的方式集群(硬件集群),软件集群(通过Zookeeper的方式做集群等)

服务的分级根据系统压力不同分解方式也有所不同。


建议购买《构建高性能WEB站点》仔细研究一下,很多时候并不是我回答了,你就能搞得定的,否则人人都成架构师了。

2014年1月22日 17:33

相关推荐

Global site tag (gtag.js) - Google Analytics