Replies: 2 comments 3 replies
-
Python
JavaScript
C#
Java
|
Beta Was this translation helpful? Give feedback.
-
I think it's likely that if redirect-only isn't acceptable, that implies that any redirects aren't acceptable, because individual nodes aren't exposed. So the built-in endpoints that we've implemented with redirects won't work in those deployments. There are ways to work around this (set all node public addresses to the load balancer's address), but in that scenario the redirects aren't doing what we expect. We also discussed a scheme where we have a load balancer for backups and a load balancer for primaries, and some way to declare the logic so that a node forwards to the primary load balancer if it believes it should forward to a primary, but that seems like a lot of work in both the framework and each deployment to support. I think our current assumption is that redirects must be possible (nodes must be publicly accessible), and the framework can be written with that assumption, and deployments must ensure that is true. But I agree we need to confirm that's acceptable, and if so then make it an explicit requirement going forward. |
Beta Was this translation helpful? Give feedback.
-
Historically, CCF has implemented transparent request forwarding of from replicas to primary, and made this forwarding sticking to preserve session consistency (ie. a read in a session should always observe all previous writes in the same session).
CCF endpoints have also on occasion (after the transition to HTTP) implemented HTTP-level redirect (
/node/network/self
,/node/network/primary
and more recently/node/join
), where transparent forwarding wasn't suitable. This discussion is hopefully a collective answer to the question:Should CCF always use HTTP-level redirect as a forwarding mechanism?
I think we would like to gather the following facts before discussion:
Beta Was this translation helpful? Give feedback.
All reactions