Replies: 3 comments 3 replies
-
|
@bbockelm Appreciate your thoughts on this analysis! |
Beta Was this translation helpful? Give feedback.
-
This is the problem. To use the broker, a service must have a unique name in the federation (used to route requests to it) and prove it is associated with the federation (by signing a token with a private key associated with the public key in the registry for that name). The service's "network address" is not particularly meaningful name as it may not be addressable on the public internet. I agree about the confusion between "site name" and "service name". "Service name" implies there's a name for the service, which is not true if there are multiple services running in one
|
Beta Was this translation helpful? Give feedback.
-
|
@h2zh @bbockelm How is this going to translate to the admins? I am getting the impression that we could use the ID for the prefix and completely abstract the idea of a Cache and Origin Prefix from the user. Making the new Origin/Cache form: |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Current pattern
[Cache] “/caches/” + sitename
I think it is unnecessary to introduce a new pattern (hostname:port) for "ServiceName", breaking its interchangeability with "Sitename". This extra field will add confusions to JSONs across Pelican, especially "ServiceName" and "Sitename" look similar. Also, port can change so this is an unstable identifier.
Instead of "ServiceName",
brokerEndpointsTTLCache should label its key as service's network address (hostname:port) - derive from URL.Host(for Origin)/WebURL.Host(for Cache). It's more straightforward to reflect the actual usage of this key - keep URL as URL - rather than creating new term "ServiceName". In this way, when broker is enabled and a TCP connection is initialized, the broker dialer will first strip the service's network address from the URL, then check if it is inbrokerEndpoints. If so, it will establish the connection via broker. Thus, we have to use the service's network address as key forbrokerEndpoints, but it is not necessarily mean that we need to make it as "ServiceName". Other map data structure may use different field as the key. For example, sitename is the key forfilteredServers.Above all, creating a "service name" that's really just a rebranded URL adds confusion without significant benefit.
Beta Was this translation helpful? Give feedback.
All reactions