A computer system, comprising: a plurality of server instances (112, 114), in a multi-tenant system, the server instances servicing a plurality of different tenants, each tenant corresponding to a different organization and having corresponding tenant data, the server instances in the multi-tenant system configured to isolate the tenant data corresponding to each tenant from other tenants; and a notification stream generator comprising a change segmentation component configured to segment sets of change requests into per-tenant segments, wherein the notification stream generator is configured to: receive the set of change requests from each of a plurality of different requesting tenants, each set of change requests being indicative of changes to the tenant data corresponding to the requesting tenant, assign a dedicated server instance, of the plurality of different server instances, to each requesting tenant to process the corresponding set of tenant change requests by sending to the dedicated server instance a bookmark that corresponds to the per-tenant segment, establish and maintain an exclusive synchronization stream for communication with the server instance that received the bookmark, until the server instance that received the bookmark has performed all changes in the per-tenant segment, and, thereafter, to release the synchronization stream, wherein each server instance is configured to: enforce the server instance's usage constraints such that no tenant can exceed the usage constraints imposed by its corresponding server instance, pull and process the set of change requests for one tenant, and return the bookmark to the change segmentation component to indicate that the server instance is free to make changes for a different tenant. a plurality of server instances (112, 114), in a multi-tenant system, the server instances servicing a plurality of different tenants, each tenant corresponding to a different organization and having corresponding tenant data, the server instances in the multi-tenant system configured to isolate the tenant data corresponding to each tenant from other tenants; and a notification stream generator comprising a change segmentation component configured to segment sets of change requests into per-tenant segments, wherein the notification stream generator is configured to: receive the set of change requests from each of a plurality of different requesting tenants, each set of change requests being indicative of changes to the tenant data corresponding to the requesting tenant, assign a dedicated server instance, of the plurality of different server instances, to each requesting tenant to process the corresponding set of tenant change requests by sending to the dedicated server instance a bookmark that corresponds to the per-tenant segment, establish and maintain an exclusive synchronization stream for communication with the server instance that received the bookmark, until the server instance that received the bookmark has performed all changes in the per-tenant segment, and, thereafter, to release the synchronization stream, receive the set of change requests from each of a plurality of different requesting tenants, each set of change requests being indicative of changes to the tenant data corresponding to the requesting tenant, assign a dedicated server instance, of the plurality of different server instances, to each requesting tenant to process the corresponding set of tenant change requests by sending to the dedicated server instance a bookmark that corresponds to the per-tenant segment, establish and maintain an exclusive synchronization stream for communication with the server instance that received the bookmark, until the server instance that received the bookmark has performed all changes in the per-tenant segment, and, thereafter, to release the synchronization stream, wherein each server instance is configured to: enforce the server instance's usage constraints such that no tenant can exceed the usage constraints imposed by its corresponding server instance, pull and process the set of change requests for one tenant, and return the bookmark to the change segmentation component to indicate that the server instance is free to make changes for a different tenant. enforce the server instance's usage constraints such that no tenant can exceed the usage constraints imposed by its corresponding server instance, pull and process the set of change requests for one tenant, and return the bookmark to the change segmentation component to indicate that the server instance is free to make changes for a different tenant.