私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
目次
アプリケーションは、起動時や実行時に、基本的にデータベース接続パラメータや起動パラメータなどの構成情報を読み取る必要があることがよくあります。
プログラマにとっては読み取り専用であり、プログラムは構成を読み取ることで動作を変更しますが、プログラムは構成を変更するべきではありません。
起動時に構成を読み取ることで初期化され、実行時に構成に基づいて動作を調整します。たとえば、サービスのポート番号は開始時に読み取られる必要があり、システムは運用中にスケジュールされたタスクを実行するためにカスタマイズされたポリシーを読み取る必要があります。
一般的なものには、プログラム内のハードコード、構成ファイル、環境変数、起動パラメータ、データベースベースなどが含まれます。
同じプログラムでも、異なる環境 (開発、テスト、運用) や異なるクラスター (異なるデータセンターなど) では異なる構成が必要となるため、完全な環境とクラスター構成の管理が必要です。
マイクロサービスアーキテクチャでは、単一のアプリケーションから分散システム上のサービスノードにシステムを分割する際、それに合わせて設定ファイルを移行(分離)する必要があり、設定が分散されます。
構成センターは、各アプリケーションから構成を分離し、構成を統合して管理します。アプリケーション自体が構成を構成および管理する必要はありません。
Alibaba のオープンソース製品は、マイクロサービス アーキテクチャにおけるサービス検出、構成管理、サービス ガバナンスのための包括的なソリューションです。
公式ウェブサイト:https://nocas.io/
4大機能
Nacos を使用すると、DNS または HTTP インターフェイスを介してサービスの登録と他のサービスの検出が容易になり、サービスのリアルタイム検査も提供され、異常なホストやサービス インスタンスにリクエストが送信されるのを防ぎます。
動的構成サービスを使用すると、すべての環境のすべてのサービスの構成を一元的かつ動的に管理できます。 Nacos を使用すると、構成を更新するときにアプリケーションを再デプロイする必要がなくなり、構成変更がより効率的かつ柔軟になります。
拡張データ ID 構成を自動的に定義します。内部構成の優先順位が最も高くなります。拡張データ ID の n が大きいほど、優先順位が高くなります。 bootstrap.yml の読み込み順序は application.yml よりも優先されます。
構成を完全にオフにする: spring.cloud.nacos.config.enable=false を設定して、Spring Cloud Nacos 構成を完全にオフにします。
nacos はクラスターにデプロイできます。
@Value アノテーションは、Spring フレームワークによって提供されるアノテーションであり、構成ファイル内の値を取得するために使用されます (application.properties、application.yml など)。 @Value アノテーションを使用する場合は、構成項目の完全なパスを指定する必要があります (例: @Value("${config.key}"))。
nacos 起動コマンド (Windows):startup.cmd -m スタンドアロン
ブラウザを開いて http://localhost:8848/nacos と入力してサービスにアクセスします。デフォルトのアカウント パスワードは nacos、nacos です。
Nacos は、DNS プロトコルに基づいたサービス ディスカバリ機能を提供します。これは、異種言語でのサービス ディスカバリをサポートし、Nacos にドメイン名の形式で登録されたサービスのエンドポイントの公開をサポートすることを目的としており、サードパーティ アプリケーションがエンドポイントを簡単に確認および検出できるようにすることを目的としています。 。
Nacos を使用すると、管理サービスの説明、ライフサイクル、サービスの静的依存関係分析、サービスの健全性ステータス、サービス トラフィック管理、ルーティング、セキュリティ ポリシーなど、マイクロサービス プラットフォーム構築の観点からデータ センター内のすべてのサービスとメタデータを管理できます。
マイクロサービス アーキテクチャでは、システム全体が責任と機能に基づいて複数のサービスに分割され、サービス間の連携によってビジネス目標が達成されます。このように、コード内でサービス間でリモート呼び出しを行う必要があります。リクエストを完了するには、サービスのコンシューマーがサービスのプロデューサーを呼び出す必要があります。コンシューマは、サービス プロデューサーのネットワーク上の場所を知る必要があります。(IP アドレスとポート番号)。
·