tuscany-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raymond Feng <cyberf...@gmail.com>
Subject Re: GSoC 2012 Idea : TUSCANY-4023
Date Wed, 14 Mar 2012 15:26:24 GMT
Hi, Dishara.

It's glad to see you did some homework :-).

The scope is the project is to use Apache ZooKeeper to publish and receive descriptions of
service endpoints, such as the component URI, the binding type, associated policies and the
endpoint address. For example, we run two components (Component A & B) on two hosts (Host
A and B), Component A has a reference to Component B. When Tuscany starts on Host A, we publish
the information about component A to the ZooKeeper and receive the description of Component
B. The endpoint description of Component B will be used by Host A to resolve the "target"
(the logical SCA address) of an SCA reference.  ZooKeeper also maintains the group of Tuscany
nodes in the same domain. It keeps the consistent state about all the participating SCA components.
In a simplified view, we can treat ZooKeeper as a distributed map.

Thanks,
Raymond

On Mar 13, 2012, at 12:21 PM, Dishara Wijewardana wrote:

> Hi Raymond,
> 
> On Mon, Mar 12, 2012 at 10:03 PM, Raymond Feng <cyberfeng@gmail.com> wrote:
> Hi, Dishara.
> 
> Thank you for the interest. I'll elaborate more on the idea.
> 
> Thank you very much for the detailed description. 
> 
> I went through the tuscany distributed runtime wiki once and got an understanding(may
be have to go through again ;) ). Seems it got a good architecture to distribute the existing
domain registry. 
>   
> 
> There is a SCA domain concept in Tuscany, which is a service registry of metadata about
all the components and policies. A composite application can have components running on different
machines and they can be wired to each other using remote bindings within the SCA domain.
From the runtime perspective, Tuscany uses the domain registry to resolve the wirings between
components.
> 
> Tuscany has two types of implementation of the domain registry at this point:
> 
> 1) Local registry (which only knows the local endpoints). It can be extended to use local
files to describe remote endpoints in the node.xml.
> 2) Multicast based registry on top of Tomcat Tribes or Hazelcast.
> 
> 
>  So we probably not going to use either any of above two domain registry implementations,
but the centralized registry. (which I assumed as another registry impl).  
>  
> In a typical enterprise environment, the multicast doesn't work well due to networking
constraints. A more useful infrastructure is that we have centralized registry with HA configurations
(such as master/slave). Apache ZooKeeper and Redis can be used for these purposes. The project
will  be mostly implement the DomainRegistry SPI [2].
> 
> 
> As far as I understand, we'll be using a suitable domain registry implementation to distribute
among ZooKeeper nodes. And as the wiki stands, 
> Tuscany will not go for JVM clustering, but a higher level clustering solution.
> 
> This project will have following main targets.
> - Identify/implement how nodes (in the distributed environment) should be modeled to
form a SCA component.
> - Integrate the nodes to meet the above requirement through a distributed platform (ZooKeeper).

>  (And integration of nodes should be done by tuscany SCA bindings on top of Apache ZooKeeper
nodes)
>  At the end of the day this will create a bridge between ZooKeeper nodes and SCA components.
>   
> Also  +1 for Apache ZooKeeper. 
> 
> Please correct me if I have misunderstood the requirement or any feedback will be great
full. This is a really interesting project. 
> But I am not quite aware of the scope of this exactly in details . 
>  
> [1] https://cwiki.apache.org/TUSCANYWIKI/distributed-runtime.html
> [2] https://svn.apache.org/repos/asf/tuscany/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DomainRegistry.java
> 
> Thanks,
> Raymond
> 
> On Mar 11, 2012, at 10:13 AM, Dishara Wijewardana wrote:
> 
> > Hi all,
> > This is regarding the project idea "Develop a distributed domain registry using
Apache ZooKeeper, Redis, or Memcache".
> >
> > I am interested in applying for this SoC program and I saw the JIRA[1] project idea
for Apache Tuscany. I have played with Tuscany and already
> > had hands on experience with creating Tuscany SCA components in webapps and using
the callback method and etc (the framework is very helpful
> > when communicating between front end and back end).
> >
> > I would like to work on the project "Develop a distributed domain registry using
Apache ZooKeeper, Redis, or Memcache" .
> > These days I started looking in to Apache ZooKeeper and get familiar with it.
> >
> > It will be nice if I can get to know some details(what is the expected scope, what
things need to be looked before hand, and etc) of this project idea, so that I can prepare
well for the project.
> >
> >
> > Thanks
> > /Dishara
> 
>  
> Thanks
> /Dishara


Mime
View raw message