タグ

2021年10月16日のブックマーク (2件)

  • KafkaのLog Compaction - 烏滑稽

    KafkaにはLog Compactionという機能があります。バージョン0.8.1から導入されました。 このLog Compaction、かなりとっつきづらい機能なんじゃないかと思っています。Kafkaドキュメントのこのセクションhttps://kafka.apache.org/documentation/#compaction、ついつい読み飛ばしてしまうんじゃないでしょうか。 知らなくても普通のユースケースなら使わなそうですし。 しかしこいつ、ユースケースによっては使ってみるとなかなか便利なシロモノです。 細かい挙動とかも公式ドキュメントを確認しつつ自分の理解を書いていこうかと思います。*1 Log Compactionとはなにか 状態を持つデータ 実際のシステムで考える compactモード compactionはいつどうやって起こる?どのデータが対象になる? Log Compact

    KafkaのLog Compaction - 烏滑稽
  • ptrace より 100 倍速いシステムコールフック作った - かーねるさんとか

    新しい高性能で汎用的なシステムコールフックの仕組みを作ってみました。 モチベーションとして、システムコールをフックしてユーザー空間でエミュレートしたくなったのですが、現状、性能と汎用性を両立する仕組みがなさそうだったので、新しい方法を考えました。 今回のシステムコールフックの仕組みは以下のような特徴があります。 ptrace より 100 倍以上高速 LD_PRELOAD や既存のバイナリ書き換えツールより確実 カーネルへの変更なし、かつカーネルモジュールを使わない プログラムのソースコード、プログラムの再コンパイル不要 eBPF でトレーシングをしているけれど、できれば制約が少ないユーザー空間でトレーシングツールを作りたい。もしくは、gVisor のようなサンドボックスを作りたいけれど、ptrace による性能劣化が大きいので、他の高速なシステムコールフックの仕組みが使いたい、というよう

    ptrace より 100 倍速いシステムコールフック作った - かーねるさんとか