Use Cases for VMCI Sockets
VMCI sockets can help with the following solutions:
RabbitMQ with Stream VMCI Sockets
On the ESXi host in ESXi host with Stream VMCI Sockets and RabbitMQ, two virtual machines contain a message queuing client that communicates with a guest proxy through amqplib. Guest proxies communicate with the host proxy over VMCI Sockets, which treat each guest connection as a separate session. The host proxy multiplexes these sessions and communicates with the RabbitMQ proxy over a single TCP/IP socket, passing encapsulated AMQP. A RabbitMQ node runs on a virtual machine. The RabbitMQ cluster is a collection of RabbitMQ nodes that are assembled for reliability and scaling. The AMQP proxy splits-out multiplexed sessions of individual connections to a RabbitMQ node. All this takes place on the management network, reducing traffic on the guest network.
ESXi host with Stream VMCI Sockets and RabbitMQ
Originated in 2003, AMQP (advanced message queuing protocol) is an industry standard for passing business messages between applications and organizations. It is popular in the banking and finance industries.
RabbitMQ software is an open-source message broker (or message-oriented middleware) that implements the AMQP standard. SpringSource currently develops and supports RabbitMQ.
Network Storage with Datagram VMCI Sockets
VMware Host with Datagram VMCI Sockets for NFS in Guests shows an example of a VMware host acting as the NFS server for the home directories of its three clients: a Windows guest and two Linux guests. NFS uses datagram sockets for file I/O. The NFS code on the VMware host must be slightly modified to use VMCI sockets instead of UDP datagrams.
VMware does not provide modified versions of the third-party applications shown in these diagrams. However, an open source version of NFS is available.
VMware Host with Datagram VMCI Sockets for NFS in Guests