用于生成公司微服务自动化事件图的适当事件体系结构?



您好,我们正在努力确定在微服务之间跟踪事件的最佳或适当架构。我们知道松耦合开始了良好的微服务设计过程。用例是从字面上查询公司的自动化是如何实时或历史地进行的。有许多产品,如Kafka、Solace、MassTransit(中介、骑手、消息队列、sagas、路线单(。

这只是目前的基本建议。我们必须实现传奇和路由单模式,以满足我们的商业模式。

我建议先看看Open Telemetry(OTel(。这是一个CNCF项目,因此与特定产品无关,他们的目标是在整个架构中提供一定程度的可观察性,包括跨分布式应用程序(无论是同步还是异步(进行跟踪的能力。

我要警告的是,目前有一个SIG专注于定义消息传递语义,因此目前这还不是一个完全成熟的解决方案。你可以在这里找到关于SIG的更多信息。他们正在努力用一个稳定的文档来取代现有的实验性消息传递语义约定

也就是说,你可能想从检测你的应用程序/微服务开始,OTel有很多用于不同API&各种OTel转发中的语言。例如,具有许多自动插入实现(包括JMS(的Java代理的repo可以在这里找到:https://github.com/open-telemetry/opentelemetry-java-instrumentation.自动插入的理念是,它不需要更改应用程序代码,因此随着事态的发展,您应该可以很容易地使用它进行发展,这显然是理想的,因为消息语义仍在工作中。

同意上面的Open Telemetry注释。就目前微服务中使用最广泛的(任何相关技术或框架(是其前身Open Tracing(Open Telemetry与Open Tracing向后兼容,并且/因为OpenTracing也是CNCF(。如果感兴趣的话,我们已经创建了一个微服务研讨会,它使用Rest和消息传递(特别是JMS(之间的跟踪,这样您就可以看到工作示例。您可以在Jaeger UI等中查看这些痕迹。在同一个研讨会上,我们展示了";统一可观察性";我们在同一个Grafana控制台中显示度量、日志记录和跟踪。这真的很方便,因为你可以,例如,查看指标和/或获得指标警报/警报,向下搜索到其相应的日志条目,然后直接点击/从日志条目向下搜索到它的跟踪(反之亦然(。完全公开,我来自Oracle,因此我们还展示了从OpenTracing/Kubernetes层跟踪到数据库的能力,从而显示了";3个可观察性支柱";跨应用层和数据层。。。但您不需要数据库来执行任何其他跟踪,等等。研讨会在这里:https://apexapps.oracle.com/pls/apex/dbpm/r/livelabs/view-workshop?p180_id=637src在这里:https://github.com/oracle/microservices-datadriven。如果你想看到添加任何内容或有任何问题,我肯定很感兴趣。随着它的采用,我们将添加更多的OpenTelemetry。

最新更新