微服务与 SOA 的不同之处 [关闭]

2024-06-19

我一直在寻找 SOA 和微服务架构风格之间的差异 并找到了一个很好的链接https://www.infoq.com/articles/boot-microservices https://www.infoq.com/articles/boot-microservices

It Says:
作为“面向服务的架构”(SOA)的继承者,微服务可以归入“分布式系统”的同一家族,并继承了许多与SOA相同的概念和实践。然而,它们的不同之处在于赋予单个服务的责任范围。在 SOA 中,服务可能负责处理广泛的功能和数据域,而微服务的一般准则是它负责管理单一数据域以及围绕该域的相应功能。

请帮助我理解:
单一数据域的含义(微服务推荐)。 是说必须构建一个单独的微服务来管理单个域/实体(以及与该单个域/实体的关联/复合域/实体)。因为如果是这种情况,那么甚至会存在许多(~20 到~50)个微服务来实现基本功能(企业)应用程序

编辑: 我已经浏览了链接微服务架构与SOA的区别 https://stackoverflow.com/questions/25501098/difference-between-microservices-architecture-and-soa,但它解释说,前两个原则是相同的,第三点不同(在 SOA 中,服务共享模式和契约,而不是类),但那是 SOAP 契约,但是 SOA 和 SOA 有什么区别(使用 REST)与微服务(主要使用 REST)


补充一下 Sean 所说的,当 SOA 开始在许多公司中使用时,人们开始将微服务称为 API。领域驱动设计的兴起也导致了该术语的使用量增加。在现在的行业里,两者完全没有区别,人们称其为合适。

