Thanks for the detailed explanation!! really helpful

2021년 12월 6일 (월) 오후 4:50, Piotr Kliczewski <pklic...@redhat.com>님이 작성:
>
>
>
> On Mon, Dec 6, 2021 at 6:24 AM Henry lol <pub.virtualizat...@gmail.com> wrote:
>>
>> 2021년 12월 3일 (금) 오후 7:39, Piotr Kliczewski <pklic...@redhat.com>님이 작성:
>> >
>> >
>> >
>> > On Fri, Dec 3, 2021 at 11:22 AM Henry lol <pub.virtualizat...@gmail.com> 
>> > wrote:
>> >>
>> >> In my understanding, an internal broker was introduced with benefits and 
>> >> enough to cover the workload, right?
>> >
>> >
>> > In general it is correct. There is no broker process running but rather 
>> > the code is spread between the client (engine) and server (vdsm).
>> >
>> >>
>> >>
>> >> but not clear about the need for it on oVirt because I'm not sure there 
>> >> are so many message flows(or message topics).
>> >
>> >
>> > We created a topic per type of interactions (commands) that are being 
>> > called. Good number of them are defined.
>> >
>> >>
>> >> I felt like it acts as just a proxy only between engine and rpc server, 
>> >> so it looks more desirable to me to directly communicate without message 
>> >> queues in the middle.
>> >> (even internal broker is coupled with vdsm)
>> >
>> >
>> > We were concerned about topology complexity and never decided to use an 
>> > external (proxy) broker. The transport communication hides details so from 
>> > a logic perspective it
>> > looks like direct communication. Please remember that in the past 
>> > transport was fully synchronous and one of the requirements was to 
>> > abstract async so the business layer
>> > can work without changes.
>> >
>> yeah as you said, the business layer can focus on their own logic
>> thanks to the transport layer.
>> I thought that the transport layer could be also abstracted and
>> implemented from raw tcp or websocket, and at first that using msg
>> protocol with the broker is just an additional overhead. (correct me
>> if i'm wrong)
>> (i.e. json-rpc communication through tcp or websocket)
>
>
> During the transition process we had several protocols being supported so the 
> abstractions are
> there. Raw tcp is there and you can implement "just" json-rpc on top of it. 
> In the past we were using xmlrpc
> so with this approach you would have unidirectional communication and no 
> notifications.
> It was our starting point with the transport changes we did.
>
>>
>>
>> but as Artur said, the main reason for using stomp here seems to
>> easily propagate and define msg flows, right?
>
>
> There is more to it. We use stomp heartbeats to determine if a host is 
> healthy. It is used to trigger fencing flow when the host is not reachable.
>
>>
>>
>> sorry again in advance if it sounds foolish.
>> >>
>> >>
>> >> could I know usecases of it in oVirt compared to raw tcp?
>> >
>> >
>> > Interesting one is bidirectional notifications which need to be delivered 
>> > to specific parts of the logic on either side.
>> > For most of use cases we could get away with raw tcp.
>> >
>> >>
>> >>
>> >> sorry in advance if it sounds foolish.
>>
_______________________________________________
Users mailing list -- users@ovirt.org
To unsubscribe send an email to users-le...@ovirt.org
Privacy Statement: https://www.ovirt.org/privacy-policy.html
oVirt Code of Conduct: 
https://www.ovirt.org/community/about/community-guidelines/
List Archives: 
https://lists.ovirt.org/archives/list/users@ovirt.org/message/XDXRPOS3PCYE2H363ALNDHMSP66IYWC5/

Reply via email to