SOA和微服务架构的区别?
来源:互联网 发布:淘宝哪家玉器店好 编辑:程序博客网 时间:2024/04/19 23:52
文章来源:
1 https://www.zhihu.com/question/37808426
2 https://www.zhihu.com/people/xu-bing-yuan/activities
SOA和微服务架构区别在网上看到了很多的说法,在这里给出贴出一份简介的回答。更加详细的回答可以参照:https://www.zhihu.com/question/37808426。
首先,肯定的是SOA和微服务的确是一脉相承的,大神Martin Fowler提出来这一概念可以说把SOA的理念继续升华,精进了一步。其核心思想是在应用开发领域,使用一系列微小服务来实现单个应用的方式途径,或者说微服务的目的是有效的拆分应用,实现敏捷开发和部署 ,可以是使用不同的编程语言编写。而SOA可能包含的意义更泛一些,更不准确一些。
其次,从实现方式上,两者都是中立性,语言无关,协议跨平台,相比SOA,微服务框架将能够带来更大的敏捷性,并为你构建应用提供更轻量级、更高效率的开发。而SOA更适合大型企业中的业务过程编排、应用集成。另外还有微服务甚至是去ESB、去中心化、分布式的,而SOA还是以ESB为核心,大量的WS标准实现。
再次,从服务粒度上,既然是微,必然微服务更倡导服务的细粒度,重用组合,甚至是每个操作(或方法)都是独立开发的服务,足够小到不能再进行拆分。而SOA没有这么极致的要求,只需要接口契约的规范化,内部实现可以更粗粒度,微服务更多为了可扩充性、负载均衡以及提高吞吐量而去分解应用,但同时也引发了打破数据模型以及维护一致性的问题。
最后,从部署方式上,这个是最大的不同,对比Monolithic(有人翻译为单体)的Java EE部署架构,通过展现层打包WARs,业务层划分到JARs最后部署为EAR一个大包,而微服务则打开了这个黑盒子,把应用拆分成为一个一个的单个服务,应用Docker技术,不依赖任何服务器和数据模型,是一个 全栈应用,可以通过自动化方式独立部署,每个服务运行在自己的进程中,通过轻量的通讯机制联系,经常是基于HTTP资源API,这些服务基于业务能力构建,能实现集中化管理(因为服务太多啦,不集中管理就无法DevOps啦)。
- SOA和微服务架构的区别
- SOA和微服务架构的区别
- SOA和微服务架构的区别?
- SOA和微服务架构的区别
- SOA和微服务架构的区别?
- SOA和微服务架构区别
- 微服务架构和SOA区别
- SOA和微服务之间的区别
- 微服务架构与SOA的对比
- SOA与微服务的区别
- SOA与微服务的区别
- SOA与微服务的区别
- SOA 与 微服务的区别
- 微服务与SOA架构
- 微服务与SOA架构
- SOA 与微服务架构
- 单体架构,SOA,微服务
- 微服务与SOA架构
- Spring从Request中获取Json格式的数据
- MCGS(昆仑通态)与三菱L02CPU基于以太网的通讯
- easyui form 中combobox 用readonly 仿 disable 提交
- Shell获取标准错误并赋值给变量
- AJAX跳入error中的原因(留着看)
- SOA和微服务架构的区别?
- leetcode 273. Integer to English Words
- 【SpringMVC】SpringMVC结果的转发和重定向(十六)
- Nginx的一些基本功能
- Kafka系列一之架构介绍和安装
- Remoting和Webservice的区别
- Centos 6.5安装mongoDB3.4配置权限并备份数据
- Mac-音量被锁死了
- 使用 scikit-learn 介绍机器学习 | ApacheCN