当你说当你遵循原则时你最终会得到许多微服务时,你是对的。在我看来,无论是 SOA 还是微服务,对独立服务的抽象应该仅取决于用例、服务将如何部署以及有多少团队将并行处理这些服务。如果服务跨主机部署,网络带宽的成本也会增加(尽管容器和 DC/OS 框架现在正在解决这个问题)。如果它是快速变化的服务,有很多移动部件,那么将大型服务分解为微服务是有意义的。否则,我会避免过早优化,并将功能打包到单个(或几个大的)服务中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微服务与 SOA 的不同之处 [关闭] 的相关文章

  • 那么我在这里谈论的是 SOA 吗?

    对于政府合同 我们将建议建立一个交通监控架构 我们将有以下组件 摄像机设置在感兴趣区域周围 摄像机将了解它们的位置和方向以及观看参数 GIS地图服务器 可以查询街道 建筑物等 一种算法接收原始视频和街道位置信息并输出汽车位置 另一种算法接收
  • 如何在KONG中实现外部身份验证?

    我在用着KONG API网关 https konghq com 并且我想将 JWT 身份验证实现为单独的微服务 不使用 KONG 插件 现在我可以轻松地使用 KONG 注册此服务 以便用户可以注册和登录 假设经过身份验证的用户发送了一个请求
  • 什么是 Oracle ADF?

    什么是 Oracle ADF 我在网上找到了如下定义 ADF 集成了多种子框架来提供关键功能 对象关系映射和其他形式的服务访问 数据 绑定和用户界面 以及用于固定的功能胶 这一切都在一起 ADF 代表 应用程序开发框架 它是由 Oracle
  • 如何将 gRPC 定义的 API 引入 Web 浏览器

    我们想要为我们的 gRPC 微服务构建一个 Javascript HTML gui 由于浏览器端不支持 gRPC 我们想到使用 web sockets 连接到 node js 服务器 该服务器通过 grpc 调用目标服务 我们努力寻找一个优
  • 编排微服务

    编排微服务的标准模式是什么 如果一个微服务只知道自己的领域 但有一个数据流需要多个服务以某种方式交互 那么该怎么做呢 假设我们有这样的东西 开具发票 Shipment 为了便于论证 我们假设订单发货后 就应该创建发票 在某个地方 有人按下了
  • ESB 应该如何打包/部署?

    我正在尝试了解 Apache Camel 它似乎是一个轻量级的 ESB 如果我正确理解 Camel ESB 那么您可以将 Camel Route 视为节点和边的图 每个节点都是路由上的端点 可以消耗 产生消息 每条边都是两个不同端点 1 个
  • 如何用Spring Boot微服务实现编排? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在 Spring Boot 中编排微服务的最佳方式是什么 你有很多选择 但我会列出其中 3 个我会选择的 使用 REST 调用直接调用其他微服务
  • java.sql.SQLFeatureNotSupportedException:方法 org.postgresql.jdbc4.Jdbc4Connection.isValid(int) 尚未实现。在Spring引导中

    我正在开发Spring Boot Microservices例子 在这个例子中 我使用了config server and licensing service并成功部署于docker 当我调用 REST 端点时 http localhost
  • 无法在 Spring Boot 应用程序中加载驱动程序类:org.h2.Driver

    I am trying to learn microservices by creating a dummy project I have a config repository in git and a config server run
  • 404 尝试将 Ocelot 中的上游路径路由到下游路径

    我在将传入的 http 请求转发到下游路径时遇到此警告 错误 Ocelot DownstreamRouteFinder Middleware DownstreamRouteFinderMiddleware 警告 requestId 8000
  • 微服务之间的通信

    假设您有微服务 A B 和 C 它们当前都通过 HTTP 进行通信 假设服务 A 向服务 B 发送请求 服务 B 得到响应 然后 该响应中返回的数据必须发送到服务 C 进行一些处理 然后最终返回到服务 A 服务 A 现在可以在网页上显示结果
  • 使用 Application Load Balancer 在 aws ECS 上进行服务发现

    我想问一下 您是否有一个微服务架构 基于Spring Boot 涉及Amazon Elastic Container Service ECS 和Application Load Balancer ALB 服务发现是由平台自动执行的 还是需要
  • Fabric 消息太大

    我试图将 5MB 数据从服务传递给参与者 但收到错误 Fabric 消息太大 如何增加微服务之间可传输的最大大小 我看了以下内容page https github com Azure azure content blob master ar
  • gofabric8> 无法解压缩 /Users/apple/.fabric8/bin/oc.zip zip:不是有效的 zip

    我正在尝试为微服务设置环境 我正在使用 Fabric8 来做到这一点 我在用着mvn fabric8 cluster start Dfabric8 cluster kind openshift命令 执行时出现以下错误 INFO gofabr
  • 如何使用json传递opentracing数据

    我的 API 网关启动一个跟踪器和一个用于验证电子邮件的范围 然后它传递给user service用于验证 我想通过这个span详情至user service作为 json 对象并启动另一个span as a tracer start sp
  • Podman:如何解析使用 Kubernetes YAML 部署的 pod 的主机名

    我正在使用 podman 4 5 dev 我使用以下方式部署了两个 Pod podman kube 播放 foo yaml podman kube play bar yaml 我在文件中指定了 pod 的主机名 但它们不会在容器内得到解析
  • 2PC vs Sagas(分布式事务)

    我正在深入了解分布式系统 以及如何在此类系统中维护数据一致性 其中业务事务涵盖多个服务 有界上下文和网络边界 我知道以下两种用于实现分布式事务的方法 2 阶段提交 2PC Sagas 2PC 是一个应用程序协议透明地在平台的支持下利用全球A
  • 微服务中的分布式事务

    我有2个微服务S1 and S2 S1调用S2更新数据 然后S1插入另一个数据 但是让我们考虑一下S1失败 那么我们需要回滚更新的数据S2否则我们将处于不一致的状态 我也经历过 Saga 模式 它能满足这种不一致吗 谁能为此提出更好的解决方
  • 微服务:有哪些优点和缺点?

    与其他架构相比 使用微服务有哪些优点和缺点 何时应该使用微服务有经验法则吗 Pros 萨姆 纽曼在构建微服务 https rads stackoverflow com amzn click com 1491950358 列举了微服务的主要优
  • 如何回滚微服务

    我对微服务有疑问 假设有 5 个微服务 即 M1 M2 M3 M3 M4 和 M5 有 4 个数据库 由 4 个微服务连接 访问 例如 M2连接到MySQL M3连接到Cassandra M4连接到MongoDB M5连接到Oracle N

