单体式架构
目前很多金融机构的架构是典型的单体式架构,一般由反向代理服务器,数据库和应用组成,所有业务模块都打包在一个应用里面运行,一般为了高可用考虑,应用至少会部署两个节点。单体式架构在业务简单的时候有很多它自身的优点:
- 开发,测试简单
- 部署简单
- 扩容简单,只要给应用加机器就行
但同样,单体式架构也有很多缺点,尤其是业务规模变得复杂以后,缺点会非常突出:
- 编译慢,启动慢,代码冲突等各种问题,严重影响开发效率
- 性能扩展有局限性,一定规模后,单纯堆机器已经很难扩展性能了。
分布式架构
微服务架构是目前大家最关注的一种分布式架构。微服务架构除了在性能可扩展性上对比单体式架构有巨大优势,还有一个重要优势体现在复杂业务下的生产效率优势。
只有在业务复杂度较低的时候,单体式架构的生产效率才能超过微服务架构,但随着业务复杂度上升,尤其过了临界点,单体架构下的生产效率是非常恐怖的急速下坠,而微服务架构生产效率有所下降,但下降趋势非常缓慢,且不会偏离原有生产效率太多,能很好的应对业务复杂性的增长。
所以实施微服务架构最重要的一个意义是在业务复杂度较高的情况下提升生产效率,更快速的进行业务创新。