# Application architecture: Transports, Producers, and Consumers

**URL:** <https://mediasoup.discourse.group/t/application-architecture-transports-producers-and-consumers/3663>\
**Category:** mediasoup libraries\
**Created:** [December 1, 2021, 9:41pm UTC](https://mediasoup.discourse.group/t/application-architecture-transports-producers-and-consumers/3663 "2021-12-01T21:41:35Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![shadmerhi](https://avatars.discourse-cdn.com/v4/letter/s/c6cbf5/32.png) [@shadmerhi](https://mediasoup.discourse.group/u/shadmerhi)\
**Post date:** [December 1, 2021, 9:41pm UTC](https://mediasoup.discourse.group/t/application-architecture-transports-producers-and-consumers/3663/1 "2021-12-01T21:41:35Z")

</div>

Hi there,

I am developing a one-to-many application and I have set up the base architecture and logic and I would like to confirm I’m on the right track before proceeding.

A room has a single “host”, who sends media but does **not** receive. For this user, I have:

- Created a **single** Send Transport
- Created a video producer and an audio producer (on both client and server)

The other users (i.e. the “host watchers”) in the room only receive media.

For these users, I have:

- Created a **single** Receive Transport that consumes **both** of the hosts’ producers (mentioned above)
- Created two consumers (one for each of the host producers)

Does this overall seem correct for this one-to-many application? The one part I’m concerned with the most is a single Recieve Transport that consumers both of the hosts’ producers. It seems to be functioning properly, but I would like to confirm before proceeding.

Any thoughts or feedback are greatly appreciated.

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [December 1, 2021, 11:56pm UTC](https://mediasoup.discourse.group/t/application-architecture-transports-producers-and-consumers/3663/2 "2021-12-01T23:56:37Z")

</div>

That’s basically how mediasoup works, yes.

---

<div class="post-metadata">

**Author:** ![BronzedBroth](https://avatars.discourse-cdn.com/v4/letter/b/ad7895/32.png) [@BronzedBroth](https://mediasoup.discourse.group/u/BronzedBroth)\
**Post date:** [December 2, 2021, 5:26am UTC](https://mediasoup.discourse.group/t/application-architecture-transports-producers-and-consumers/3663/3 "2021-12-02T05:26:12Z")

</div>

The transport is the user\<\>server connection. You can produce/consume any amount of times based on app code.

For myself, I generally allow 1 broadcast but that can consist of audio only, video only or both but under one transport. Viewers get a transport per published content, so if 12 videos, 12 transports.

I’d say IBC answered this but to further fill your bowl, you want one to many, eventually a single core cuts off, so I’d try to study up on pipetransports, or piping routers locally; utilizing queues so your order of operation doesn’t slip.
