[TOC]
# 业务场景
![](https://box.kancloud.cn/8fae1c2cc18d2d8090a05a9f8a469037_238x161.png)
一开始,业务复杂性不高
刚开始,开发的系统是验证业务是否能存活
一开始不推荐使用,微服务需要基础设施投入
单块开发,成本低,先验证下商业模式
---
当业务成长起来,业务变复杂了,生产力也下降了
当交叉的时候,就是我们考虑微服务了
这个点的把控,需要架构师把控和权衡,团队接近百人的话,应该要考虑了
# 场景
一开始我们是把架构设计成微服务,还是设计成单块呢?
**单块优先**
![](https://box.kancloud.cn/7cf19523ed3475c48d21a823e8dec688_370x221.png)
上面路线是微服务路线,直接走向微服务
当我们一开始就这样做,但是我们并不能完全把控这个微服务中问题,们对业务不清晰,业务多变,不能把控这个服务的边界
就算我们把控住了,我们开发的产品,不一定被用户接受
<br>
下面路线,单块路线,我们先把功能打包在一起,当业务成长,我们对业务越来越清晰
我们可以把服务一个个拆分开来
一步步演化成微服务
# 问题
架构是设计出来的,还是演化出来的?