<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ops Insights – Valkey</title><link>https://docs.makgol.com/valkey/</link><description>Recent content in Valkey on Ops Insights</description><generator>Hugo -- gohugo.io</generator><language>ko-KR</language><copyright>© 2026 Mont</copyright><lastBuildDate>Thu, 06 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://docs.makgol.com/valkey/index.xml" rel="self" type="application/rss+xml"/><item><title>2,000노드 Valkey — 무엇이 먼저 부러지는가</title><link>https://docs.makgol.com/valkey/cluster-xl-scale/01-%EB%B6%80%EB%9F%AC%EC%A7%80%EB%8A%94-%EA%B2%83/</link><pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate><guid>https://docs.makgol.com/valkey/cluster-xl-scale/01-%EB%B6%80%EB%9F%AC%EC%A7%80%EB%8A%94-%EA%B2%83/</guid><description>
&lt;h1&gt;01 · 2,000노드 Valkey — 무엇이 먼저 부러지고, 그중 무엇이 Kubernetes로 넘어오는가&lt;/h1&gt;&lt;div class="hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200"&gt;
&lt;div class="hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2"&gt;&lt;svg height=1.2em class="hx:inline-block hx:align-middle" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"&gt;&lt;path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;div class="hx:w-full hx:min-w-0 hx:leading-7"&gt;
&lt;div class="hx:mt-6 hx:leading-7 hx:first:mt-0"&gt;&lt;ul&gt;
&lt;li&gt;간판 수치는 Kubernetes에서 잰 게 아닙니다. 2,000노드·1B RPS의 서면판인 &lt;a href="https://valkey.io/blog/1-billion-rps/"target="_blank" rel="noopener"&gt;valkey.io 블로그&lt;/a&gt; 원문에 Kubernetes·pod·StatefulSet·container가 한 번도 나오지 않고, 실험대는 &lt;code&gt;r7g.2xlarge&lt;/code&gt;(8코어/64GB) 클러스터 + 부하 생성기 &lt;code&gt;c7g.16xlarge&lt;/code&gt; 750대였습니다. 발표 시작 13초에 본인들이 &amp;ldquo;we come from Amazon, which is mostly a &lt;strong&gt;VM based world&lt;/strong&gt;&amp;ldquo;라고 밝힙니다.&lt;/li&gt;
&lt;li&gt;그래도 엔진 수정 4건은 인프라와 무관하게 넘어옵니다. &lt;a href="https://github.com/valkey-io/valkey/pull/654"target="_blank" rel="noopener"&gt;#654&lt;/a&gt;·&lt;a href="https://github.com/valkey-io/valkey/pull/1018"target="_blank" rel="noopener"&gt;#1018&lt;/a&gt;·&lt;a href="https://github.com/valkey-io/valkey/pull/2154"target="_blank" rel="noopener"&gt;#2154&lt;/a&gt;·&lt;a href="https://github.com/valkey-io/valkey/pull/2277"target="_blank" rel="noopener"&gt;#2277&lt;/a&gt;은 배포 방식이 아니라 cluster bus 코드 안에 들어갔습니다. 버전만 맞추면 됩니다. 각각 8.0 / 8.1 / 9.0 / 9.0.&lt;/li&gt;
&lt;li&gt;CPU 100% 그래프를 클러스터 전체로 읽으면 틀립니다. 슬라이드에서 천장에 붙는 계열은 &lt;code&gt;engine_cpu_percent_p99&lt;/code&gt;고 같은 차트의 p90·avg는 한 자릿수입니다(스냅샷 p90 6.2 / avg 5.80). 발표자 노트는 포화 범위를 &amp;ldquo;atleast 5% of the nodes&amp;rdquo;(오타는 원문 그대로)라 적습니다. 하한이지 점추정이 아닙니다. 2,000노드가 전부 탄 게 아니라 최소 100대가 탔다는 뜻이고, 발표는 이 구분을 하지 않습니다.&lt;/li&gt;
&lt;li&gt;Kubernetes 조언 중 실측이 뒷받침하는 건 사실상 하나입니다. CPU limit을 걸지 마라. 나머지(StatefulSet, headless service 부트스트랩, IP 직결, AZ 분산)는 전부 경험칙이고 발표에 수치가 붙지 않습니다.&lt;/li&gt;
&lt;li&gt;operator는 아직 도입 대상이 아닙니다. API가 &lt;code&gt;v1alpha1&lt;/code&gt;이고 README가 &amp;ldquo;not ready for production use&amp;quot;라고 명시하며 scale-out/in에 Valkey 9.0+를 요구합니다. 그런데 &lt;code&gt;spec.shards&lt;/code&gt;는 진짜 최상위 필드라 Q&amp;amp;A의 &amp;ldquo;shard가 first-class&amp;rdquo; 주장 자체는 맞습니다.&lt;/li&gt;
&lt;li&gt;2,000노드에서 먼저 부러지는 건 처리량이 아니라 장애 복구입니다. 정상 상태 gossip 비용은 노드 수에 선형이었고, 터진 곳은 전부 primary를 수백 개씩 한 번에 죽였을 때의 재접속(415~455 kill)·failure report(499 kill)·투표 경로였습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;왜 이 문서인가. 발표 제목은 &lt;em&gt;Kubernetes at XL Scale&lt;/em&gt;인데 간판 수치인 2,000노드 / 1B RPS는 EC2에서 나왔습니다. 그래서 이 문서는 발표가 증명한 것(엔진 한계와 그 수정)과 조언에 그친 것(Kubernetes 배치·리소스)을 나눠 놓고, 그중 무엇이 Kubernetes로 전이되는지만 남깁니다. 검증 기준은 발표 전사(942줄), 발표자 노트가 붙은 슬라이드 원본 54장, valkey.io 블로그, 업스트림 PR 4건, &lt;code&gt;valkey.conf&lt;/code&gt; unstable 브랜치입니다.&lt;/p&gt;</description></item><item><title>Redis 581샤드를 무중단으로 Kubernetes에 올리기</title><link>https://docs.makgol.com/valkey/braze-k8s-migration/01-%EB%AC%B4%EC%A4%91%EB%8B%A8-%EC%9D%B4%EA%B4%80/</link><pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate><guid>https://docs.makgol.com/valkey/braze-k8s-migration/01-%EB%AC%B4%EC%A4%91%EB%8B%A8-%EC%9D%B4%EA%B4%80/</guid><description>
&lt;h1&gt;01 · Redis 581샤드를 무중단으로 Kubernetes에 올리기 — 그리고 90%라는 숫자의 진실&lt;/h1&gt;&lt;div class="hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200"&gt;
&lt;div class="hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2"&gt;&lt;svg height=1.2em class="hx:inline-block hx:align-middle" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"&gt;&lt;path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;div class="hx:w-full hx:min-w-0 hx:leading-7"&gt;
&lt;div class="hx:mt-6 hx:leading-7 hx:first:mt-0"&gt;&lt;p&gt;&lt;strong&gt;한눈에&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>부록 · 발표 전사 — Braze Redis→Valkey</title><link>https://docs.makgol.com/valkey/braze-k8s-migration/02-%EB%B0%9C%ED%91%9C-%EC%A0%84%EC%82%AC/</link><pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate><guid>https://docs.makgol.com/valkey/braze-k8s-migration/02-%EB%B0%9C%ED%91%9C-%EC%A0%84%EC%82%AC/</guid><description>
&lt;h1&gt;02 · 발표 전사 — Redis on EC2 to Valkey on Kubernetes: A Zero-Downtime Case Study&lt;/h1&gt;&lt;div class="hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200"&gt;
&lt;div class="hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2"&gt;&lt;svg height=1.2em class="hx:inline-block hx:align-middle" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"&gt;&lt;path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;div class="hx:w-full hx:min-w-0 hx:leading-7"&gt;
&lt;div class="hx:mt-6 hx:leading-7 hx:first:mt-0"&gt;&lt;p&gt;이 문서는 KubeCon + CloudNativeCon Europe 2026 발표 &lt;em&gt;Redis on EC2 to Valkey on Kubernetes: A Zero-Downtime Case Study&lt;/em&gt;(Joe Heyburn, Braze)의 &lt;strong&gt;전사 정리본&lt;/strong&gt;입니다. YouTube 자동 자막(타임스탬프 714줄)을 원본으로 삼되 발표자 본인의 슬라이드 덱과 대조해 오인식을 교정했습니다 — Joe Hayburn/Joe Haben→&lt;strong&gt;Joe Heyburn&lt;/strong&gt;(핸들 &lt;code&gt;@jdheyburn&lt;/code&gt;), &amp;ldquo;psychic shard&amp;rdquo;→&lt;strong&gt;Sidekiq&lt;/strong&gt; shard, &amp;ldquo;a free phase approach&amp;rdquo;→&lt;strong&gt;three-phase&lt;/strong&gt; approach, &amp;ldquo;no network load balancer&amp;rdquo;→&lt;strong&gt;an NLB&lt;/strong&gt;, &amp;ldquo;at Redis, we use AZ affinity&amp;rdquo;→&lt;strong&gt;at Braze&lt;/strong&gt;, &amp;ldquo;31,000&amp;rdquo;→nodePort &lt;strong&gt;31000&lt;/strong&gt;, &amp;ldquo;custom resharding&amp;rdquo;→&lt;strong&gt;Cluster resharding&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>부록 · 발표 전사 — Scaling Valkey</title><link>https://docs.makgol.com/valkey/cluster-xl-scale/02-%EB%B0%9C%ED%91%9C-%EC%A0%84%EC%82%AC/</link><pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate><guid>https://docs.makgol.com/valkey/cluster-xl-scale/02-%EB%B0%9C%ED%91%9C-%EC%A0%84%EC%82%AC/</guid><description>
&lt;h1&gt;02 · 발표 전사 — Scaling Valkey the Right Way: Kubernetes at XL Scale&lt;/h1&gt;&lt;div class="hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200"&gt;
&lt;div class="hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2"&gt;&lt;svg height=1.2em class="hx:inline-block hx:align-middle" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"&gt;&lt;path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;div class="hx:w-full hx:min-w-0 hx:leading-7"&gt;
&lt;div class="hx:mt-6 hx:leading-7 hx:first:mt-0"&gt;&lt;p&gt;이 문서는 KubeCon + CloudNativeCon Europe 2026 발표 &lt;em&gt;Scaling Valkey the Right Way: Kubernetes at XL Scale&lt;/em&gt;(Sarthak Aggarwal · Madelyn Olson, AWS ElastiCache)의 &lt;strong&gt;전사 정리본&lt;/strong&gt;입니다. YouTube 자동 자막(타임스탬프 942줄)을 원본으로 삼되 발표자 본인의 슬라이드 덱과 대조해 오인식을 교정했습니다. Valkyrie→Valkey, Madeline/Merlin/Marlin→Madelyn, &amp;ldquo;as a stateless set&amp;rdquo;→StatefulSet, &amp;ldquo;something like that, CD&amp;rdquo;→etcd, &amp;ldquo;16,000 슬롯&amp;rdquo;→16384, &amp;ldquo;REST protocol&amp;rdquo;→RESP, &amp;ldquo;Bin Bin&amp;rdquo;→Binbin.&lt;/p&gt;</description></item><item><title>두 갈래 — 같은 방, 15분 간격, 정반대 아키텍처</title><link>https://docs.makgol.com/valkey/00-%EB%91%90-%EA%B0%88%EB%9E%98/</link><pubDate>Thu, 06 Aug 2026 00:00:00 +0000</pubDate><guid>https://docs.makgol.com/valkey/00-%EB%91%90-%EA%B0%88%EB%9E%98/</guid><description>
&lt;h1&gt;두 갈래 — 같은 방, 15분 간격, 정반대 아키텍처&lt;/h1&gt;&lt;div class="hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200"&gt;
&lt;div class="hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2"&gt;&lt;svg height=1.2em class="hx:inline-block hx:align-middle" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"&gt;&lt;path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;div class="hx:w-full hx:min-w-0 hx:leading-7"&gt;
&lt;div class="hx:mt-6 hx:leading-7 hx:first:mt-0"&gt;&lt;ul&gt;
&lt;li&gt;두 발표가 말하는 &amp;ldquo;Valkey 스케일링&amp;quot;은 같은 물건이 아닙니다. ①은 슬롯 16384개를 서버가 나눠 갖는 단일 클러스터 1개, ②는 서로를 모르는 Sentinel HA 샤드 581개입니다. 샤딩을 누가 하느냐부터 다릅니다 — 서버냐 클라이언트냐.&lt;/li&gt;
&lt;li&gt;Kubernetes 프로덕션 증거는 ②에만 있습니다. ①의 간판 수치 2,000노드 / 1B RPS는 EC2에서 &lt;code&gt;taskset&lt;/code&gt;·&lt;code&gt;ethtool&lt;/code&gt;로 손튜닝한 벤치마크고 ②의 36M ops/sec · 6.6TiB는 2년째 돌아가는 클러스터의 실측입니다.&lt;/li&gt;
&lt;li&gt;그래서 나누는 방식은 하나입니다 — 엔진 사실은 ①에서, 운영 사실은 ②에서 가져옵니다. 반대로 섞으면 둘 다 틀린 근거가 됩니다.&lt;/li&gt;
&lt;li&gt;Braze가 cluster mode를 피한 이유를 발표는 말하지 않습니다. 확인되는 건 Redis 시절 클라이언트 해싱을 그대로 물려받았다는 것뿐이고 &amp;ldquo;blast radius 격리 때문&amp;quot;은 이 문서의 추론입니다. 아래에서 구분해 적습니다.&lt;/li&gt;
&lt;li&gt;우리가 먼저 만나는 문제는 ②의 것입니다. 2,000노드 천장은 대부분에게 오지 않지만 파드가 롤될 때 IP가 바뀌는 문제는 첫 배포 다음 날 옵니다.&lt;/li&gt;
&lt;li&gt;둘이 합의하는 것도 있습니다 — AZ affinity는 지연과 비용 양쪽에 걸리고 valkey-operator는 같은 미래이며 오늘은 아직 아닙니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;왜 이 문서인가.&lt;/strong&gt; KubeCon EU 2026 Hall 8 | Room E에서 두 발표가 15분 간격으로 이어졌습니다. 둘 다 &amp;ldquo;Valkey를 크게 굴리는 법&amp;quot;을 말했지만 거의 모든 지점에서 어긋납니다. 이 문서는 그 어긋남을 정리해 어느 질문에 어느 챕터를 펴야 하는지만 정합니다. 두 챕터를 요약하지 않습니다 — 요약은 각 챕터가 합니다.&lt;/p&gt;</description></item></channel></rss>