agent-substrate / agent-substrate/substrate

Unify `atenet -> atunnel` traffic path

Abierto
#1,208 3 comentarios 0 reacciones 0 asignados Ver en GitHub
area/network kind/cleanup
Lenguaje dominante
Go
Estrellas
1.8k
Forks
316
Merge medio
2 d 43 min
PR fusionados (30 d)
287

Descripción

Right now the ingress traffic paths in Substrate are a bit all over the place. Currently `atenet` can call into the `atunnel` in one of 2 ways:
1. :443 HTTP reverse proxy: parses and authorizes every HTTP request then proxies it to the actor
2. :444 CONNECT proxy: authorizes the CONNECT request once, opens actorIP:port, then ferries raw bytes bidirectionally.

It's not clear to me that we need the first path at all.

Parsing L7 on every request leads to worse performance overall, it is equivalent to an L7 sidecar vs the ambient model.
1. It leads to changes such as the [following](https://github.com/agent-substrate/substrate/pull/1183) which make atunnel ever more complicated.
2. There is no current or planned L7 per request behavior we want to put in atunnel, and ideally we'd keep it that way.

Edit: One additional datapoint is that there is a design initiative right now to pack multiple actors into a single worker, see [comment](https://github.com/agent-substrate/substrate/issues/853#issuecomment-5358052607). The `tunnel` performance will become even more critical in that world.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.