sure thing,
The current implementation was:
- add a domain field
- broadcast the domain field
- change replication code to accomodate for the field
- change server.xml to set the domain
- replication only occurs within the domain

The exact same functionality could have been achieved:
- change mcastAddr in server.xml
- replication only occurs within the domain

So as you can see, so much code was written that could have been done
with one tiny configuration change. And, the comm layer had no benefit of it either, so it was an applicatin specific need, and the code trickled down all the way to the comm layer, and that is the problem with the old app. many features needed in the app layer, were coded in the comm layer and the other way around.

If the data was only valuable to the application that sits on top, then it should be managed by the application on top.
The functionality still exists:
http://people.apache.org/~fhanik/tribes/javadoc/org/apache/catalina/tribes/MembershipService.html#setPayload(byte[])

When a channel is created today, the application can set a custom payload (domain,admin JMX port,load averages,anything you can think of) can be broadcasted. So the feature is still there, its just application specific. The comm layer knows nothing about domains.

With the custom payload you have lost 0 features over the old implementation, but you have gained a lot more flexibility, as you not are limited to just broadcasting a domain, you can broadcast all kinds of useful data.

Remember, that you can also build a custom interceptor that modifies both membership and message data as it passes through the channel, only your imagination becomes the limitation here.

For example, TcpFailureDetector, a simple implementation that overrides the multicast membership for failure detection.
http://people.apache.org/~fhanik/tribes/javadoc/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.html
this interceptor keeps its own membership and if a member times out, it will verify the timeout with a connection attempt.

This is just a simple example of how an interceptor can override implemented membership logic, you can create an interceptor that implements all kinds of logic to manipulate membership.

What we've done with "ha" and "groupcom" modules is to split logic to keep it where it belongs. I have compiled a little introduction to Tribes which gives you a basic understanding of the feature set
http://people.apache.org/~fhanik/tribes/docs/introduction.html

As you can see, tribes is extremely customizable, only you imagination is the limit.

Filip


Peter Rossbach wrote:
Can you please explain how domain memberships at future works?

Peter

Am 06.05.2006 um 00:59 schrieb [EMAIL PROTECTED]:

Author: fhanik
Date: Fri May  5 15:59:35 2006
New Revision: 400201

URL: http://svn.apache.org/viewcvs?rev=400201&view=rev
Log:
Removed domains, since we are doing so many changes, there is no reason we can't implement that correctly

M

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to