メッセージバス(春クラウドバス:SpringCloudは、マイクロクラウドインフラストラクチャサービスセクション8を分散しました

春の雲バスが接続された分散軽量メッセージブローカーとノード。これは、放送サービスや変更、構成ファイルとの間の通信に使用することができ、それはまた、監視するために使用することができます。この記事では、春の雲バスとマイクロサービスアーキテクチャのコンフィギュレーションファイルの通知に実装の変更についてです。

まず、準備作業の
紙や記事に基づいて達成します。公式文書によると、我々は唯一のコンフィギュレーション・ファイルspringcloud・スターター・バス・AMQPに設定する必要があります。springcloudアーキテクチャを理解BEGに追加することができます:3536247259、我々はRabbitMQのをインストールする必要があるとその意味、クリックRabbitMQのダウンロード。次のRabbitMQの使用方法については、検索エンジン。

第二に、変換の設定-クライアント
開始依存春-クラウドスターター-BUS-でポンポンファイルで AMQP、 完全なコンフィギュレーション・ファイルを次のように:


<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

RabbitMQのアドレス、ポート、ユーザー名とパスワードを含む構成ファイルapplication.properties、中RabbitMQの構成プラス。そして、3つのspring.cloud.bus構成を追加する必要が、以下のように:


spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest

spring.cloud.bus.enabled=true
spring.cloud.bus.trace.enabled=true
management.endpoints.web.exposure.include=bus-refresh

ConfigClientApplicationスタートアップクラスコードは次のよう:

@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient
@RestController
@RefreshScope
public class ConfigClientApplication {

    /**
     * http://localhost:8881/actuator/bus-refresh
     */

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

    @Value("${foo}")
    String foo;

    @RequestMapping(value = "/hi")
    public String hi(){
        return foo;
    }
}

8881,8882:今度はユーレカ・サーバー、confgファイル・cserverを開始し、2設定クライアント、ポートを起動します。

訪問は、http:// localhostを:8881 / HIまたはhttp:// localhostを:8882 / HIブラウザショー:

fooのバージョン3

その後、我々は、コンフィギュレーション・ファイルfooの値を変更されたfoo「というfooのバージョン4」の値を変更するコードリポジトリにアクセスしてください。それは伝統的な習慣であるならば、我々は構成ファイルを更新達成するためにサービスを再起動する必要があります。:我々は唯一のポストリクエスト送信する必要があり、この時点では、HTTP:// localhostを:8881 /アクチュエータ/バスリフレッシュを、あなたは設定-クライアントを再読み込み、設定ファイルなりますでしょう

メッセージバス(春クラウドバス:SpringCloudは、マイクロクラウドインフラストラクチャサービスセクション8を分散しました

設定ファイルを再読み込み:
メッセージバス(春クラウドバス:SpringCloudは、マイクロクラウドインフラストラクチャサービスセクション8を分散しました
その後、我々は、httpを訪問します:// localhostを:8881 / HIまたはhttp:// localhostを:8882 / HIブラウザショー:

fooのバージョン4

また、/アクチュエータ/バスリフレッシュサービスインタフェースを指定することができるすべてのサービスの顧客を命名されたような「目的地」パラメータ、「/アクチュエータ/バスリフレッシュ先=顧客:? **」リフレッシュサービスの利用。

第三に、分析
今回のアーキテクチャ図で:

メッセージバス(春クラウドバス:SpringCloudは、マイクロクラウドインフラストラクチャサービスセクション8を分散しました

ときにgitのファイルが変更されると、送信要求のPC-config設定 - クライアントポート8882経由/バスとポスト/リフレッシュ/;この時点でのポート8882は、メッセージ、他のサービスにバスで配信されるメッセージを、送信されますので、全体microServiceクラスタは、更新に、設定ファイルに達しました。

おすすめ

転載: blog.51cto.com/14622290/2459409