困境:假如系统从零开始做的话,头三个月开发会比较慢,因为需要搭建和熟悉一些开发、测试、部署基础设施,随着基础设施和公共组件的完善,接下来的半年到一年开发会加速,但是再往后开发速度又会逐渐降低。因为那些一开始提高开发效率的接口、共亨表、依赖组件都变成了复杂网络缓绕在一起,变成了所谓的牵一发而动全身,改一行代码都不知道会影响到什么地方。
微服务:微服务系统的耦合性问题总是在一个可控的范围内。比如微服务独立数据库表结构,那我们根据业务需要改表结构的时候就不需要去考虑会不会影响到其他业务,因为其他业务和这个表结构完全没关系。
代价:单纯从接口协同一致上来说,微服务架构比较糟糕。单体架构的接口之间配合是相同的编程语言,基本上在编译时就能发现错误。而微服务的接口往往是远程服务,验证增加难度。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。