0
点赞
收藏
分享

微信扫一扫

BaaS数据库

BaaS数据库_微服务

 

BaaS数据库_MVC_02

 

 

用户从浏览器打开我们网站时,前端应用响应返回

然后浏览器去 CDN 下载静态资源,完成页面静态资源的加载;

与此同时,浏览器也向前端应用发起数据请求;

前端应用经过安全签名后,再将数据请求发送给 SFF;

SFF 再根据数据请求,调用后端接口或服务,最终将结果编排后返回。

从图里可以看到,除了数据库是 Stateful 的,其它节点都已经变成了 Stateless。

就像传统的 MVC 架构一样,单点数据库,承载基本的并发量不是问题,而且数据也可以通过主从结构和客户端读写分离的方式来优化。

但 MVC 架构最大的问题就是累积,当一个 MVC 架构的应用,在经历长期迭代和运营后,数据库一定会变得臃肿,极大降低数据库的读写性能。而且在高并发达到一定量级,Stateful 的数据库还是会成为瓶颈。

那可以将自己的数据库也变成 BaaS 吗?

微服务拆分

BaaS数据库_数据库_03

为了避免在

微服务先将业务拆解成单一职责和功能的小模块便于独立运维,再将小模块组装成复杂的大型应用程序。

这一点上跟我们要做的后端应用 BaaS 化相似度非常高。

参考微服务,先将 MVC 架构的后端解成了两个微服务,再用微服务解耦数据库的操作,先将数据库拆解成职责单一的小数据库,再用消息队列同步数据库和副本,从而将数据变成了 Stateless。

 

举报

相关推荐

0 条评论