# Solace Process level information and internal architecture

**URL:** <https://community.solace.com/t/solace-process-level-information-and-internal-architecture/203>\
**Category:** Solace Event Broker\
**Tags:** solace-cloud, architecture\
**Created:** [March 4, 2020, 2:51am UTC](https://community.solace.com/t/solace-process-level-information-and-internal-architecture/203 "2020-03-04T02:51:35Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![rdesoju](https://avatars.discourse-cdn.com/v4/letter/r/a4c791/32.png) [@rdesoju](https://community.solace.com/u/rdesoju)\
**Post date:** [March 4, 2020, 2:51am UTC](https://community.solace.com/t/solace-process-level-information-and-internal-architecture/203/1 "2020-03-04T02:51:35Z")

</div>

Hi,  
I would like to understand more about the internal services that ensemble Solace PubSub s/w. I found that below processes are running as child processes of SolaceDaemon process:

```auto
1000001 24106 24081 0 Feb29 pts/0 00:00:00 /usr/sw/loads/soltr_9.3.1.9/bin/solacedaemon --vmr -z -f /usr/sw/loads/soltr_9.3.1.9/SolaceStartup.txt -r -1
1000001 24602 24106 0 Feb29 pts/0 00:42:40 python /usr/sw/loads/soltr_9.3.1.9/scripts/vmr-solaudit -d
1000001 24613 24106 0 Feb29 pts/0 00:00:07 /sbin/rsyslogd -n
1000001 24653 24106 0 Feb29 pts/0 00:00:33 /usr/sw/loads/soltr_9.3.1.9/bin/watchdog -w 0 -R 900
1000001 24654 24106 17 Feb29 pts/0 16:11:38 /usr/sw/loads/soltr_9.3.1.9/bin/dataplane -h 80
1000001 24655 24106 0 Feb29 pts/0 00:06:29 /usr/sw/loads/soltr_9.3.1.9/bin/controlplane -h 80
1000001 24656 24106 0 Feb29 pts/0 00:00:14 /usr/sw/loads/soltr_9.3.1.9/bin/smrp
1000001 24657 24106 0 Feb29 pts/0 00:09:27 /usr/sw/loads/soltr_9.3.1.9/bin/mgmtplane
1000001 24658 24106 0 Feb29 pts/0 00:00:14 /usr/sw/loads/soltr_9.3.1.9/bin/xmlmanager
1000001 24659 24106 0 Feb29 pts/0 00:00:15 /usr/sw/loads/soltr_9.3.1.9/bin/trmmanager
1000001 24660 24106 0 Feb29 pts/0 00:01:57 /usr/sw/loads/soltr_9.3.1.9/bin/msgbusadapter
1000001 24661 24106 0 Feb29 pts/0 00:00:26 /usr/sw/loads/soltr_9.3.1.9/bin/solcachemgr
1000001 24795 24106 10 Feb29 pts/0 09:28:49 /usr/sw/loads/soltr_9.3.1.9/firmware/3206/dataplane-linux
1000001 24866 24106 0 Feb29 pts/0 00:00:08 uwsgi --ini loads/soltr_9.3.1.9/scripts/sempv2/uwsgi.ini --set sempV1Port=1025
1000001 24867 24106 0 Feb29 pts/0 00:00:00 nginx: master process nginx -c /usr/sw/loads/soltr_9.3.1.9/tmp/nginx.conf
root 24886 24106 0 Feb29 pts/0 00:00:00 /usr/sbin/sshd -D
1000001 24895 24106 0 Feb29 pts/0 00:41:33 /usr/bin/consul agent -config-file /var/lib/solace/consul.json

```

I think `dataplane` process is the main processes which is required to exchange messages.  
`Consul` process is responsible for communicating with peers in the HA triplet.  
Could someone help to gain more understanding about role of other listed services here? Any pointers in the documentation also would be really helpful. I am essentially trying to understand all the internal components and services in the Solace PubSub software. I tried searching in the docs but unable to find relevant detailed explanation of internal architecture.

Please help.

Thanks in advance.

Regards,  
Raghu

---

<div class="post-metadata">

**Author:** ![rdesoju](https://avatars.discourse-cdn.com/v4/letter/r/a4c791/32.png) [@rdesoju](https://community.solace.com/u/rdesoju)\
**Post date:** [March 6, 2020, 2:41pm UTC](https://community.solace.com/t/solace-process-level-information-and-internal-architecture/203/2 "2020-03-06T14:41:40Z")

</div>

`solacedaemon` is the main process which contains others as child processes  
`controlplane` manages the redundancy. Talks to consul and watchdog  
`dataplane` talks to peer messaging nodes on 8741 and syncs message spools. Also, has says `hello` to the peers  
`dataplane-linux` acts as frontcontroller for messaging protocols  
`mgmtplane` is responsible for config-sync between peers in a ha triplet  
`msgbusadapter` takes care of messaging processing. Serves clients  
`smrp` role is to propogate subscriptions to other nodes in case of MNR  
`solacecachemanager` takes care of message caching  
`sshd` is for CLI  
`nginx` hosts UI for solAdmin  
`uwsgi` is the REST service API for SEMP v2  
`vmr-solaudit`??  
`trmmanager`??  
`xmlmanager`??

Could someone please validate my understanding, correct and also shed some light on role of these components?

Thanks

---

<div class="post-metadata">

**Author:** ![pkondrat](https://yyz1.discourse-cdn.com/solace/user_avatar/community.solace.com/pkondrat/32/2451_2.png) [@pkondrat](https://community.solace.com/u/pkondrat)\
**Post date:** [March 6, 2020, 3:57pm UTC](https://community.solace.com/t/solace-process-level-information-and-internal-architecture/203/3 "2020-03-06T15:57:31Z")

</div>

Hi Raghu,  
I’m a product manager at Solace. The answers to these questions are getting into implementation details that we don’t normally disclose.  
Best Regards,  
Paul
