nakochi’s log

freeeのエンジニア。たまにモデル。

キープアライブとハートビート。

[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

駆け出しエンジニアがオススメされがちな本。読んでいる最中に斜め読みが始まるとわからなくなっている証拠なので単語の意味を調べながらゆっくりやっていきます。

駆け出しエンジニアはprogateとかやってるみたいだけど、わたしは違うことをやろうと思っています。

自作キーボードでタイピングするの未だ慣れないなあ。

キープアライブ

キープアライブとは、ネットワーク上で接続が有効であることを確認したり、無通信により切断されるのを防ぐために定期的に短い通信を行うこと。また、そのために送受信される、実質的な伝達内容の無い特殊なパケットなどのこと。

コンピュータや通信機器、あるいは内部のソフトウェアなどの中には、一対一で特定の相手と通信する際、無通信の時間が長く続くと自動的に接続(セッション)を終了したり、あるいは相手から切断されたと判断して再接続動作を試みるものがある。

このような事態を避けるため、一定時間ごとに接続を維持するためだけの無内容なパケットなどを送信し続ける仕組みをキープアライブという。機器やソフトウェアなどの機能として提供される場合と、HTTPやTCPのようにプロトコルの仕様として定義されている場合がある。

ハートビート

相手が正常に動作しているかどうかを確認し続ける死活監視(コンピュータやシステムが動作しているかどうか外部から継続的に調べること)のために定期的に短い信号を送り応答を調べる仕組みを「ハートビート」(heartbeat)という。

一定時間着信が途絶えると、相手側に何らかの障害が生じたと判断し、管理者への警報や待機系への切り替えなど準備された対応を実行する。監視する側と監視される側が固定されている場合と、対等な関係の機器同士が相互に互いを監視しあう場合がある。

この仕組みは様々な分野で用いられるが、特に、複数のコンピュータを束ねて外部から一台のように振る舞わせる「クラスタリング」(clustering)において、参加するコンピュータ(ノード)間でお互いが正常に動作しているか監視する機構としてよく用いられる。

まとめ

セッションが途切れていないかどうかを確認するのがキープアライブ。

正常に動いているかを確認するのがハートビート。