+1. Data goes through each topic/queues are independent to each other. Therefore, having these re-factoring will bring in grater parallelism ( - less contentions) etc.
On Mon, Dec 22, 2014 at 4:19 PM, Hasitha Hiranya <[email protected]> wrote: > Hi, > > We have a single class to track all messages delivered by MB. > This becomes a bottleneck when number of queues, topics, subscribers grow. > > Thus proposing to delegate lifecycle of a message to AndesMessageMetadata > object itself rather than keeping an external single class to keep all the > tracking. > > Steps: > > Attach life cycle to andesMessageMetadata. Extend andesMessageMetadata and > create deliverableAndesMessageMetadta > Slot reference is in andesMessage itself. What ever slot object will be > garbage collected when all deliverableAndesMessageMetadta are cleaned from > memory. > > We will need to re-do some stuff AMQChannel does for us (internal Qpid). > We need to correlate message delivery and acks CHANNELWISE > > 1. to which channels messages were delivered. > 2. How many times delivered > 3. handle reject (re-queue), use *same* deliverableAndesMessageMetadta > object > 4. subscriber flow control handling for each channel. > 5. ack timeout handling > 6. decide when to delete the message > 7. decide when to route to DLC > 8. SPECIAL - decide if to put message to a different relevant channel or > route to another node (involves cut from slot and modifying message id) > 9. etc etc > > > We cannot use AMQChannel for that as we convert back and forth, not using > same deliverableAndesMessageMetadta object. > > Please share the ideas on $Subject. > > Thanks > > -- > *Hasitha Abeykoon* > Senior Software Engineer; WSO2, Inc.; http://wso2.com > *cell:* *+94 719363063* > *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com> > > -- Ramith Jayasinghe Technical Lead WSO2 Inc., http://wso2.com lean.enterprise.middleware E: [email protected] P: +94 777542851
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
