SOA 与 MSA(微服务架构)

news/2024/11/8 7:31:23/


http://bbs.chinaunix.net/thread-4255092-2-1.html


1. 你了解微服务吗?SOA和微服务有何差异?
微服务架构被认为是目前最适合开发高可扩展性应用的架构风格,微服务架构致力于解决大型、复杂的应用的各种问题。它是一种基于服务的架构,这些服务可独立部署,作为基础的组件。微服务架构在整个开发、测试等开发周期中提供了更好的控制,但它在服务分类方面有一些限制。微服务架构还使用了服务间的通信协议(REST、JSON等)。
SOA架构可以由多种定义方式,这是因为SOA架构风格一直在不断地发展演进。它为企业级软件的复杂组合带来了秩序——通过把它们表示为服务的集合。SOA还使用了服务通信协议,SOA可以被认为是微服务的超集。
SOA架构依赖于共享数据模型。此模型在大量数据结构和模型和分层之间有复杂的关系。SOA的分层组织结构有利于服务协调和消息通信功能。
SOA是基于共享数据模型的,因此,可以预估它在服务和其它系统组件之间存在数据紧耦合的现象。这使得它难以做改变。一些附带的重测是必要的,以确保改变不影响现有的任何服务。
微服务架构存在上下文边界的概念,这使得它在单个服务和数据之间存在关联。
SOA架构的多层模型以中央的消息通信中间件层为主要特征。而对于微服务架构,在组成应用的各种服务之上就存在一个非协调的API层。
通过一个中央集线控制器,SOA维护了服务执行的顺序。而微服务使用了服务间的通信协议来维护服务执行的顺序。
SOA架构致力于解决在复杂的企业系统中的异构应用,促成跨应用和功能的共享服务。而微服务架构是面向基于Web的、更小的、不太复杂的应用程序的最佳架构方式,这些应用程序不需要明确的服务协调。

2. 到底在什么样的情况才适合使用微服务架构?
如果遇到了以下的情况,应该采用微服务架构:
1)系统越来越庞大,新功能开发或修改功能变得越来越耗时
2)系统的复杂度极高,模块间紧耦合严重,整体扩展性差
3)系统性能不高,通过扩展也难以提升性能
4)系统的可维护性越来越差

3. 服务与服务之间的事务怎么做?接口的调用权限如何控制,粒度在方法级别的?
我通常是这么解决的。在基础服务的上层封装面向事务处理的服务(这里我称为A服务),A服务依赖于下层的多个基础服务,一个A服务就是一个完整的事务处理过程,它内部是调用下层的多个服务共同完成功能的。如果A服务执行失败,则做相应的回退等处理;如果A服务执行成功,那么继续。
微服务架构的服务之间的调用,可以通过REST接口,还可以用RPC、消息通信等方式。以REST接口为例,服务间通过内网或专线方式进行调用,以保证速度。对外则使用API网关来做访问控制。

4. 为什么有人说“玩不起”?较比普通架构需要多做那些工作?
微服务架构要设计好并不容易。我的建议是根据具体的需求具体分析,通用的原则也不少。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


难以对比 SOA 和微服务的原因在于,它们的定义留有很大的解释空间。如果您仅拥有这两个概念的表面知识,可能会觉得它们很相似。一些关键方面(比如组件化、解耦和标准化通信协议)描述了最近几十年的大部分软件举措,所以我们需要进行更深入地分析。

考虑以下简单定义:

  • 微服务架构是一种构造应用程序的替代性方法。应用程序被分解为更小、完全独立的组件,这使得它们拥有更高的敏捷性、可伸缩性和可用性。
  • SOA将应用程序的功能公开为更容易访问的服务接口,使得在下一代应用程序中使用它们的数据和逻辑变得更容易。



如下图演示了这些定义。SOA 似乎拥有 企业范围,应用程序在该范围内彼此通信。SOA 通过应用程序之间的标准化接口来公开服务。微服务架构似乎拥有 应用程序范围,仅关注一个应用程序内的结构和组件。




http://www.ppmy.cn/news/764492.html

相关文章

mt-misc-1

unzip 打开题目解压压缩包是文件夹名字是0-0A-Za-Z的结构个别里面有带数字的txt 这个题的思路就是按照文件对应的数字顺序排列然后base64解密 a [i, S, L, 9, G, D, 1, j, 2, N, J, 8, 3, F, c, B, R, x, p, Y, U, 0, 6, s, K, Z, P, E, h, 7, t, H, a, Q, l, n, 5, z, m, …

MSA配置参考

配置手册地址(英文) : http://bizsupport2.austin.hp.com/bc/docs/support/SupportManual/c01565941/c01565941.pdf Msa2000默认控制器IP Management Port IP Address: 10.0.0.2 (controller A), 10.0.0.3 (controller B) IP Subnet Mask: 255.255.255.0 Gateway IP Addres…

Android OAID 获取 基于MSA oaid_sdk_1.0.25.zip

目录 简介SDK下载支持版本开始使用可能遇到的问题替代方案APK下载写在最后 简介 本文链接: https://blog.csdn.net/qq_40460042/article/details/112966136 根据“移动智能终端补充设备标识体系”技术要求,华为、小米、OPPO、vivo、中兴、努比亚、魅族、联想、三星等…

MSAA的理解(个人向)

1. 大致流程 这里直接给出流程 首先,深度/模板缓冲,颜色缓冲都是4x于原本的缓冲区。 除了深度/模板缓冲,颜色缓冲,还有个Coverage Mask 的纹理,它的大小应该是等于原缓冲区,它的R G B A通道分别对应4个子…

MSA测量系统分析基本概述-青创智通

1、什么是测量系统分析MSA(Measure System Analyse)? 简单地说测量系统分析就是“对测量系统所作的分析“。这么解释恐怕很难被接受,所以,为了理解MSA的含义,我们可以把它分解成两个部分,一个是…

MSA应用――MSA手册第四版的新亮点

用平均值极差法做GRR分析,抽取的10个工件的分布宽度PV(零件变差)决定了GRR%的水平。工件的抽取原则是:其测量值应尽可能分布在公差范围内,不要过于集中在某一区域。否则会GRR%=GRR/TV%>30%。 有…

小米8刷官方欧版rom并从国内版rom提取安装MiPay、门卡模拟

1. 引言 折腾了整整一天,踩了好多坑,终于倒腾成功了,本来以为自己再也不会去折腾什么刷机,root之类的东西了(期间还折腾了一下小米路由器,安装了路由器端的ss翻樯,使家里设备直接可以访问Googl…

微服务架构(MSA)

什么是微服务架构 从业界的讨论来看,微服务本身并没有一个严格的定义。不过,ThoughtWorks的首席科学家(Martin Flowler)的描述更加通俗易懂: 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的…