大继的单体应用边界

前言

在实际场景或新产品中,为了效率和维护型我们最常用的还是单体应用。在这个分布式为主流的时代,使用单体看着非常小气,为了不给分布式应用影响,我来定义一下单体需要做到的目标。

单体的瓶颈

  1. 数据写入上限,之前经过测试,单表无事务 , i7 16G SSD 128 环境测试中 写入在2000/tps,
    多表 800/tps 基本可以满足大部分业务。

2.数据读取,在单体中读取数据是个相当好解决的事情,在几年前的架构 ssh中,我们做出了天3000W/QPS 的流量,使用了 mysql 主从 + ehcach 进行缓存 + 2*tomcat,当然这个容易实现的原因是热门的就那几个文章,浏览计算使用队列批处理,在不保证事务的情况下可以达到写入 10W/S,对于读取可以完全放心,还有各种花式redis 什么的还没用上。

边界

好了终于可以进入正题,对于边界:

1.不要去考虑纵向扩展,例如把无事务相关的表分开数据库来扩展写入,这样会掉入设计陷阱,无论怎么设计都设计不好,又这种情况直接,重构为分布式。

2.横向设计扩展,决定你单体应用的设计水准,例如,直接开从MYSQL 4个最高。10个TOMCAT 可以直接开新的主机之间提升性能。

3.技术栈
尽量少的技术栈,越少越好

补充,关于界面渲染

极致最求,由客户端渲染。

结束

给自己的思考保留一份文章。

转载于:https://www.jianshu.com/p/0713b32c25d9

猜你喜欢

转载自blog.csdn.net/weixin_33751566/article/details/91138364
今日推荐