Answer the question
In order to leave comments, you need to log in
Is there a technology/way to handle http requests remotely?
Milestones:
- Point of receiving HTTP requests - a public point with a high load. requests without authorization.
- The server/s that perform the validation, processing requests and issuing a response.
Given:
There are different, unrelated clients (organizations).
There are users who can execute requests without authorization without having authorization data
There is an intermediary who wants to organize billing and the ability to process user requests by client servers
Servers behind NAT and do not have access from outside
Request URIs are the same for all users and servers
The request belongs to a user to a specific client is determined by subdomain (for example)
Users should not know the real addresses of servers.
Product:
An intermediary offers a service to a client. Come on, we'll provide a channel for your servers to process user requests. The intermediary has a public address. The intermediary allocates a subdomain, and users addressing the subdomain will get to the client's server. The intermediary understands that the client does not want to expose servers to the outside, and generally turn them off sometimes, or vice versa to add capacity. The intermediary does not store any user data (only client authorization), but only broadcasts the request.
The mediator thinks how to implement it.
No. 1. Organize a websocket server to which clients connect, receive a request, process it, receive a response, and return the response to the user. nginx for example with the lua module. But there can be many intermediary servers, with a balancer, and there can be only one connection from the client to the intermediary. It is not clear which connection should send which request and how to return responses. There can be many connections from a client to both one mediator server and several
#2 Message Brokers. Regulates balancing between client servers. It is also not clear which instance of the intermediary should take the message from which queue and which user should give it. The response may contain a zip archive file, all prepared responses must be received from the queue, filling the memory of the intermediary, and only after receiving give the answer to the user
№3 TCP connection to an intermediary. It is also not clear how to balance, how to give and authorize client servers
No. 4 Modules for rabbitmq or nginx STOMP RPC - give in one direction, the task for users to receive a processed response from the servers
is there any thoughts?
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question