Skip to content
This repository was archived by the owner on Sep 10, 2025. It is now read-only.

Use MQ as our transport, instead of websockets. - #5

Merged
skx merged 9 commits into
masterfrom
mq
Apr 25, 2019
Merged

skx merged 9 commits into
masterfrom
mq

Conversation

@skx

@skx skx commented Apr 24, 2019 •

Copy link
Copy Markdown
Owner

This is a work-in-progress pull-request which is intended to move from using websockets as the transport towards using MQ.

This is designed to ensure that the server scales and can handle multiple overlapping clients without deadlocking.

  • update documentation.
  • update client.
  • test client via cli.
  • update server.
  • add signature/security mechanisms.
  • merge, make release, retire old instance.

skx added 7 commits April 24, 2019 17:07
This updates the hostname to be `tunnel.steve.fi`, because we're
changing the way the client <-> server link works, and that means
the existing public-endpoint won't work.

TODO:

* Think about signing the requests the server submits.
  * That doesn't stop sniffing, but does stop spidering/probing.
This has been tested via the `mosquitto_pub` command; inject
a full-request such as:

   GET / HTTP/1.0
   Host: foo.example.com

The result is that the response is sent back down the same
channel, as expected.

Porting the server should be pretty simple, based on this work.

Since the HTTP-server and the MQ-server are on the same host
I'm going to cheat and only talk to MQ on the localhost for
the server.
Tested with 20 concurrent clients accessing 20 local (python
webservers).

Zero deadlocks.  Zero failures.
@skx

skx commented Apr 24, 2019

Copy link
Copy Markdown
Owner Author

This is functional.

However I will look at embedded queues, as per #4 before I merge. It might be that will be cleaner and better.

@skx
skx merged commit 3a34e7b into master Apr 25, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

⌂ 换网址