Hi all,
We have run into few complications with respect to $subject. Let me briefly
explain the scenario.
Currently ESB is sending a Unique message flow ID, Mediator index (mediator
position in the flow), and each mediator's children. These information can
be used to draw the message flow for a single message. But we run into
complications when we try to draw the message flow and summary stats
(min,max, avg latency) of mediators for a Proxy/API at a given duration of
time (aggregated insights), and above info itself would not be enough to
tackle this. Reason is, if the proxy/API was modified during that
considered time-duration, there could be several message flows for a given
proxy/api, and hence all the stats and the mediator-flow-graph (please
refer 2nd wire-frame at [1]) would go haywire.
eg: Suppose we are showing message flow and stats for the time 03.00pm -
04.00pm. And the Proxy has been modified at 3.30pm. So now we have to sets
of info (meditation flows + stats), before modifying the proxy and after
modifying the proxy. In such a scenario, for "hourly" stats, we need to
have a single mediation flow (for 03.00pm - 04.00pm duration), And for per
"minute" stats, we need both the message flow. So we can't simply discard
the changes, but need to maintain both of these info.
So as per the offline chat we had, the solution we came up is:
- ESB to send a derivable Unique ID for each mediator. (for each event)
- We already discussed this in the previous review meeting.
- ESB to send a Unique ID for each 'version' of proxy. (for each event).
If the proxy was modified, then the ID would change Till then, ID remains
same.
- Have the separate table (at DAS) to maintain the current mediator-flow
for each proxy (schema of the proxy). This table contains version IDs
of each proxies/APIs, and their mediator-flow. So when we are plotting
the mediator-flow, we can always look-up this table to get the current
flow, and plot that.
- For this, ESB need to send a single event at the time of deploying
each proxy/api, with its mediator-flow (tree) info.
- Also have to send the same Unique ID for the 'version' of the
proxy.
- Analytics UI would always show the mediation flow/stats for the latest
version of the proxy/api, in situations like in the above example. (In
future, we may improve on to let the user pick which version they want to
view)
Please let us know whether we can go with this approach, or if there are
any concerns.
[1]
https://docs.google.com/document/d/15BdqOkQFZFYsfF0x7x4amgaIhZGoHkIwgKOoSI83ZzI/edit#heading=h.3nul0izb3nne
Regards,
Supun
--
*Supun Sethunga*
Software Engineer
WSO2, Inc.
http://wso2.com/
lean | enterprise | middleware
Mobile : +94 716546324
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture