1、アポロとは何ですか
1.1背景
プログラムの機能の複雑化によって、コンフィギュレーション・プログラムが増加している:アドレスは様々な機能、設定パラメータ、サーバーを切り替える......
期待も高まっているプログラムの設定:即時効果を持つ構成の変更、サブ環境、パブリッシュグレーサブクラスタの管理構成、完全な権限、監査メカニズムを......
この環境では、などの伝統的な設定ファイル、データベースには、構成管理のための開発者のニーズを満たすことがますますできなくなりました。
アポロの物流センターがされて入ってきました!
約1.2アポロ
アポロ(アポロ)は、異なる環境における管理アプリケーションを集中研究開発部門Ctripのフレームワークオープンソースの構成管理センタ、異なるクラスタ構成であり、構成の変更は、リアルタイムアプリケーション側にプッシュすることができ、アクセス許可、プロセス制御および他の機能を標準化しました。
アポロは、4次元の管理設定キー値のフォーマットをサポートしています。
- アプリケーション(アプリ)
- 環境(環境)
- クラスタ(クラスタ)
- 名前空間(名前空間)
一方、オープンソースに基づいて、アポロモデルの開発、オープンソース住所:https://github.com/ctripcorp/apollo
1.2基本概念の設定
アポロは物流センターに位置しているので、その後、ここでは簡単に設定されているかを説明する必要があります。
我々はそれを理解しているように、構成は次の属性があります。
- 設定は、プログラムの独立した読み出し専用の変数であります
- まず、設定はプログラムとは独立して、異なる構成で異なる動作をするプログラムが存在します。
- 第二に、プログラムは、その動作を変更するには、設定プログラムを読み込むことで、読み込み専用のために設定されていますが、プログラムが設定を変更する必要はありません。
- DB接続のStr、その上のスレッドプールサイズ、バッファサイズ、タイムアウトを要求し、機能スイッチ、サーバーのURLと共通装備。
- ライフサイクルを通じてアプリケーションを伴う設定
- アプリケーションのライフサイクル全体を通じての設定は、アプリケーションが実行時の動作は、設定の調整に応じて、設定を読み込むことで、起動時に初期化します。
- あなたは負荷を構成するには、多くの方法があります。
- 設定データベースはベースのような多くのロード、一般的な手順内蔵ハードコード、コンフィギュレーションファイル、環境変数、起動パラメータがあります
- 構成管理の必要性
- アクセス制御
- コンフィギュレーションのプログラムの動作を変更するので、でも誤った構成は、災害につながることができ、その変更は、アクセス制御のより良いシステムを持っている必要があります
- 異なる環境、クラスタ構成管理
- プログラムでは、多くの場合、異なる環境(開発、テスト、本番)、(異なるデータセンターなど)の異なるクラスタ内の別の設定が必要ですので、私たちは、クラスタ構成管理の音環境が必要です
- コンポーネントの構成管理フレームワーククラス
- このようCATクライアント構成としてクラスフレームアセンブリ構成、 - 特別なクラスの設定があります。
- フレームワークのクラスコンポーネントのこのタイプは、他のチーム、メンテナンスによって開発されたが、実行時には、ビジネス慣行であるが、それは自然と考えられているアプリケーションのフレームクラスコンポーネントの一部であってもよいです。
- コンフィギュレーションに対応するような成分はまた、経営のより良いシステムを持っている必要があります。
2、なぜアポロ
これは、設計アポロの最初からパブリッシングプラットフォームの構成管理機能になることを熱望するので、設定の特殊性に基づいて、現在、以下の機能を提供しています。
- 異なる環境の一元管理、異なるクラスタ構成
- アポロは統一されたインタフェース、異なる環境(環境)の集中管理、異なるクラスター(クラスター)を提供し、異なる名前空間(名前空間)を設定します。
- 異なるクラスタに配備同じコードは、飼育係アドレス、等の異なる形状を有することができます
- まだカバー共有アプリケーションの設定を可能にしながら簡単に、構成されたネームスペース(名前空間)を共有するために、異なる複数のアプリケーションをサポートすることができます
- 即効性(放熱)との設定の変更
- ユーザーが設定と解除さアポロを修正するためにした後、リアルタイム(1秒)内のクライアントは、アプリケーションに最新の設定や通知を受け取ります
- リリース管理
- すべての構成概念は簡単にロールバックをサポートするように設定することができ版をリリースしました
- グレーリリース
- リリース後にそのようなポイントとして灰色のリリースの設定をサポートし、すべてのアプリケーションインスタンスに何度も何度ものみような観察の期間の後、アプリケーションの例としては、無問題の一部に影響を取り
- 権利管理、事後監査、業務監査
- アプリケーションおよび構成管理は、権利管理機構を改善した、管理構成は、それによって人的エラーを低減、編集および出版の二つの側面に分けられます。
- すべての操作は、簡単に問題を追跡することができ、監査ログを持っています
- クライアント構成情報の監視
- あなたは簡単にインターフェース例に配置されるように使用するかを見ることができます
- Javaと.NETネイティブクライアントを提供します
- これは、簡単なアプリケーションの統合のためのネイティブJavaと.NETのクライアントを提供します
- サポート春プレースホルダ、ConfigurationPropertiesの注釈と春ブーツは、アプリケーションを使用して簡単に(3.1.1+春が必要です)
- インタフェースを提供しながら、HTTP、非Javaと.NETのアプリケーションにも使用して簡単にすることができます
- これは、オープンプラットフォームのAPIを提供します
- アポロ自体はかなり完全な統一された構成管理インターフェース、複数の環境をサポートし、複数のデータセンターの構成管理のプロパティ、権利、ガバナンス・プロセスを提供します。一般的な考慮事項は、制限の設定を変更するために多くを行うことはありませんのためにアポロは、彼らは基本的な形式は保存することができます満たしていなければならない。しかし、データベースのユーザー名、パスワード、Redisのように、異なる設定値を確認するために対象とされることはありませんサービスのアドレスなど
- アプリケーション構成のこのタイプでは、アポロの当事者は、アプリケーションをサポートし、オープンプラットフォームのAPIを介して放出アポロの設定を変更すると、音声認証とアクセス制御を持っています
- シンプルな展開
- サービスの可用性の要件のための基礎として設定センターはアポロ外部依存のできるだけを必要とする、非常に高いです
- 唯一の外部依存関係は、MySQLので、展開は限りインストールされているJavaとMySQLはアポロを聞かせするまで実行することができますように、非常に簡単です
- アポロはまた、すべてのニーズに合わせてキーのインストールパッケージを生成することができ、パッケージ化されたスクリプトを提供し、カスタムの実行時パラメータをサポートしています