シリコンバレーの周ヤン先生のコースはまだかなり良いです。これはビデオアドレスであり、https://www.bilibili.com/video/BV18E411x7eTに沿って進むことができます。これは後で見るための個人的な学習ノートです。
はじめに
SpringCloudドキュメントアドレス:
https ://cloud.spring.io/spring-cloud-static/spring-cloud-consul/2.2.2.RELEASE/reference/html/
Consulは、分散型の高可用性システムです。機能:
サービスの検出:Consulのお客様は、apiやmysqlなどのサービスを登録でき、他のお客様はConsulで指定されたサービスプロバイダーにクエリを実行できます。ConsulはDNSおよびHTTPサービス検出インターフェースを提供します。
ヘルスチェック:Consulはスクリプトなどを柔軟に使用して、それに登録されたサービスが利用可能かどうかを確認できます。また、Consulは不健全なサービスであるConsulも柔軟に処理できます。たとえば、サービスを提供するホストのメモリが90%を超えています。Consulを使用しないように設定できますサービスはサービスの呼び出し元に提供されます。
キー/値のストレージ:この関数はetcdに似ており、HTTP APIを介して便利に使用できます。
マルチデータセンターのサポート:Consulは、すぐに使えるマルチデータセンターのサポートをサポートしています。つまり、ユーザーがビジネスをさまざまな地域に拡大するために追加の抽象化レイヤーを構築する必要はありません。
1. Consulをインストールして実行する
1.ダウンロードしてインストール
公式アドレス:https://learn.hashicorp.com/consul/getting-started/install.html
ダウンロードアドレス:https://www.consul.io/downloads.html
お使いのオペレーティングシステムに応じて対応するバージョンをダウンロードします(このマシン(テストは64ビットバージョンのWindowsを使用します)
開発者モードでコマンドスタートを開始する
ダウンロードした圧縮パッケージを解凍して指定の場所にリリースし、解凍してリリースされたファイルを見つけ、システムの状況に応じて対応するコマンドを実行します(以下はWindowsでの実行コマンドです)。
consul agent -dev
2.テスト:http:// localhost:8500 /
2.エンジニアリングモジュールの修正内容
1. Pom.xmlは新しい依存関係を追加します
<!--导入consul依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
2. ymlファイルの設定
server:
port: 8006
spring:
application:
name: consul-provider-payment
cloud:
consul:
port: 8500
discovery:
service-name: ${spring.application.name}
3.メインのスタートアッププログラムの実現
@SpringBootApplication
public class PaymentMain8006 {
public static void main(String[] args) {
SpringApplication.run(PaymentMain8006.class, args);
}
}
4.ビジネスレイヤーコードの実装
@RestController
@Slf4j
public class PaymentController {
@Value("${server.port}")
private String serverport;
@RequestMapping(value="/payment/consul")
public String paymentConsul(){
return "springcloud with consul:"+serverport+"\t"+ UUID.randomUUID().toString();
}
}
5. Consulで登録ステータスを確認する
3. 3つの登録センターの類似点と相違点
1. APアーキテクチャ-ユーレカ
2.CPアーキテクチャ-Zookeeper / Consul