13. Typical Use-Cases¶
Fast DDS is highly configurable, which allows for its use in a large number of scenarios. This section provides configuration examples for the following typical use cases when dealing with distributed systems:
Well Known Network Deployments. Describes a situation where the entire entity network topology (Participants, Publishers, Subscribers, and their addresses and ports) are known beforehand. In these kind of environments, Fast DDS allows to completely avoid the discovery phase configuring a STATIC discovery mechanism.
Large Data Rates. Presents configuration options that can improve the performance in scenarios where the amount of data exchanged between a Publisher and a Subscriber is large, either because of the data size or because the message rate. The examples describe how to:
Configure the socket buffer size (see increase the buffers size).
Limit the publication rate (see Flow Controllers).
Tune the size of the socket buffers (see Increasing socket buffers size).
Tune the Heartbeat period (see Tuning Heartbeat Period).
Configure a non-strict reliable mode (see Using Non-strict Reliability).
Real-time behavior. Describes the configuration options that allows using Fast DDS on a real-time scenario. The examples describe how to:
Fast DDS in ROS 2. Since Fast DDS is the default middleware implementation in the OSRF Robot Operation System 2 (ROS 2), this tutorial is an explanation of how to take full advantage of Fast DDS wide set of capabilities in a ROS 2 project.
Reduce memory usage. For use cases with memory consumption constraints, Fast DDS can be configured to reduce memory footprint to a minimum by adjusting different QoS policies.
- 13.1. Fast DDS over WIFI
- 13.2. Well Known Network Deployments
- 13.3. Large Data Rates
- 13.4. Topics with many subscribers
- 13.5. Real-time behavior
- 13.6. Fast DDS in ROS 2
- 13.7. Reduce memory usage