2.2.8 大型网站技术和java中间件-大型网站及其架构演进过程:数据库问题后的应用拆分

随着业务增长,大型网站面临应用膨胀挑战。本文探讨通过应用拆分和采用服务化策略解决数据库压力,减少代码冗余,实现系统模块化。服务化将系统分为三层:前端、服务中心和数据库,促进远程服务调用,集中代码维护,优化数据库连接。

2.2.8 大型网站技术和java中间件-大型网站及其架构演进过程:数据库问题后的应用拆分

 

场景

 随着业务的发展,应用的功能越来越多,应用会越来越大。为了不让应用变大

 -> 需要把应用分开,把应用变成两个甚至多个

 

 

方法1:

根据业务的特性把应用拆开

比如当前应用主要包含3个业务:交易+商品+用户

-> 拆分为两个系统:以交易(用户)为主,和以商品(用户)为主

方法带来的问题:

  1.这样拆分代码后,不同的系统会有类似的代码 -> 需要解决复用问题

  2.拆分的应用同样连接数据库,增加数据库连接数

 

 

方法2:

走服务化路线

如下图所示:

  系统分为3层:

   1. 最上层的web系统 -> 用于完成不同的业务

   2. 中间的服务中心  -> 提供不同的业务服务

   3. 下层是业务数据库

 

方法带来的问题:

1.业务之间的访问不仅仅是单机,变成了远程调用服务

2.共享代码不再分散到每个应用中,被集中到每一个服务中心中,代码可以得到很好的维护

3.数据库连接只有相应的服务中心来连接,降低数据库连接数量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值