Strimzi: Kubernetes Operator for Apache Kafka と導入過程についてJune 29, 2021Background 先日、過去六ヶ月近く携わっていた Apache Kafka のプラットフォーム移行プロジェ クトが完遂した。それまでは Confluent Cloud というマネージドサービスを使っていたのだが、Amazon EKS 上に構築した k8s クラスターに、Strimzi を利用して Kafka クラ…
Equal SRE On-call 24h RotationJune 26, 2021Background 自分の所属している Cookpad UK Global SRE チームでは、Primary On-call を一人あたり 24h 体制で回している。 つい先日までは、だいたい 4 人から 5 人体制で回していた。ロテーションは純粋なラウンドロビン形式。言い換えると、5 日に一回担当日が回ってくる…
Amazon RDS Aurora MySQL Failover と Rails Connection Pool についてJanuary 23, 2021Amazon RDS Aurora MySQL Failover 時に発生するダウンタイムと、 Rails Connection Pool の組み合わせで発生するアプリケーションエラーの概要、およびその解決手法について考えてみる。 Aurora MySQL Replication Strategy Amazon RD…
pt-online-schema-change の内部挙動と --alter-foreign-keys-method の drop_swap フォールバック問題January 14, 2021https://www.percona.com/doc/percona-toolkit/3.0/pt-online-schema-change.html pt-online-schema-change(以下:pt-osc)とは、MySQL においてオンラインでスキーマ変更を可能にするツールであり、 Percona T…
Perl や Python における標準ライブラリの IO BufferingJanuary 12, 2021先日、pt-deadlock-logger を用いて Deadlock Events のログシステムを構築していた際に、明らかに Database への接続に成功しているのに、なぜか Deadlock Events が STDOUT に表示されない(実際には遅延している)、という現象にあたった。 それも、docker…
MySQL InnoDB Record LockJanuary 12, 2021先日 InnoDB Record Lock による Deadlock と見受けられる事象にあたって調査することになった。その際に整理した InnoDB の Index Tree および Record Lock の挙動・実装をここにまとめる。 How InnoDB stores Index まずは InnoDB が I…