云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

微软云_惠普服务器_便宜的

小七 141 0

这篇文章可以帮助您快速入门,了解企业消息传递的基本知识。那么什么是企业消息传递?

企业消息传递由两个主要元素组成:

消息代理商业事件

消息代理

好的,这个很简单。几十年来,消息代理已经在广阔的海洋中出现。消息传递是:

因此,怎么选购云服务器,我们不直接向接收者(客户机)发送消息,而是将它们发送给消息传递代理,然后由该代理转发消息。使用中间件有以下好处:

我们不需要知道任何特定于客户端的协议或接口,因为我们从不直接与客户端交谈。相反,我们都同意特定的语言/协议(通常是AMQP或MQTT),只需要能够与中间件(即我们的消息代理)通信。源代码、库和复杂性大大降低,因为只使用消息代理协议。

不同技术和平台上的应用程序可以交换数据,如果他们能实现像AMQP或MQTT这样的协议,

在消息可靠地传递到接收客户机之前,可以暂时将消息保存在队列中。即使接收器暂时脱机,消息也可以得到缓冲,并在接收器重新联机时传递。开发人员不必负责缓冲消息等。这都是由消息代理完成的。

发送方和接收方之间的异步(非阻塞)通信。只需将您的消息发送到messagebroker并继续处理您的逻辑。同样,当消息代理接收到消息时,他负责将消息传递给接收者。

您的应用程序变得更小,因为消息传递的任务被委托给一个专用的消息代理。这也意味着您的应用程序变得更易于阅读、维护、测试和性能提高。

通过使用消息代理,我们使分布式系统能够相互通信。在这种设置中,您是松散耦合的,因此当环境发生变化时,您可以在架构之间无缝切换。

现在我们知道,对于消息代理,我们不使用点对点通信模型。相反,我们构建了一个面向消息的体系结构,它可以使用以下消息概念:

发布者将消息发送到队列。接收者可以订阅队列以接收消息。只能从队列中"取出"消息一次。这就是为什么我们通常在队列和客户机之间有一个1:1的关系。然后多个客户机可以订阅一个队列。进入队列的消息被均匀地分布到客户端,以平衡负载。

队列中的消息被保留,直到被客户端使用。

发布者将消息发送到主题。我们通常在主题和客户机之间有1:N的关系。当每条消息都要发送给多个接收者时,使用这个概念。

发送给主题的消息不被保留。接收者需要活跃。

队列和主题也可以组合。发送到主题的消息直接发送到相应的队列。来自事件源(如S/4HANA系统)的事件通知只能发送到主题,如果您想支持可以暂时脱机的接收器,可以使用队列订阅概念。

业务事件

什么是事件?事件是(企业系统中的对象)状态的重大变化。因此,每当状态发生变化时,观察对象的负责事件发布者都会发出事件通知,通知其他系统、微服务和应用程序该变化。业务事件是发生在企业系统中的事件,事件通知的内容可以基于规范进行结构化,例如云事件。云事件是一种以通用方式描述事件数据的规范。这是需要的,因为事件发布者倾向于以不同的方式描述事件。

基于云事件的事件数据如下(版本0.2):

等等!数据在哪里?业务伙伴和供应商ID…就这样?是的,就是这样!基本上,您可以在消息中输入任何您想要的内容(记住最大消息大小)。作为一种最佳实践,您只需输入已更改对象的ID。作为发布者,您通常不知道每个客户机(例如订阅了队列/主题),因此您不知道是否允许接收者读取实际数据。这就是为什么您只发送ID或者更准确地通知客户机哪些对象已经更改(而不是什么)。然后由客户机通过经过身份验证的请求来请求实际数据,以便进行授权检查等。可能存在上述情况不正确的情况,在不同的情况下,将实际数据放入事件通知本身可能是有意义的,大数据收集,例如,当不必进行授权检查时,等等。但是只发送ID并让客户机请求实际数据(以便执行授权检查)是绝对必要的处理业务流程中事件的一种常见方法。

SAP上下文

了解基本原理后,您可能会问SAP的情况如何?SAP Cloud Platform Enterprise Messaging是运行在Cloud Foundry上的完全托管的云服务。作为提供商的SAP负责管理和动态扩展应用程序所需的资源。它也可以仅仅用作没有businessevent部分的消息代理。一般来说,企业消息传递允许跨不同平台和技术的系统、应用程序和服务以异步方式相互通信。您可以通过开发参与事件驱动的业务流程并利用更大的灵活性和可伸缩性的云本机应用程序来扩展您的数字核心。

SAP的事件源是(例如):

SAP business Suite SystemSAP S/4HANA(云或内部部署)SAP成功因素SAP Concur公司针对客户的SAP云SAP Marketing Cloud