We aim to design a network component called mcrouter
, a memcache router
that routes client requests among two or more memcached instances. Clients to
mcrouter
can come and go, but mcrouter
maintains stable connections to the
memcache
instances, which are shared by requests from multiple clients.
In this breakout, we want you to design mcrouter
.
- How is
mcrouter
acting like a client and/or a server? - How do you propose to handle multiple connections? What combination of
threads,
select
,epoll
, etc.?