Message ID does not have to be sequential for our use cases. Just a UUID
would do.


On Fri, Jul 12, 2013 at 2:08 PM, Srinath Perera <srin...@wso2.com> wrote:

> Hazecast has an atomic Long (
> http://www.hazelcast.com/javadoc/com/hazelcast/core/AtomicNumber.html) we
> can use that as the messageID and that way we can detect all missing
> messages as Suho mentioned (need to check the performance though)
>
> --Srinath
>
>
> On Sun, Jul 7, 2013 at 2:53 PM, Sriskandarajah Suhothayan 
> <s...@wso2.com>wrote:
>
>>
>>
>> On Sat, Jul 6, 2013 at 2:56 PM, Supun Malinga <sup...@wso2.com> wrote:
>>
>>> Hi Azeez,
>>>
>>> Totally +1 for the approach.
>>> I can suggest some improvement if you haven't already done.
>>> Several components in carbon platform will be using the hazelcast based
>>> clustering impl. We should have some mechanism to embed the usage of the
>>> each cluster message into the message itself.
>>> For eg. depsync messages will have the message type : depsync
>>>              cluster initialization/coordination messages will have
>>> message type: cluster
>>>              etc.
>>> (I'm aware there is some kind of identification via the cluster message
>>> class, but I'm talking about embedding into api level.)
>>>
>>> So with this (message type), as the next step, we can have some rules on
>>> which messages to re-play.
>>> For eg: depsync messages, we can only re-play the latest (here we might
>>> need to embed a timstamp into the message also).
>>> WDYT?
>>>
>>> +1
>> We could have normal and reliable messaging APIs.
>>
>> +1 for cluster messages to have UUIDs for reliable messaging.
>>
>>  IMHO the reliable messaging can also be implemented with the hazelcast
>> cache, where we can store those messages in the cache and when a member
>> joins/rejoins it can read the missed messages from the cache. but for this
>> we have to use sequence numbers.
>>
>> This is just my thought, not sure how feasible it is.
>>
>> Suho
>>
>> thanks,
>>>
>>>
>>>
>>>
>>> On Sat, Jul 6, 2013 at 2:30 PM, Afkham Azeez <az...@wso2.com> wrote:
>>>
>>>> I  have implemented a simple replay mechanism based on message UUIDs.
>>>>
>>>>
>>>> On Thu, Jul 4, 2013 at 5:44 PM, Afkham Azeez <az...@wso2.com> wrote:
>>>>
>>>>> There could be a situation where when a cluster message is sent, a
>>>>> member momentarily leaves the cluster, but joins immediately. This
>>>>> generally could happen when the nodes slow down under load, or due to
>>>>> intermittent network failures. However, this could lead to failures 
>>>>> because
>>>>> crucial cluster messages may not be received by members.
>>>>>
>>>>> To overcome this, or reduce the probability of loss of such messages,
>>>>> we can replay a certain number of messages when a member joins. On the
>>>>> sender side, messages over a particular time period can be buffered, and
>>>>> then replayed when new members join. However, we should ensure that the
>>>>> messages are idempotent, and messages should declare whether they are
>>>>> idempotent or not. If a message is not idempotent, we will not replay it.
>>>>> All the messages we have at the moment are idempotent, AFAIK.
>>>>>
>>>>> How does this approach sound?
>>>>>
>>>>> --
>>>>> *Afkham Azeez*
>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com
>>>>> Member; Apache Software Foundation; http://www.apache.org/
>>>>> * <http://www.apache.org/>**
>>>>> email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919
>>>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>*
>>>>> twitter: 
>>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
>>>>> *
>>>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez*
>>>>> *
>>>>> *
>>>>> *Lean . Enterprise . Middleware*
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Afkham Azeez*
>>>> Director of Architecture; WSO2, Inc.; http://wso2.com
>>>> Member; Apache Software Foundation; http://www.apache.org/
>>>> * <http://www.apache.org/>**
>>>> email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919
>>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>*
>>>> twitter: 
>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
>>>> *
>>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez*
>>>> *
>>>> *
>>>> *Lean . Enterprise . Middleware*
>>>>
>>>> _______________________________________________
>>>> Architecture mailing list
>>>> Architecture@wso2.org
>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>
>>>>
>>>
>>>
>>> --
>>> Supun Malinga,
>>>
>>> Senior Software Engineer,
>>> WSO2 Inc.
>>> http://wso2.com
>>> http://wso2.org
>>> email - sup...@wso2.com <sup...@wso2.com>
>>> mobile - 071 56 91 321
>>>
>>> _______________________________________________
>>> Architecture mailing list
>>> Architecture@wso2.org
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>>
>> --
>> *S. Suhothayan
>> *
>> Associate Technical Lead,
>>  *WSO2 Inc. *http://wso2.com *
>>  <http://wso2.com/>*
>> lean . enterprise . middleware
>>
>> *cell: (+94) 779 756 757 | blog: http://suhothayan.blogspot.com/
>> twitter: http://twitter.com/suhothayan | linked-in:
>> http://lk.linkedin.com/in/suhothayan*
>> *
>> *
>>
>> _______________________________________________
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> ============================
> Srinath Perera, Ph.D.
>    http://people.apache.org/~hemapani/
>    http://srinathsview.blogspot.com/
>
> _______________________________________________
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
*Afkham Azeez*
Director of Architecture; WSO2, Inc.; http://wso2.com
Member; Apache Software Foundation; http://www.apache.org/
* <http://www.apache.org/>**
email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919
blog: **http://blog.afkham.org* <http://blog.afkham.org>*
twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
*
linked-in: **http://lk.linkedin.com/in/afkhamazeez*
*
*
*Lean . Enterprise . Middleware*
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to