womble está certo sobre o armazenamento de sessão compartilhada, tornando as coisas muito mais fáceis ao redor. Além de sua resposta, posso expandir um pouco nas partes de balanceamento de carga da pergunta:
Why don't there seem to be more examples of setups adding more ssl decoders to deal with increased traffic?
PCs com vários núcleos podem fazer vários milhares de transações SSL por segundo. E se isso se tornar um gargalo, um appliance dedicado da
F5 , da Citrix, da Cisco ou de outros, pode ser ainda mais rápido. Assim, a maioria dos sites nunca supera um bom SSL e & solução de balanceamento de carga.
Assuming that everything I've said is true, these appear to be my options:
Existem opções para escalar a descriptografia SSL horizontalmente, se você precisar disso.
A abordagem comum é usar o DNS Round Robin para pares de aceleradores SSL altamente disponíveis, ou seja, publicar vários endereços IP para o domínio, cada endereço IP apontando para um par de aceleradores SSL.
Nesse caso, você pode se preocupar com o tempo limite do TTL do DNS no meio de uma sessão do usuário, pressionando o usuário para outro servidor de aplicativos. Isso não deveria ser uma ocorrência comum, mas poderia acontecer. Um armazenamento de sessão compartilhada é a solução comum, mas pode ser tratado de outras maneiras.
Como um exemplo, você pode separar a descriptografia SSL do balanceamento do servidor de aplicativos. O processamento de SSL exige mais CPU do que o balanceamento de carga básico, portanto, um único balanceador de carga deve ser capaz de saturar alguns aceleradores de SSL. Assim:
Internet --> DNS round robin to multiple SSL accelerators --> plain HTTP to a single HTTP load balancer --> plain HTTP to multiple application servers
Como mencionado no início, um armazenamento de sessão compartilhada simplifica muitas coisas e é quase certamente uma solução melhor a longo prazo do que colocar muita complexidade em sua camada de balanceamento de carga / SSL.