+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

Reply via email to