vcjmhg opened a new issue #7360: URL: https://github.com/apache/skywalking/issues/7360
Please answer these questions before submitting your issue. * Why do you submit this issue? * [x] Question or discussion * [ ] Bug * [x] Requirement * [ ] Feature or performance improvement --- ### Question * What do you want to know? The zeebeBroker used in `plugin-scenario` is a service built on the external network by me. Is there any way to simulate zeebe broker in the `zeebe-plugin-scenario`. It seems impossible to deploy zeebe through docker, and it seems unreasonable to place zeebe packages into `zeebe-plugin-scenario` directly. --- ### Requirement or improvement * Please describe your requirements or improvement suggestions. # Summary `Zeebe` is a workflow engine from Camunda, designed to meet the scalability requirements of high-performance applications running on cloud-native software architectures and to support workflows that span multiple microservices in low latency, high-throughput scenarios. When we use zeebe for service orchestration, due to the lack of support for the zeebe plugin, the span of the process instance will be disconnected from the corresponding Jobwork, forming mutually independent spans. For easy understanding, we imagine the following scenario: The user accessed service A through the gateway, and service A created a process instance through service B. JobWorker activates an internal task by polling ZeebeBroker, which in turn calls other services such as kafka.  Without the `zeebe-client-plugin`, when the scenario is displayed in skywalking, the spans of several locations in the figure below will be disconnected, forming serval independent spans.  Without the `zeebe-client-plugin`,the spans generated by the creation of process variables and the execution of their corresponding JobWorker can be connected in series. And make the service ZeebeBroker transparent, because in actual scenarios, we don’t care about the internal processing logic of ZeebeBroker. Just like this:  The final span display result is similar to the following:  Service A creates a process instance named process_id through `CreateWorkflowInstance`(). And the process instance is executed by the JobWorker whose type is activateJob. Finally, the remote api service is called inside JobWorker. # how to desgin Before create process instance, we create an ExitSpan and put the contextCarrier into process variables of zeebe. Before execute Job, we get the contextCarrier and restore context.  why we use process variable? ZeebeBroker is too complicated, a simple schematic diagram is as follows:  If we choose to directly enhance on ZeebeBroker, we need a lot of enhancement points. High difficulty on the one hand, low efficiency on the other # test results in UI  # Issues to be discussed The zeebeBroker used in `plugin-scenario` is a service built on the external network by itself. Is there any way to simulate zeebe broker in the test project. It seems impossible to deploy zeebe through docker, and it seems unreasonable to place zeebe packages into `plugin-scenario` directly. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
