Hello everyone,
We know that trace, topology and metrics across cloud was not expect, but for a
variety of reasons, we are now faced with the cross-cloud headache!
Our core payment service is in Alibaba Finance Cloud because of the compliance
audit, and most of the business service is in Alibaba Public Cloud because of
the cost considerations.
Here are some of our problems:
1. Each cloud has thier own Skywalking which responsible for the service
tracing in their respective cloud regions;
2. The network between the cloud is separated, we can't send the trace
segment to another directly;
3. Most of payment requests in Finance are came from Public Cloud, so we
can't just ignore these traces;
4. Besides if the trace is across cloud, it will throws
NullPointerException becuase of referenceId exchange
(ReferenceIdExchanger.java:60, baseed on 6.5.0), OAP server will print too much
exception stack.
To solve these problems, we simply sync the register metadata across the cloud
to make sure Skywalking in Finance Cloud can properly process the cross-cloud
segment. In this case, we can collect all segment whether the trace is across
cloud. Also we have the same traceId, we can find the same trace in both side,
even though it's just part of the whole trace.
I know maybe this is not a good idea, but it can solve our current probolems.
So I really look forward to a better solution, or if someone has any good ideas
or suggestions on this, please let me know!
Thanks.
| |
Lilong@iBOXCHAIN
Middleware Developer
|
|
Shenzhen iBOXCHAIN technology co. LTD
[email protected]
|