Skip to content

SWBus to Actor integration

Riff edited this page Oct 28, 2024 · 1 revision

Overview

To simplify building the services, we recommend to build the service using actor model.

This approach fits the things we are doing in SONiC well, because we are essentially managing the state of each resources, such as port, lag, and so on, based on the change of system states or messages/requests sends from other services. Actor model can easily ensure that the resource management logic to be safe (no cross-resource data access, hence no data locks or race conditions) as well as can easily scale in the future (actors can be easily mapped into a single thread or multiple thread).

In rust, we choose to use Ractor as the base actor framework.