■ Contents
x
Hand-Picked Ciphers and Perfect Forward Security �����������������������������������������������������������������104
Protocol Support for TLS �����������������������������������������������������������������������������������������������������������106
Learning Details ������������������������������������������������������������������������������������������������������������������������107
Summary ����������������������������������������������������������������������������������������������������������������������������������� 113
■ Chapter 7: Server Architecture ��������������������������������������������������������������������������������������115
A Few Words About Deployment �����������������������������������������������������������������������������������������������115
A Simple Protocol ����������������������������������������������������������������������������������������������������������������������117
A Single-Threaded Server ���������������������������������������������������������������������������������������������������������120
Threaded and Multiprocess Servers �����������������������������������������������������������������������������������������123
The Legacy SocketServer Framework ��������������������������������������������������������������������������������������������������������������� 124
Async Servers ���������������������������������������������������������������������������������������������������������������������������125
Callback-Style asyncio �������������������������������������������������������������������������������������������������������������������������������������� 128
Coroutine-Style asyncio ������������������������������������������������������������������������������������������������������������������������������������� 130
The Legacy Module asyncore ���������������������������������������������������������������������������������������������������������������������������� 131
The Best of Both Worlds ������������������������������������������������������������������������������������������������������������������������������������ 133
Running Under inetd ������������������������������������������������������������������������������������������������������������������133
Summary ����������������������������������������������������������������������������������������������������������������������������������� 135
■ Chapter 8: Caches and Message Queues �����������������������������������������������������������������������137
Using Memcached ���������������������������������������������������������������������������������������������������������������������137
Hashing and Sharding ���������������������������������������������������������������������������������������������������������������140
Message Queues �����������������������������������������������������������������������������������������������������������������������142
Using Message Queues from Python ����������������������������������������������������������������������������������������������������������������� 144