Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AMQP? #26

Open
io7m opened this issue Mar 22, 2024 · 0 comments
Open

AMQP? #26

io7m opened this issue Mar 22, 2024 · 0 comments
Assignees
Labels
agent Issues involving agents enhancement New feature or request server Issues involving the server

Comments

@io7m
Copy link
Member

io7m commented Mar 22, 2024

So much of the communication between the agents and the server, and the way the agents have to store old log messages in the hope that the network connection will come back, seem to be problems in search of a durable queue.

Could the communications protocols be replaced with AMQP? The actual protocols wouldn't have to change much, and the existing command handler structure would be kept. The connection classes on the server would be replaced with AMQP handlers, and the SQLite-based log of work items would be replaced with a client-side durable queue.

This is really dependent on whether there's a good embedded AMQP broker that's JPMS compatible and doesn't require a ton of admin. Apache Artemis exists, but isn't JPMS compatible and might need a lot of babysitting and admin. QPid exists, and hasn't been investigated yet.

  • For the user shell protocol, synchronous "send and wait for response" behaviour is needed. Durable queues are not needed.
  • For the agent protocol, asynchronous "fire and forget" behaviour is needed, along with durable queues so that messages are guaranteed to be retried forever until something accepts them.
  • The server side for agents needs pluggable authentication support; support for authenticating using a public key, and so on.
  • The server side for users needs pluggable authentication support; support for authenticating against idstore.
@io7m io7m added enhancement New feature or request agent Issues involving agents server Issues involving the server labels Mar 22, 2024
@io7m io7m self-assigned this Mar 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
agent Issues involving agents enhancement New feature or request server Issues involving the server
Projects
None yet
Development

No branches or pull requests

1 participant