We have a main webservice using several microservices. The main service is called really often (lot of queries) and has been profiled and designed to be blazing fast from code perspective.
If we had 5 microservices behind the main webservice, for each request to the main service, we have 5 sub-requests (1 for each microservice).
For security reasons, we enabled HTTPS for every communications (tls1.2).
Now we note that we add a non negligeable overhead because of the TLS handshake.
Is there a way to have an architecture allowing the reuse of part of the handshakes (or anything else heavy in the https part of the com) for optimizing all the requests?
Maybe something allowing apache or nginx or (...) to keep the connections "open" and reuse them?
PHP curl extension allows something like this, but it is only during the life of your curl handler... I want to reproduce this kind of behaviour but for all (or most of all) the requests coming to the main webservice.
The curl feature I mentioned: http://tokenposts.blogspot.nl/2013/02/php-curl-optimise-speed-reusing-ssl.html