Sleuth 3.0.x - 发件箱模式支持 - 实现持久化跨度 - 反应管道

问题描述

我们有一个完全反应式的 spring webflux 微服务。 我们使用发件箱模式来保证持久事件的异步处理。 每个事件都与其原始 CREATE FUNCTION my_function(myarray text[]) RETURNS void AS $$ BEGIN INSERT INTO ... SELECT ... END; $$ LANGUAGE plpgsql; 数据(traceId、spanId、...)一起存储。 Span 订阅管道,该管道读取未处理的事件并为每个事件运行特定的处理器管道。 在处理事件时 - 我们希望“具体化”持久化的 Scheduler 并将其推送到正在运行的管道订阅者上下文中 - 以便可以跟踪具有此类事件的所有活动。

问题

  1. 是否有官方/记录在案的方法将精心制作的 Span 插入到实际管道上下文中,以便 ScopePassingOperator 可以处理它?

  2. 从 Sleuth 3.0.0 开始 - 如何从粒子中实现 Span?所有新的 Sleuth 桥接类都小心地隐藏了 Span 转换方法。 所以你必须依靠一些肮脏的反射或使用 fromBrave 这不会让你设置正确的跨度类型...... :-(

问候简

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)