SOA和微服务架构的区别?
很久以前的一天,Martin 在跟好友的交流中悟到了一种很棒的架构设计。
他总结了一下,然后告诉了好友,好友说,这不是新鲜东西,早有人总结了,叫做 SOA。
Martin 很高兴,开始在公司内外推广 SOA。
结果,不停有人质疑和挑战他。你这不是 SOA 吧?SOA 这里应该是如此这般的。
对,这里我对 SOA 的理解是这样的。你看,这本 SOA 的书说的和你说的有出入。
粒度?SOA 没有谈到这个呀,你这不是 SOA。分层跟 SOA 没有关系,你为什么要说这个呢?…Martin 没办法,心一横,老子就叫它 Martin's SOA。
老子发明的词,老子就是最高权威,有最终解释权。
还有谁不服?同事们一看,这思想本身很不错,值得推广,但叫 Martin's SOA 太没品了吧?还是要取个好一点的名字,最好还能跟 SOA 有某种暗示传承。干脆就叫 Microservices 好了,又新,又有服务含在其中。
Martin 忿忿地接受了这个建议,心里想着:妈的,明明就是 SOA,一群傻逼非要逼我取个新名字。
后来 Martin 发现每次提一个东西就会收到旧恶傻势力对解释权的挑战,所以每次要提一个什么概念,都去发明一个新词,免得一群人在那一边质疑挑战,一边大谈“我的理解”。这就是微服务、敏捷、精益企业、持续集成、持续交付背后的故事。
一个名词产生之后,命名者的解释权就会随着时间而弱化(比如 Cooper 发明的 Persona 就被无数设计师乱用)。敏捷已经有点烂了,等微服务也烂了,我们还会发明新词。实在没辙,都是被逼的啊。
顺便在此给大家推荐一个Java方面的交流学习群:957734884,里面会分享一些高级面试题,还有资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系,主要针对Java开发人员提升自己,突破瓶颈,相信你来学习,会有提升和收获。在这个群里会有你需要的内容 朋友们请抓紧时间加入进来吧
ziliao_r.jpg