了解如何选择合适的消息传递解决方案

了解用于选择符合业务需求的适当消息传递解决方案的评估因素。

Oracle Cloud Infrastructure (OCI) 提供多种技术选择,以支持异步分层进程间通信 (Interprocess Communication,IPC),例如微服务到微服务通信。经纪服务有助于通信,因此发送者在部署期间不需要了解使用者。目标是为客户和消费者实现较低的耦合级别。

不同的沟通方式提供了不同的好处。在此解决方案中,您将了解可用于启用代理(和异步)通信的不同 OCI 服务。您将考虑编排,因为消息传送通常与编排关联。您将了解可能会影响产品选择的不同注意事项或因素。对于每个因素,您将了解如何使用决策矩阵影响服务。您可以根据每项服务对不同的因素进行评分,以确定适合您的业务需求的服务。您将考虑哪些服务可以使用通用和行业标准协议及其抽象来充当消息来源或目标(使用分层消息传递)。例如,HTTP/S(SOA、REST 等)和 JMS 等代理服务不依赖于使用者可用性、位置和类似的信息。

启用 IPC 的 OCI 服务

您将考虑以下启用 IPC 的 OCI 服务:

  • 通知

    Oracle Cloud Infrastructure Notifications 服务通过发布 - 订阅模式向分布式组件广播消息,为托管在 Oracle Cloud Infrastructure 上的应用程序提供安全、高度可靠、低延迟和持久的消息。

  • 集成

    Oracle Integration 是一项完全托管的服务,可用于集成应用、自动执行流程、深入洞察业务流程以及创建可视化应用。

  • 队列

    Oracle Cloud Infrastructure 队列提供了一个可扩展的系统来处理消息,同时处理复杂的管理任务,例如保证至少一次处理、跟踪和客户端隔离。此集中式服务还管理消息排序和处理状态,从而允许无状态客户机进程卸载游标跟踪。

  • Oracle Cloud Infrastructure 流处理提供了一个完全托管、可扩展和持久的存储解决方案,用于摄取可以实时使用和处理的大量数据流。您可以使用流处理来摄取大量数据,例如应用日志、运行状况遥测、Web 点击流数据;或在发布 - 订阅消息传递模型中连续生成和处理数据的其他用例。

  • 事务处理事件队列 (TEQ) 和高级队列 (AQ)

    事务处理事件队列 (TEQ) 和高级排队 (Advanced Queuing,AQ) 是与 Oracle Database 集成的强大功能丰富的消息排队系统。事务处理事件队列 (TEQ) 是对内存中实施进行了高性能分区,每个队列具有多个事件流。高级排队 (Advanced Queuing,AQ) 适用于更简单的工作流用例。这些功能利用 Oracle Database 持久保存消息并提供高吞吐量和可扩展性。

排除的 OCI 服务

此解决方案出于各种原因排除某些 OCI 服务。以下列表列出了这些排除项和理由:

  • 电子邮件:用于人工使用,但是在一些罕见的传统案例中,使用电子邮件向应用程序客户端提供技术有效负载。
  • 事件:OCI 为预定义事件生成消息,与用户权限无关。
  • 事件中心:事件中心已弃用,因此支持服务连接器中心。
  • 服务连接器中心:当前仅支持将监视、日志记录和流处理作为源,不能直接调用给中介消息传送。要使用服务连接器中心,必须通过它识别为源(例如流处理)的 OCI 服务路由消息。
  • GoldenGate :提供一种方法来代理近乎实时的数据移动。它支持在不同数据源和池之间进行数据复制,而不是直接与客户机进行数据复制。作为一项技术,它可以共同选择来支持消息传递流程,但目前,它不直接提供接口机制来支持此流程。
  • Web 服务(例如 REST 和 SOAP):根据应用实施策略以及是否已将网络配置为允许此类通信,使用 Web 服务来实施此类通信。