DDS Best Practices

RTI Connext DDS is a powerful platform that abstracts many difficult parts of distributed system design. However, like any powerful technology, it must be used in optimal ways to get the most out of it. There may be multiple ways to accomplish the same goal, but the approaches can differ in performance or resource utilization. These best practices provide rules on designing your distributed system and architecting applications that use RTI Connext DDS.

You can contribute by commenting on existing best practice articles, or by creating new best practices here (requires logging in).

To use the Modern C++ Connext DDS API correctly you need to understand its type system. Most types in the API belong into two categories:

- Value types

- Reference types

2077 reads — 0 comments

For better performance and reduced network usage, use individual Permissions Files for each

3083 reads — 0 comments
QoS Profile composition is a new feature added to Connext DDS 6. This feature allows QoS Profiles to be constructed from other profiles using composition. Learn the details of this feature and how to properly use it.
9116 reads — 0 comments

The following references summarize key best practices when using DDS to integrate distributed systems:

6600 reads — 0 comments
Use the bind_and_manage_listener call to avoid managing Entity and listener deletion in your application.
7021 reads — 0 comments
Entities, such as the DomainParticipant or the DataReader should never be created as pointers (i.e. using new). They implement reference semantics, and should be declared as regular variables.
9494 reads — 0 comments

For better reusability and maintenance of your code, design your QoS as sets of reusable profiles instead of tuning each data flow separately.

10451 reads — 0 comments