SpringCloudはちょうど使える3つの負荷バランスを学びました。

9065 ワード

SpringCloudはちょうど使える3つの負荷バランスを学びました。
記事の目次
  • SpringCloudはちょうど使える3つの負荷バランスribon
  • を学びました。
  • 総覧
  • 概要
  • 準備内容
  • eureka
  • 個のサービス名が同じサービス
  • です。
  • ribbonサービス
  • 主要ステップ
  • 関連パッケージの導入:spring-cloud-starter-netflix-ribon
  • 設定ファイル、ポート8764、appration.name:service-ribon
  • を変更します。
  • 追加起動類のコメントを修正します。EnbaleDiscoveryClient
  • @LoadBalanced Restit Templateを追加して、下に具体的なコードがあります。
  • ****一つの要求を書いて、SERVERR-HIという名前のサービスを呼び出します。
  • 上記ステップのキーコードと画像
  • テスト
  • 主要ステップ
  • eureka、hiサービス1、hiサービス2、ribbonサービス
  • を実行します。
  • eurekaパネルを開けてサービス数を見る
  • アクセスhttp://localhost:8764/hi?name=lizhao
  • 上記ステップのキーコードと画像
  • 総括
  • 広告時間
  • 総覧
    spring cloud関連技術スタックは現在、インターネット会社の普及率が高くなりました。今回の面接に行くと、基本的な面接官はこの部分に言及していますが、実際に接触したことがありますか?残念ながら頭を振るしかないです。ここで学習過程を記録して、いくつかの経験を書いて、参考にしてください。このシリーズは浅い部分しか書かれていません。興味があれば、「このシリーズ」を見ることができます。皆さんに方向を教えます。
    Spring Cloudに基づくGreen wich.SR 1,Jdk 11,Maven,Idea開発
    概要
    Spring Cloud Ribronは、Netflix Ribbonに基づいて、HTTPとTCPに基づくクライアント負荷バランスツールである。Spring Cloudのパッケージによって、サービスに向けたRESTテンプレート要求を自動的にクライアント負荷のバランスのとれたサービスコールに変換することができます。Spring Cloud Ribbonは、サービス登録センター、配置センター、APIゲートウェイのように独立した配置が必要ではないが、Spring Cloudごとに構築されたマイクロサービスとインフラにほとんど存在しています。マイクロサービス間の呼び出し、APIゲートウェイの要求転送などの内容は、実際にはRibbonによって実現されています。今後紹介するFeignを含め、Ribbonに基づいて実現されるツールです。したがって、Spring Cloud Ribbonの理解と使用は、我々がSpring Cloudを使用してマイクロサービスを構築するために非常に重要である。
    graph LR
    Client-->A
    A(    )-->ServiceB1
    A-->ServiceB2
    A-->ServiceB3
    
                                    ,            。              、                     。                      ,                 。                               ,  F5 ;                                           ,  Nginx 。                  ,                      :
    
           
                                                  ,                                     。                  ,        (      、     、      )                      ,      。                                               。         ,                      ,                  ,          Eureka   。             ,                          ,                Ribbon       ,  Eureka  org.springframework.cloud.netflix.ribbon.eureka.RibbonEurekaAutoConfiguration,Consul  org.springframework.cloud.consul.discovery.RibbonConsulAutoConfiguration。        ,               ,                     。          Spring Cloud Ribbon   ,                        ,       :        ▪️                                        。        ▪️            @LoadBalanced      RestTemplate            。          ,                                  。
    
    
    準備内容
  • eureka
  • 個のサービス名が同じサービス(ここでは前編のプロ2-eureka-testプロジェクトを直接コピーできます。全部SERVER-HIといいます。)
  • ribbonサービス
  • eureka
    多く言わないで、1編気に入って、直接持ってきて使います。
    2つのサービス名が同じサービスです。
    pro 002-eureka-testプロジェクトをコピーして、ポートを変えて8763です。
    これはappication.ymlです。
    eureka:
      client:
        serviceUrl:
          defaultZone: http://localhost:8761/eureka/
    server:
      port: 8763
    spring:
      application:
        name: service-hi
    
    サービス
    主なステップ
    関連パッケージの導入:spring-cloud-starter-netflix-ribon
    プロファイル、ポート8764、appration.name:service-ribonを変更します。
    ブートクラスを追加するコメントを修正します。EnbleDiscoveryClient
    @LoadBalanced Restit Templateを追加して、下に具体的なコードがあります。
    要求を書いて、SERVERR-HIという名前のサービスを呼び出すhi方法。
    上記ステップのキーコードと画像
  • 関連パッケージの導入:spring-cloud-starter-netflix-ribon
  • 
    
      4.0.0
      
        org.springframework.boot
        spring-boot-starter-parent
        2.1.4.RELEASE
         
      
      com.lizhaoblog.scl
      pro003-ribbon
      0.0.1-SNAPSHOT
      pro003-ribbon
      ribbon demo
    
      
        1.8
        Greenwich.SR1
      
    
      
        
          org.springframework.boot
          spring-boot-starter-web
        
        
          org.springframework.cloud
          spring-cloud-starter-netflix-eureka-client
        
        
          org.springframework.cloud
          spring-cloud-starter-netflix-ribbon
        
    
        
          org.springframework.boot
          spring-boot-starter-test
          test
        
      
    
      
        
          
            org.springframework.cloud
            spring-cloud-dependencies
            ${spring-cloud.version}
            pom
            import
          
        
      
    
      
        
          
            org.springframework.boot
            spring-boot-maven-plugin
          
        
      
    
    
    
    
  • 設定ファイル、ポート8764、appration.name:service-ribon
  • を変更します。
    eureka:
      client:
        serviceUrl:
          defaultZone: http://localhost:8761/eureka/
    server:
      port: 8764
    spring:
      application:
        name: service-ribbon
    
    
    
    
  • 追加起動類のコメントを修正します。EnbaleDiscoveryClient
  • package com.lizhaoblog.scl.pro003ribbon;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
    import org.springframework.cloud.client.loadbalancer.LoadBalanced;
    import org.springframework.context.annotation.Bean;
    import org.springframework.web.client.RestTemplate;
    
    @SpringBootApplication
    @EnableDiscoveryClient
    public class Pro003RibbonApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(Pro003RibbonApplication.class, args);
        }
        @Bean
        @LoadBalanced
        RestTemplate restTemplate() {
            return new RestTemplate();
        }
    }
    
    
  • @LoadBalanced Restit Templateを追加して、下に具体的なコードがあります。
    
        @Bean
        @LoadBalanced
        RestTemplate restTemplate() {
            return new RestTemplate();
        }
    
  • は要求を書いて、SERVER-HIという名前のサービスを呼び出すhi方法
  • /*
     * Copyright (C), 2015-2019
     * FileName: HelloController
     * Author:   zhao
     * Date:     2019/4/20 14:41
     * Description:   ribbon
     * History:
     *           
    テスト
    主なステップ
    eureka、hiサービス1、hiサービス2、ribbonサービスを実行します。
    eurekaパネルを開けてサービス数を確認します。
    アクセスhttp://localhost:8764/hi?name=lizhao
    上記ステップのキーコードと画像
  • eureka、hiサービス1、hiサービス2、ribbonサービス
  • を実行します。
  • eurekaパネルを開けてサービス数を見る
  • DS Replicas
    Instances currently registered with Eureka
    Application	AMIs	Availability Zones	Status
    SERVICE-HI	n/a (2)	(2)	UP (2) - localhost:service-hi:8762 , localhost:service-hi:8763
    SERVICE-RIBBON	n/a (1)	(1)	UP (1) - localhost:service-ribbon:8764
    
  • アクセスhttp://localhost:8764/hi?name=lizhao
  • hi lizhao,i am from port:8763
    hi lizhao,i am from port:8762
    hi lizhao,i am from port:8763
    hi lizhao,i am from port:8762
    
    締め括りをつける
    概略概略図では、三つのサービスがeurekaに登録されています。要求が入ったらServiceHIというサービスを探して呼び出します。
    graph LR
    
    A-->|  |Eureka
    ServiceHI1-8762-->|  |Eureka
    ServiceHI2-8763-->|  |Eureka
    
    Client-->A
    A(    Ribbo)-->ServiceHI1-8762
    A-->ServiceHI2-8763
    
    
    
    広告時間
    私は王です。回転が好きな人です。
  • すべてのコードはここにあります。https://gitee.com/lizhaoandroid/spring-cloud-learning
  • 本編に対応するチャプタ:pro 004
  • 私のcsdn:https://lizhao.blog.csdn.net
  • 私の連絡先:Q 30607060
  • 私の公衆番号:lizhaoblogs、王さんの老舗
  • 私の銀行カードとパスワード:***************/