<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style>
</head>
<body><div>On Wed, 5 Sep 2018, at 15:19, Frank Muller wrote:<br></div>
<div>> Hi guys<br></div>
<div>><br></div>
<div>> Would like to hear from your experience(s) on using Erlang with TLS/SSL.<br></div>
<div>> The default Erlang stack doesn't perform well, Google says.<br></div>
<div>><br></div>
<div>> Does anyone use Erlang in production behind:<br></div>
<div>><br></div>
<div>> . Hitch: https://hitch-tls.org/<br></div>
<div>> . Envoy: https://www.envoyproxy.io/<br></div>
<div>> . HAProxy: http://www.haproxy.org/<br></div>
<div>> . ???<br></div>
<div><br></div>
<div>I’ve used haproxy to great effect handling all those messy acme/let’s encrypt renewals and load balancing connections across multiple servers for plain https, rabbitmq and socketio traffic. Roughly 50-80k https txns in and out per hour. The major win was matching up ibrowse connection settings with http1.1 pipelined connections to a 3rd party API. I think ferd’s tuning is a very similar outcome.<br></div>
<div><br></div>
<div>the most important things in hindsight were<br></div>
<div><br></div>
<div>- getting pipelining working to reuse TLS connections</div>
<div>- observabilty<br></div>
<div>- good logging<br></div>
<div>- predictable failure modes<br></div>
<div><br></div>
<div>I moved all services including DB and message brokers behind haproxy for these reasons.<br></div>
<div><br></div>
<div>You should look very carefully at service discovery, and http2 support, in all of the situations you intend to proxy, not all of these projects have the same level of support.</div>
<div><br></div>
<div>Developing your own heroku style LB would be interest g for a bigger organisation I think I needed something I could forget about.<br></div>
<div><br></div>
<div>A+<br></div>
<div>Dave</div>
<div id="sig20903217"><div class="signature"><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
<div><br></div>
</div>
<div><br></div>
</body>
</html>