A method performed by a software-defined network, SDN, controller that manages a network of a plurality of devices, the method comprising: maintaining, by processing circuitry of the SDN controller, global network state information, wherein the global network state information comprises device profile information or network topology information corresponding to each of the devices in the network; configuring, by the processing circuitry, a notification service with a subscription for updates to a portion of the global network state information, wherein the notification service is configured to arrange the updates to the portion of the global network state information into a plurality of events; distributing, by the notification service and via a plurality of interfaces, the plurality of events as event notifications to a plurality of subscriber micro-services of the SDN controller, wherein a first thread is configured to wait for a first configurable time period while a second thread receives one or more event notifications from the notification service, and when the first configurable time period elapses, the first thread reads at least one update to the portion of the global network state information in the one or more received event notifications, wherein a third thread is configured to wait for a second configurable time period while a fourth thread receives the one or more event notifications from the notification service, and when the second configurable time period elapses, the third thread reads the at least one update to the portion of the global network state information in the one or more received event notifications, and wherein the second configurable time period is different than the first configurable time period; and executing, by the processing circuitry, the first thread and the second thread to provide the updates to at least a first subscriber micro-service of the plurality of subscriber micro-services and executing, by the processing circuitry, the third thread and the fourth thread to provide the updates to at least a second subscriber micro-service of the plurality of subscriber micro-services. maintaining, by processing circuitry of the SDN controller, global network state information, wherein the global network state information comprises device profile information or network topology information corresponding to each of the devices in the network; configuring, by the processing circuitry, a notification service with a subscription for updates to a portion of the global network state information, wherein the notification service is configured to arrange the updates to the portion of the global network state information into a plurality of events; distributing, by the notification service and via a plurality of interfaces, the plurality of events as event notifications to a plurality of subscriber micro-services of the SDN controller, wherein a first thread is configured to wait for a first configurable time period while a second thread receives one or more event notifications from the notification service, and when the first configurable time period elapses, the first thread reads at least one update to the portion of the global network state information in the one or more received event notifications, wherein a third thread is configured to wait for a second configurable time period while a fourth thread receives the one or more event notifications from the notification service, and when the second configurable time period elapses, the third thread reads the at least one update to the portion of the global network state information in the one or more received event notifications, and wherein the second configurable time period is different than the first configurable time period; and wherein a first thread is configured to wait for a first configurable time period while a second thread receives one or more event notifications from the notification service, and when the first configurable time period elapses, the first thread reads at least one update to the portion of the global network state information in the one or more received event notifications, wherein a third thread is configured to wait for a second configurable time period while a fourth thread receives the one or more event notifications from the notification service, and when the second configurable time period elapses, the third thread reads the at least one update to the portion of the global network state information in the one or more received event notifications, and wherein the second configurable time period is different than the first configurable time period; and executing, by the processing circuitry, the first thread and the second thread to provide the updates to at least a first subscriber micro-service of the plurality of subscriber micro-services and executing, by the processing circuitry, the third thread and the fourth thread to provide the updates to at least a second subscriber micro-service of the plurality of subscriber micro-services.