You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now, at Netflix, we run a memcached process as our L1 cache that listens on a unix domain socket. This made it inaccessible to our stats gathering tools, so we created a very small and simple tcp <=> unix domain socket proxy to be able to speak just to L1. This also helps in debugging as we can see if L1 has a specific key or not. We also ran this proxy configured to connect another port to the L2 process directly.
More recently we merged the open source rend process with our internal L2 server to reduce the overhead of syscalls between the two[1]. In doing so, we lost the ability to directly query the L2 component of the system, meaning we can no longer simply ask L2 if it has a key without going through the standard front door. This has reduced our ability to gain runtime insight about what keys are where.
This issue is to simply create a new listen port in memproxy.go that will provide the ability to speak only to L2. Naturally, this port should only be available if --l2-enabled is set, and the options for it will be ignored otherwise. It will need a port option, --l2-direct-port. There may be others needed as well.
[1] This means our internal code is using rend as a set of libraries and not using the default main, not that we are developing rend on a closed-source fork.
The text was updated successfully, but these errors were encountered:
Right now, at Netflix, we run a memcached process as our L1 cache that listens on a unix domain socket. This made it inaccessible to our stats gathering tools, so we created a very small and simple tcp <=> unix domain socket proxy to be able to speak just to L1. This also helps in debugging as we can see if L1 has a specific key or not. We also ran this proxy configured to connect another port to the L2 process directly.
More recently we merged the open source rend process with our internal L2 server to reduce the overhead of syscalls between the two[1]. In doing so, we lost the ability to directly query the L2 component of the system, meaning we can no longer simply ask L2 if it has a key without going through the standard front door. This has reduced our ability to gain runtime insight about what keys are where.
This issue is to simply create a new listen port in
memproxy.go
that will provide the ability to speak only to L2. Naturally, this port should only be available if--l2-enabled
is set, and the options for it will be ignored otherwise. It will need a port option,--l2-direct-port
. There may be others needed as well.[1] This means our internal code is using rend as a set of libraries and not using the default main, not that we are developing rend on a closed-source fork.
The text was updated successfully, but these errors were encountered: