On 8/15/12 10:57 PM, "Alex Huang" <alex.hu...@citrix.com> wrote:

>
>
>> -----Original Message-----
>> From: Chip Childers [mailto:chip.child...@sungard.com]
>> Sent: Wednesday, August 15, 2012 9:53 PM
>> To: cloudstack-dev@incubator.apache.org
>> Subject: Re: [Discuss] CloudStack architecture to a loosely-coupled
>> component oriented distributed architecture
>> 
>> On Thu, Aug 16, 2012 at 12:24 AM, Kelven Yang <kelven.y...@citrix.com>
>> wrote:
>> >>The only hesitation that I have is around ease of installation />
>> >>configuration.  CloudStack is great at this today (one of the reasons
>> >>that my company gravitated to it), and I don't want to lose that
>> >>value.  I don't think this is a blocker to distributing the system at
>> >>all, but it will be a critical design and implementation detail to
>> >>consider.
>> >
>> > Yes, we should not sacrifice too much to lose the ease of
>> > installation, one of the most attractive property of CloudStack. the
>> > problem may be improved by having component-provisioning service in
>> > CloudStack core component that helps installation and auto
>> > configuration of other components
>> 
>> Agreed.  I just wanted to be sure we were thinking about it!
>> 
>> >>How do you see this matching up with Murali's Event notification
>> >>framework proposal?  It seems to me, that switching to a distributed
>> >>model requires a shift in his thinking on the actual event framework
>> >>itself.
>> >
>> > Murali's event notification assumes reliable event service requires by
>> > the semantics from business logic. It basically converts synchronized
>> > listener callback pattern into a disconnected implementation fashion.
>> >
>> > The messaging event I mentioned in the proposal has more semantics
>> > towards signaling process, it does not have a strong semantics to
>> > require a reliable event notification mechanism.
>> >
>> 
>> I think I follow you, but my point is that I like Murali's proposal
>>quite a bit.
>> Except in this context it needs to change to account for the proposed
>> distribution of processes that may contain potential event sources and
>> listeners.  Isn't this an opportunity to use a common messaging
>>approach,
>> expecting syntactic differences between the use cases?  I think the
>>goals of
>> the two proposals are complementary.
>> Elements of the proposed implementation approaches are what need to be
>> adjusted.




>
>I don't think Murali and Kelven's proposals are related.  Murali's is a
>notification system so that someone who doesn't even want to know about
>cloudstack's code can still interface with cloudstack and react to entity
>changes.  Kelven's defines the ipc mechanism used by cloudstack
>components.  I think it's best for these two to grow separately.  Now
>it's possible that the underlying mechanism to implement these two ends
>up to be the same thing but at least their semantics should be different.
>
>--Alex
>


As alex pointed, there are some differences between the two. I know that
in our current code base we use a lot of in-process listener-callback
pattern to encapsulate isolated logic in different modules for better
modularization. Inside the same component, this pattern applies perfectly.
However, when we come to a distributed world, unless the logic semantic
implies that this can be decoupled in disconnected fashion, we should not
use the listener-callback patter across components, it assumes strong
coupling, if the business logic requires such strong semantics, it should
go through in orchestration process so that the flow state can be managed
in terms of component failures.
   
Kelven


>

Reply via email to