LoginSignup
0
2

More than 3 years have passed since last update.

AlibabaのオープンソースSentinel Javaフロー制御プロジェクトとHystrixの比較

Posted at

本記事シリーズでは、AlibabaのオープンソースのSentinel JavaフローコントロールプロジェクトをHystrixと比較しながらご紹介します。

ハイストリックスはここ数年でかなり人気がありました。現在はメンテナンスモードに入っているため、多くの人が代替案を探しています。この記事では、オープンソースのJavaフローコントロールプロジェクトであるSentinelを紹介します。より多くの人に親しまれているHystrixと比較しながら紹介します。このパートでは、この2つをより高いレベルで比較します。次回は、いくつかのコード例を見てみましょう。

image.png

Sentinelとは?

簡単に言えば、サーキットブレーカーです。サーキットブレーカーは、特定のリソースが故障し続けたときに起動されます。すでに故障しているリソースを叩き続けるのではなく、 サーキットブレーカはリクエストを傍受して故障信号を返します。これは、すべてのサーキットブレーカーのパターンと似ているように聞こえます。しかし、Sentinelは、フローシェーピング、過負荷保護、フォールトトレランスなど、より多くの選択肢を提供します。

Sentinelの歴史

  • 2012: アリババのフロー制御コンポーネントとしてSentinelがスタート
  • 2013年~2017年: マイクロサービスの飛躍的な成長に伴い、信頼性への挑戦が訪れる。Sentinelはあっという間にカスケードする災害を防ぐツールへと成長する。
  • 2018: Sentinelはアリババによってオープンソース化される。

Sentinelは何のためにあるのか?

image.png

  • Sentialには、フロー制御を処理するための多くのオプションが用意されています。ユーザーは、QPS、スレッドプール数、システム負荷に基づいてトラフィックを形成することができ、また、コマンドを直接使用してトラフィックを停止したり、コールドスタートを実行したりすることもできます。また、ユーザーは異なるルールを組み合わせて使用することもできます。Hystrixは、包括的なトラフィックシェーピングを提供していません。

image.png

  • Sentinalは、フォールトアイソレーションとサーキットブレーキングを提供しています。これはHystrixに似ています。しかし、それらのアプローチは異なっています。
  • Sentinalはリアルタイム監視を提供します。また、分散システムからの情報を集約するダッシュボードも提供します。

image.png

SentinelとHystrixの違いは?

この2つの主な違いは、分離をどのように実現するかにあります。Hystrixは通常、バルクヘッドパターンを使用して依存関係を分離します。Hystrixは、それぞれの依存関係を別々のスレッドプールに置きます。この方法の主な利点は、クリーンカットを提供することです。欠点は、主にスレッドプール管理に発生するオーバーヘッドです。

一方、Sentinelは、各依存関係に対してカウンタを使用します。そうすることで、スレッドプール管理のオーバーヘッドを節約できるだけでなく、ユーザにより多くのコントロールを与えることができます。ユーザーは、フローの劣化の粒度を決めることができるようになりました。

この表は、設計と実装におけるHystrixとSentinelの違いの詳細を示しています。

image.png

これは少し圧倒されているように見えるかもしれません。しかし、ユーザーはユーザーエクスペリエンスの観点からはあまり違いに気づかないでしょう。

エコシステム

Sentinalはクラウドネイティブ環境に適しています。他の一般的なクラウドネイティブソリューションと統合することができます。その一つがSpring Cloudです。また、中国で人気のあるJava分散フレームワークにはDubboがあります。Sentinalは、IstioやEnvoyなどのサービスメッシュソリューションと並べて動作することもできます。

参考文献

Sentinal はまもなく Spring Boot フレームワークの一部としてリリースされる予定です。詳細については、彼らのGitHubレポを参照してください。

アリババクラウドは日本に2つのデータセンターを有し、世界で60を超えるアベラビリティーゾーンを有するアジア太平洋地域No.1(2019ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
アリババクラウドジャパン公式ページ

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2