Hi All,

Purpose of this mail is to discuss the solution regarding the 'Message
queuing mechanism to prevent losing messages in PubSub"*. *Please find the
below information in order to get more context regarding the $subject
*.*

*Problem & C4 solution*

Let's consider a situation where there is a dashboard with publisher and
subscriber widgets. If the publisher widget is rendered before the
subscriber widget, the subscriber widget may miss the initial messages that
are published by the publisher. As a real-world example, we can consider a
scenario where date picker widget publishes initial date range and the
other widgets should be rendered according to that published date range. If
the date picker widget is rendered before the other widgets, these widgets
will not able to get the published date-range. In C4, we have implemented a
feature to control the load order of the widgets. So that we can control
the load order of widgets and resolve the above-mentioned problem.

*Proposed Solution*

In C5 dashboard component implementation, we have used Golden Layout to
handle the layouting and rendering of the dashboards. Please refer the mail
thread[1] for more information. Because of this reason, we do not have the
control over the widget load order in dashboards. So we have come up with
the following solution in order to resolve this issue.

   - Publisher widgets publish messages using its parent(base) widget.
   Please refer mail thread[2] for more information about parent widget
   component.
   - If the dashboard is not initialized, messages will be queued at the
   widget level and start listening to dashboard initialized event. Once the
   dashboard is initialized, queued messages will be sent to the respective
   channel. So that the subscriber widgets can get the published messages
   without any issue.

The above implementation will be available with the stream processor beta
version. If you have any concerns or issues. Please feel free to ask.

[1] - Mail Subject - [Meeting Notes] Discussion on way forward with
Dashboards @ Wed Jun 14, 2017 10am - 11am (IST) (WSO2 Platform Team Group)

[2] - Mail Subject - [Dashboard] Introducing a base widget component
Thanks,
Nisala


-- 
*Nisala Niroshana Nanayakkara,*
Software Engineer
Mobile | +94 717600022
WSO2 Inc | http://wso2.com/
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to