春雲センチネル

センチネルの紹介:

マイクロサービスの普及に伴い、サービス間の安定性がますます重要になってきています。Sentinel は、トラフィックをエントリ ポイントとして利用し、トラフィック制御、サーキット ブレーカーの劣化、システム負荷保護などのさまざまな側面からサービスの安定性を保護します。

Sentinel は 2 つの部分に分かれています。

コア ライブラリ (Java クライアント: フレームワーク/ライブラリに依存せず、すべての Java ランタイム環境で実行でき、Dubbo / Spring Cloud およびその他のフレームワークも適切にサポートします。 コントロール (ダッシュボード: Spring Boot に基づいて開発され、直接実行可能)
パッケージ化 実行するには、Tomcat などの追加のアプリケーション コンテナーは必要ありません。

センチネルとヒストリックスの比較

関数 センチネル ヒストリックス
隔離ポリシー 同時実行性に基づく スレッドプール分離/セマフォ分離
サーキットブレーカーのダウングレード戦略 応答時間または故障率に基づく 故障率に基づく
リアルタイムインジケーターの実装 スライドウィンドウ スライディング ウィンドウ (RxJava ベース)
ルール設定 複数のデータソースをサポート 複数のデータソースをサポート
スケーラビリティ 複数の拡張ポイント プラグインフォーム
注釈ベースのサポート 近日公開 サポート
通話リンク情報 同期呼び出しのサポート サポートしません
制限する QPS/同時実行に基づいて、呼び出し関係に基づいた電流制限をサポート サポートしません
トラフィックシェーピング スロースタート、速度スタビライザーモードをサポート サポートしません
システム負荷保護 サポート サポートしません
リアルタイム監視API すべての種類 比較的単純な
コンソール すぐに使用できるルールの設定、第 2 レベルの監視、マシン検出などの表示を行うことができます。 不完全
共通フレームワークへの適応 サーブレット、Spring Cloud、Dubbo、gRPC など サーブレット、Spring Cloud Netflix

Sentinel コンソールのインストール

ダウンロードアドレス:https://github.com/alibaba/Sentinel/releases
インストール環境:java1.8
起動コマンド

java -Dserver.port=8858-Dcsp.sentinel.dashboard.server=localhost:8858 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar

GitHub のダウンロード速度が遅いため、代わりに Docker コンテナのインストールが使用されました

docker pull bladex/sentinel-dashboard
docker run -d -p 8858:8858  -name sentinel  bladex/sentinel-dashboard

docker ps を使用してコンテナが実行されているかどうかを確認します。
デフォルトのアドレス localhost:8858 を開きます。 コントロール ページに入ります。

ここに画像の説明を挿入
ポート 8858 にアクセスして、Sentinel バックエンド管理インターフェイスにアクセスします。アカウントとパスワードは両方とも監視対象です。
ここに画像の説明を挿入

nocs と組み合わせて使用​​する

サービスを作成し、pom ファイルに依存関係を導入します。

 <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

yml設定ファイル

server:
  port: 8099
spring:
  application:
    name: a-server
    #ncaos地址
  cloud:
    nacos:
      discovery:
        server-addr: 39.105.151.241:8848
    #sentinel地址
    sentinel:
      transport:
        dashboard: 39.105.151.241:8858
        #微服务所在服务器ip sentinel监控程序 根据client-ip+port端口拉取信息
        client-ip:localhsot
       #微服务节点,sentinel服务会主动拉取该端口数据
        port:8719
        

スタートアップクラス

@SpringBootApplication
@EnableDiscoveryClient
public class Application {
    
    

    public static void main(String[] args) {
    
    
        SpringApplication.run(Application.class, args);
    }
}

プロジェクトを開始し、localhost:8858 を開いて
ここに画像の説明を挿入
監視ステータスを表示します。

注: クラウド ホスト サーバーを使用する場合は、マイクロサービス jar をクラウド サーバーにデプロイする必要があります。その後、センチネルはマイクロサービスの監視データをアクティブに取得します。マイクロサービスがローカル 風にある場合、センチネルはクラウド サーバー上にあります。 Winds 上のマイクロサービスにアクセスできません。クラスター ポイント リンクの下にマイクロサービス リソース パスが見つかりません

おすすめ

転載: blog.csdn.net/qq_46645840/article/details/128934800