单体架构

单体架构是指业务功能的实现全部在一个进程(process)内完成。用户请求的接收,相关业务逻辑的调用,从数据库中获取数据等处理全部在一个进程内完成,如图1所示,最终打包成一个WAR包,放入tomcat等web容器里运行。

1 适用场景:

单体架构适用于哪些场景?

l 创业初期,人手紧张,又需要快速完成业务需求。

l 对性能要求极其苛刻场景,哪怕请求慢1ms都无法接受(比如在金融行业,量化交易场景,响应时间就是生命线)。

图1单体架构

2 单体架构的优点:

l 请求响应延迟低,接收客户端请求,经过一次网络交互从数据库批量获取数据,其余的功能全部在进程内完成,避免了多次网络交互。

l 仅一个进程,部署和运维成本小。

3 单体架构的缺点

l 业务功能单元间耦合严重、扩展性差、技术选型单一(在一个进程内是否可以采用多种开发语言?)等。

l 单体架构最大的问题是架构粒度过粗,导致系统迭代速度快不起来。互联网业务又是持续高速发展的业务,采用单体架构很难满足需求。

单体架构需要按照某些维度进行拆分:按照系统水平方向进行拆分(水平分层架构)、按照业务功能垂直拆分(SOA架构)、既按照业务功能垂直拆分又按照系统水平方向进行拆分(微服务架构)。

Last updated

Was this helpful?