.NET SignalR is an example of a framework that requires "sticky" sessions (in most cases) between the client and the server.
DCP could support this by ensuring that the client (identified via a hash of its address and port) is always proxied to the same endpoint. The assumption here is that the set of endpoints (proxy configuration) is stable and all endpoints are responsive. We could go as far as maintaining the "stickyness" as long as, for a given client, its "old endpoint" is still available after a configuration change.
Stickyness would be an optional property on the Service spec, defaulting to false (i.e. Services by default are non-sticky).
Relevant Aspire bug: microsoft/aspire#1660
.NET SignalR is an example of a framework that requires "sticky" sessions (in most cases) between the client and the server.
DCP could support this by ensuring that the client (identified via a hash of its address and port) is always proxied to the same endpoint. The assumption here is that the set of endpoints (proxy configuration) is stable and all endpoints are responsive. We could go as far as maintaining the "stickyness" as long as, for a given client, its "old endpoint" is still available after a configuration change.
Stickyness would be an optional property on the Service spec, defaulting to false (i.e. Services by default are non-sticky).
Relevant Aspire bug: microsoft/aspire#1660