[TOC]
# 利
![](https://box.kancloud.cn/055fda7275a89c8937f040241875f855_315x220.png)
1. 每个团队有明确的边界,边界清晰
2. 当提需求过来的时候,可独立的开发,独立的部署上去,不需要其他团队配合
3. 可以根据自己团队技术栈,来选语言,框架
# 弊
![](https://box.kancloud.cn/c541027a2391f7f60bf8dce8eb777b24_284x210.png)
1. 涉及服务几十,上百,一般开发人员和团队,不知道系统怎么工作的
2. 比如订单数据,A团队有订单数据,B团队有订单数据,当A改变的话,他要同步过去,不同步过去,是不能接受的
3. 系统要可靠稳定,自动化部署,很多服务之间相互协调
4. 要做集成测试,很多团队要联合测试
**如果你搞不定一个单块应用,别指望微服务能够拯救你**
# 问
微服务带来的这些复杂给运维带来挑战是很大的,运维该怎么应对这些?
我认为:docker,监控,故障演练,必不可少