You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by GitBox <gi...@apache.org> on 2019/12/07 11:10:37 UTC

[GitHub] [skywalking] jackiechan1981 opened a new issue #4020: How should we handle the cross-cloud invocation scenario?

jackiechan1981 opened a new issue #4020: How should we handle the cross-cloud invocation scenario?
URL: https://github.com/apache/skywalking/issues/4020
 
 
   Please answer these questions before submitting your issue.
   
   - Why do you submit this issue?
   - [x] Question or discussion
   - [ ] Bug
   - [ ] Requirement
   - [ ] Feature or performance improvement
   
   ___
   ### Question
   - What do you want to know?
   
   How should we handle the cross-cloud invocation scenario?
   
   In our business scenario, because of the compliance audit, our core payment services run in Alibaba Finance Cloud, and because of the cost considerations, the pre-payment services run in Alibaba Public Cloud. When we make a payment, the trace is from Public to Finance, when the payment finshed, the trace is from Finance to Public.
   
   Currently, our deployment mode of Skywalking is that Finance and Public each have a integrated Skywalking services, which are responsible for the service tracing in their respective Cloud regions.
   
   As we know, it will be discarded if the tracing is from the other Skywalking, because of the registration mechanism, the registration information of the service across the cloud is not available at the other end.
   
   Therefore, in order to support the cross-cloud invocation, we developed a service named inventory_sync_server to finish registration information sync, and also slightly modified some OAP source code. 
   The scheme is as follows:
   1. Inventory_sync_server was added to monitor the changes of Skywalking registration information, and push the changes to Aliyun RocketMQ. 
   Meanwhile, the data monitoring service on the other end will subscribe messages via the Internet HTTP Endpoint to register the changes to Skywalking;
   2. The data monitoring service is deployed at both ends to synchronize the application registration information in real time, so that the tracing which across the cloud can be processed;
   3. This requires slightly modified of the OAP source code to support this approach;
   4. Of course, we also made some other enhancements to support our business scenarios, such as:
         a. carry the user-defined transactionId of frontend to passthrough to the backend services, so that the frontend and business log and Skywalking will be related. We think this is a very practical function;
   	  b. Make sure of the cross-cloud invocation has the same treaceId.
   
   This is our way of dealing with it, we are looking forward to some better solutions. Thank you!

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services