Designing a team-aware application |
Applications do not have to be team-aware to be installed on a team. However, application data is neither automatically distributed nor synchronized among the controllers in the team. Applications run as independent instances in each controller in the team unless you design them as distributed applications.
Services and interfaces available to application developers
The HPE VAN SDN Controller provides several service and infrastructures to help you design and build team-aware applications.
Team-aware controller services
The
NodeService
,LinkSevice
, andDeviceService
interfaces can be used to get, set, and listen to network resource data. These services automatically maintain a symmetric view of data on each team member.The
TeamControllerService
automatically redirects calls to a device (datapath) to its owning controller.The
DeviceOwnerService
listens for device ownership changes and reports which controller is the owner (master) of a specified device.
Services for handling device ownership changes
The TeamControllerService
automatically redirects calls to a device (datapath) to its owning controller. When you use the TeamControllerService
for write operations to devices, you do not have to program your application to be aware of which controller is the owner (master) of a given device at the time the write operation is executed. However, using the TeamControllerService
does not result in the highest performance because of the processing overhead required to route all calls to northbound team IP address and then to the owning controller.
To improve performance or to take application-specific action when a controller leaves or rejoins the team, you can use the DeviceOwnerService
and the ControllerService
.
The DeviceOwnerService
enables you do the following:
Listen for ownership changes from the application instance on each controller in the team.
Determine if the controller on which the application instance is installed is the owner (master) for a specified device. Knowing which controller is the owner (master) of the device enables you to use the
ControllerService
—which is not team-aware—issue write operations to the device from the controller that has write-permission for the device.
Services for coordinating teamed application instances
The HPE VAN SDN Controller provides several services to enable teamed applications to monitor teams, share data, and distribute workloads, including the following:
Coordination Service |
System Information Service |
Device Owner Service |
Publish Subscribe Service |
Peer Monitor |
Distributed Map |
Distributed Lock |
Serializer |
Data versioning using Google Protocol Buffers (GPB) |