Consul

#hashicorp #distributed-systems #service-mesh

HashiCorpが開発するサービスディスカバリ・ヘルスチェック・KVストア・サービスメッシュを提供する分散システム。

アーキテクチャ

  • ノードはクライアントエージェントとサーバーエージェントに分かれる。クライアントはリクエストをサーバーへ転送するのみで、状態を持つのはサーバー側。
  • サーバーエージェント間の状態変更(サービスカタログ・KVストアなど)はRaft合意アルゴリズムを通じて複製され、一貫性を保つ。
  • クラスタのメンバーシップ管理(ノードの生死判定など)にはSerfというgossipベースのプロトコルを使う。Raftによる強い一貫性のレイヤーとは別に、ゆるいメンバーシップ管理のレイヤーが分離されている。

サービスメッシュ

Consul Connectモードでは各サービスにサイドカープロキシ(典型的にはEnvoy)を配置し、mTLSでトラフィックを暗号化する。どのサービス同士が通信を許可されるかは「intention」という単位で定義する。

ライセンス変遷

2023年8月にHashiCorpの全製品がMPL 2.0からBUSL 1.1へ変更された際、Consulも対象になった。詳細はBSLを参照。

HashiCorp製品群の中での位置づけ

NomadはサービスネットワーキングをConsulに委譲する設計になっており、両者は組み合わせて使われることが多い。

出典

作成日時: 2026-08-14 11:36 / 更新日時: 2026-08-14 11:43