I want to use the gRPC streaming mechanism for the clients to get notified when the system has changed. E.g. The db stores users. Clients can add and delete users via gRPC unary calls. There are also streaming methods such that the clients can get notified when other client has added or deleted a user. In case that I have several intances of my gRPC service (e.g. in k8s) how can Client1 that has a durable connection to instance1 gets notified when a client2 that makes a unary delete call to an instance 3?
You need a way to publish events between all instances. One way is to use your database. Or use a messaging solution that supports publish/subscribe. A lightweight solution could be redis.