TCP puzzlers
http://dtrace.org/blogs/dap/2016/08/18/tcp-puzzlers/
- happy path
- server power restart -> client believes it listen the socket. Send -> ECONNRESET.
- server power shut down -> client listen the socket. Send -> ok, in 5 min -> ETIMEDOUT (no ack for 5 min)
- server doesn’t send “FIN” -> FIN_WAIT_2 hangs 1 min, CLOSE_WAIT hangs forever. One side closed connection, second side didn’t close it
- Two separate state machines
- A lot of time_wait (потому что сервер обрабатывает кучу запросов в секунду, и должен висеть 60 сек, прежде чем закроет коннекты из time_wait: 1000 rps -> 60K висящих time_wait за минуту
- Упираемся в доступные порты достаточно быстро (20к по дефолту?)
Kubernetes Namespace
http://blog.kubernetes.io/2016/08/kubernetes-namespaces-use-cases-insights.html
- Use-case #1: Roles and Responsibilities (admin + designer/architect)
- Use-case #2: Using Namespaces to partition development landscapes. DevOps move dev -> qa -> prod. Fully isolated: services, pods, all the resources.
- Use-case #3: Partitioning of your Customers
- Not to use: not fully isolated to read
- problems: no templates (Borg paper), no ttl