随机推荐

  • 为什么这个符号链接创建了两个实例

    我有一个用于我的点文件的安装脚本 我用来创建一个目录到我的主文件夹的符号链接 这些链接执行得很好 但创建了第二个符号链接 我无法解释为什么 项目中的文件夹结构如下所示 install sh scripts shell sh shell in
  • AWS ELB 和 GoDaddy 域正在运行

    我已在 goDaddy com 中注册了一个域 并希望将流量发送到 AWS Route53 我创建了一个 ELB 我执行了以下步骤 在 Route 53 中 为我的 godaddy 域名创建一个托管区域 这反过来又为我提供了一条包含 4 个
  • 找不到 OAuth2 参数

    我正在尝试使用 OAuth 2 0 来授权 google docs API 根据谷歌给出的例子https developers google com google apps documents list authorizing reques
  • Python Scrapy:“runspider”和“crawl”命令有什么区别?

    有人可以解释一下两者之间的区别吗运行蜘蛛 and crawl命令 应该在什么情况下使用它们 在命令中 scrapy crawl options
  • 不带 GROUP BY 的聚合查询

    这个查询似乎在我的旧机器上完美运行 但是 在我的 MySQL 5 7 14 和 PHP 5 6 25 的新机器上 它会抛出错误 致命错误 未捕获异常 PDOException 并带有消息 SQLSTATE 42000 语法错误或访问冲突 1
  • Matplotlib xlabel Arial 格式,其中一个单词为斜体

    我想创建一个 matplotlib 图形 其 x 轴标签采用 Arial 字体 并且有一个斜体字 我可以用乳胶字体创建带有 x 轴标签的图形 其中一个单词为斜体 我还可以在 Arial 中创建带有 x 轴标签的图形 只要我将整个标签设置为斜
  • pyplot 中的等宽绘图大小,同时保持纵横比相等

    我想让两个图具有相同的宽度 但是生成的代码缩小了 imshow 图 xx np linspace 0 0 255 5 512 yy np linspace 0 0 255 5 512 Func np random rand len xx l
  • CMake 链接 glfw3 lib 错误

    我正在使用 CLion 并且正在使用 glfw3 库编写一个程序 http www glfw org docs latest http www glfw org docs latest 我安装并正确执行了库中的所有操作 我有 a 和 h 文
  • 为什么我需要 Nginx 和 Puma?

    我正在将 Rails 应用程序部署到生产环境中 看起来 Puma 速度很快 可以处理我想要在网络服务器中完成的许多事情 我想知道我是否需要使用 Nginx 如果只使用 Puma 我会错过什么 Nginx 是一个 Web 服务器 puma 是
  • 使用 MAX_ORDER / 包含 mmzone.h

    根据https www kernel org doc Documentation networking packet mmap txt https www kernel org doc Documentation networking pa
  • IntelliJ可以自动创建装饰器类吗?

    有时 我创建一个像这样的装饰器类 class MyInterfaceDecorator implements MyInterface private final MyInterface delegate constructor taking
  • 使用多线程使用rabbitmq消息队列(Python Kombu)

    我有一个带有单个队列的 RabbitMQ 交换 我希望创建一个运行多个线程并尽快通过该队列工作的守护进程 工作 涉及与外部服务的通信 因此每个消费者内部都会发生相当多的阻塞 因此 我希望有多个线程都处理来自同一队列的消息 我可以通过在主线程
  • Rails Active Storage - 保留现有文件/上传吗?

    我有一个 Rails 模型 has many attached files 默认情况下 通过 Active Storage 上传时 如果您上传新文件 它会删除所有现有上传内容并将其替换为新文件 我有一个控制器破解 由于多种原因 它不太理想
  • 图邻接表表示

    我正在尝试用 c 语言编写一个基本的图形程序 但是 会显示一条错误消息 指出The arrayOfVertices is undeclared 我正在使用邻接列表表示 代码是 include
  • 选中复选框时展开 Div

    我有一个复选框
  • getStyledAttributes 工作错误

    我正在尝试创建自己的键盘 使用 Android 键盘不足以完成我的任务 因此我决定直接从 View class 创建继承类 作为基础 我决定使用 Keyboard class 的代码 然后开始一一更改 我什至在尝试编译该类 使用一些反射和黑
  • Python内置容器是线程安全的吗?

    我想知道Python内置容器 列表 向量 集合 是否是线程安全的 或者我是否需要为我的共享变量实现锁定 解锁环境 您需要为将在 Python 中修改的所有共享变量实现自己的锁定 您不必担心从不会被修改的变量中读取 即并发读取是可以的 因此不
  • 如何在没有Intent的情况下更改android中整个系统的语言设置?

    我正在尝试更改语言Android手机全系统在我的应用程序上 因为我们的目标是定制一个设置应用程序 我已经尝试过这个 但没有成功 Configuration conf Resources getSystem getConfiguration
  • 从 python 中的动态 mpld3 图中检索数据

    我想更新用于创建 mpld3 生成的 python matplotlib 列表图的输入数据 实际上 我有与此处发布的相同的问题 拖动后获取点信息 https stackoverflow com questions 24498322 mpld
  • 微服务与 SOA 的不同之处 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我一直在寻找 SOA 和微服务架构风格之间的差异 并找到了一个很好的链接https www infoq com articles boot mi