(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-05-15
(54)【発明の名称】マイクロサービス構成用方法、装置、電子デバイス、システム及び記憶媒体
(51)【国際特許分類】
G06F 9/445 20180101AFI20230508BHJP
G06F 8/60 20180101ALI20230508BHJP
【FI】
G06F9/445
G06F8/60
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022559897
(86)(22)【出願日】2021-10-14
(85)【翻訳文提出日】2022-09-30
(86)【国際出願番号】 CN2021123921
(87)【国際公開番号】W WO2022170782
(87)【国際公開日】2022-08-18
(31)【優先権主張番号】202110185215.5
(32)【優先日】2021-02-10
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100139066
【氏名又は名称】伊藤 健太郎
(72)【発明者】
【氏名】リウ,チャオ
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AB08
5B376AB21
5B376AE52
(57)【要約】
本開示はマイクロサービス構成用方法、装置、電子デバイス、システム及び記憶媒体に関し、コンピュータ技術分野に関し、特にクラウドコンピューティング、モノのインターネット等の分野に関する。具体的な実現手段は以下のとおりである。メインクラスタから構成データを受信し、且つ、メインクラスタにおけるサービスデータが変更されたと判断した場合、メインクラスタにサービスデータ取得要求を送信し、メインクラスタからサービスデータを受信する。構成データ及びサービスデータに基づき、サービス管理タスクを実行する。本開示の上記解決手段によれば、サービスクラスタは能動的に取得する方式でサービスデータを取得することができる。その利点はメインクラスタの負荷を軽減することができ、特にサービスクラスタの数が多い状況で、メインクラスタの安定性を大幅に向上させることである。
【選択図】
図1
【特許請求の範囲】
【請求項1】
メインクラスタから構成データを受信し、且つ、前記メインクラスタにおけるサービスデータが変更されたと判断した場合、前記メインクラスタにサービスデータ取得要求を送信し、前記メインクラスタからサービスデータを受信するステップと、
前記構成データ及び前記サービスデータに基づき、サービス管理タスクを実行するステップと、を含むサービスクラスタに適用されるマイクロサービス構成用方法。
【請求項2】
前記メインクラスタにおけるサービスデータが変更されたと判断した場合、前記メインクラスタにサービスデータ取得要求を送信する前記ステップは、
必要なサービスデータを決定するステップと、
前記メインクラスタにおけるサービスデータが変更されたと判断した場合、変更が生じたサービスデータを前記必要なサービスデータと比較して、比較結果を得るステップと、
前記比較結果が所定の条件に合致する場合、前記メインクラスタにサービスデータ取得要求を送信するステップと、を含む請求項1に記載の方法。
【請求項3】
前記メインクラスタにおけるサービスデータが変更されたと判断する前記ステップは、
前記メインクラスタにおけるサービスデータを定期的にポーリングするステップと、
前後2回のポーリング結果の差異が対応する閾値を超えた場合、前記メインクラスタにおけるサービスデータが変更されたと判断するステップと、を含む請求項2に記載の方法。
【請求項4】
前記構成データ及び前記サービスデータに基づき、サービス管理タスクを実行する前記ステップは、
前記サービスデータに基づいて各マイクロサービスプログラムのサービスインスタンスを決定するステップと、
前記構成データに基づいて前記サービスインスタンスにおけるパラメータを決定するステップと、
前記各マイクロサービスプログラムのサービスインスタンス、及び前記サービスインスタンスにおけるパラメータに基づき、前記各マイクロサービスプログラムに対するサービス管理タスクを実行するステップと、を含む請求項1に記載の方法。
【請求項5】
前記サービスクラスタは複数であり、それぞれ異なる地域に設置され、各地域のサービスクラスタが実行するサービス管理タスクは同じである請求項1~4のいずれか一項に記載の方法。
【請求項6】
構成データが変更された場合、各サービスクラスタに変更後の構成データを送信するステップと、
少なくとも1つの前記サービスクラスタのサービスデータ取得要求を受信した場合、前記サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信するステップと、を含むメインクラスタに適用されるマイクロサービス構成用方法。
【請求項7】
少なくとも1つの前記サービスクラスタのサービスデータ取得要求を受信した場合、前記サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信する前記ステップは、
受信した少なくとも1つの前記サービスクラスタのサービスデータ取得要求に対して適応処理を行い、適応処理結果を得るステップと、
前記適応処理結果に基づき、前記サービスデータ取得要求に対応するサービスデータを決定するステップと、
前記サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信するステップと、を含む請求項6に記載の方法。
【請求項8】
構成データが変更された場合、各サービスクラスタに変更後の構成データを送信する前記ステップは、
受信した構成データと記憶された構成データを比較し、比較結果を得るステップと、
前記受信した構成データと前記記憶された構成データの比較結果に差異がある場合、前記記憶された構成データを前記受信した構成データに更新するステップと、
前記受信した構成データを変更後の構成データとして、各サービスクラスタに前記変更後の構成データを送信するステップと、を含む請求項6に記載の方法。
【請求項9】
メインクラスタから構成データを受信するために用いられるコントロールプレーンコンポーネントと、
前記メインクラスタにおけるサービスデータが変更された場合、前記メインクラスタにサービスデータ取得要求を送信し、前記メインクラスタからサービスデータを受信するために用いられ、さらに前記構成データ及び前記サービスデータに基づき、サービス管理タスクを実行するために用いられるデータプレーンコンポーネントと、を含むマイクロサービス構成用装置。
【請求項10】
前記データプレーンコンポーネントはサイドカーコンポーネントを含み、前記サイドカーコンポーネントはさらに、
必要なサービスデータを決定するために用いられるサービスデータ決定ユニットと、
前記メインクラスタにおけるサービスデータが変更されたと判断した場合、変更が生じたサービスデータを前記必要なサービスデータと比較して、比較結果を得るために用いられるサービスデータ比較ユニットと、
前記比較結果が所定の条件に合致する場合、前記メインクラスタにサービスデータ取得要求を送信するために用いられるサービスデータ取得要求送信ユニットと、を含む請求項9に記載の装置。
【請求項11】
前記サービスデータ比較ユニットは具体的に、
前記メインクラスタにおけるサービスデータを定期的にポーリングするステップと、
前後2回のポーリング結果の差異が対応する閾値を超えた場合、前記メインクラスタにおけるサービスデータが変更されたと判断するステップと、に用いられる請求項10に記載の装置。
【請求項12】
前記データプレーンコンポーネントはサイドカーコンポーネントを含み、前記サイドカーコンポーネントはさらに、
前記サービスデータに基づいて各マイクロサービスプログラムのサービスインスタンスを決定するために用いられるサービスインスタンス決定ユニットと、
前記構成データに基づいて前記サービスインスタンスにおけるパラメータを決定するパラメータ決定ユニットと、
前記各マイクロサービスプログラムのサービスインスタンス、及び前記サービスインスタンスにおけるパラメータに基づき、前記各マイクロサービスプログラムに対するサービス管理タスクを実行するために用いられるサービス管理タスク実行ユニットと、を含む請求項9に記載の装置。
【請求項13】
前記マイクロサービス構成用装置はサービスクラスタであり、
前記サービスクラスタは複数であり、それぞれ異なる地域に設置され、各地域のサービスクラスタが実行するサービス管理タスクは同じである請求項9に記載の装置。
【請求項14】
構成データが変更された場合、各サービスクラスタに変更後の構成データを送信するために用いられる構成センタコンポーネントと、
少なくとも1つの前記サービスクラスタのサービスデータ取得要求を受信した場合、前記サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信するために用いられる登録センタコンポーネントと、を含むマイクロサービス構成用装置。
【請求項15】
前記登録センタコンポーネントは、
受信した少なくとも1つの前記サービスクラスタのサービスデータ取得要求に対して適応処理を行い、適応処理結果を得る登録センタプロキシユニットと、
前記適応処理結果に基づき、前記サービスデータ取得要求に対応するサービスデータを決定するために用いられるサービスデータ決定ユニットと、
前記サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信するために用いられるサービスデータ送信ユニットと、を含む請求項14に記載の装置。
【請求項16】
前記構成センタコンポーネントは、
受信した構成データと記憶されている構成データを比較し、比較結果を得るために用いられる構成データ比較ユニットと、
前記受信した構成データと前記記憶された構成データの比較結果に差異がある場合、前記記憶された構成データを前記受信した構成データに更新するために用いられる構成データ更新ユニットと、
前記受信した構成データを変更後の構成データとして、各サービスクラスタに前記変更後の構成データを送信するために用いられる構成データ送信ユニットと、を含む請求項14に記載の装置。
【請求項17】
請求項1~5のいずれか一項に記載の方法を実行するために用いられる少なくとも1つのサービスクラスタと、
請求項6~8のいずれか一項に記載の方法を実行するために用いられるメインクラスタと、を含むマイクロサービスシステム。
【請求項18】
少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに通信接続されるメモリと、を含み、前記メモリは前記少なくとも1つのプロセッサによって実行可能なコマンドを記憶し、前記コマンドは前記少なくとも1つのプロセッサによって実行され、それにより前記少なくとも1つのプロセッサは請求項1~8のいずれか一項に記載の方法を実行することができる電子デバイス。
【請求項19】
請求項1~8のいずれか一項に記載の方法をコンピュータに実行させるためのコンピュータコマンドを記憶した非一時的なコンピュータ可読記憶媒体。
【請求項20】
プロセッサによって実行されると、請求項1~8のいずれか一項に記載の方法を実現するコンピュータプログラムを含むコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は2021年2月10日に国際出願された、出願番号202110185215.5、発明名称「マイクロサービス構成用方法、装置、電子デバイス、システム及び記憶媒体」の中国特許出願の優先権を主張し、その内容全体は参照により本出願に組み込まれる。
【0002】
本出願はコンピュータ分野に関し、より具体的には、マイクロサービス構成用方法、装置、電子デバイス、システム及び記憶媒体に関する。
【背景技術】
【0003】
クラウドネイティブ技術の急速な発展及びマイクロサービスの大規模な実践が進展するにつれて、サービスメッシュ技術(Service Mesh)はますます注目を集め支持されている。
【0004】
単体のアプリケーションと比較して、マイクロサービスアーキテクチャは役割が明確な目標に従って、単体のアプリケーションを複数のマイクロサービスコンポーネントに分割している。マイクロサービスコンポーネントの数が多い場合、マイクロサービスの構成がリアルタイムではない、又は構成が間違っている等の問題が発生することがある。それによりマイクロサービスアーキテクチャの実行の安定性に影響を及ぼす。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示はマイクロサービス構成用方法、装置、電子デバイス、システム及び記憶媒体を提供する。
【課題を解決するための手段】
【0006】
本開示の一態様によれば、サービスクラスタに応用されるマイクロサービス構成用方法を提供し、該方法は、
メインクラスタから構成データを受信し、且つ、メインクラスタにおけるサービスデータが変更されたと判断した場合、メインクラスタにサービスデータ取得要求を送信し、メインクラスタからサービスデータを受信するステップと、
構成データ及びサービスデータに基づき、サービス管理タスクを実行するステップと、を含むことができる。
【0007】
本開示の別の態様によれば、メインクラスタに応用されるマイクロサービス構成用方法を提供し、該方法は、
構成データが変更された場合、各サービスクラスタに変更後の構成データを送信するステップと、
少なくとも1つのサービスクラスタのサービスデータ取得要求を受信した場合、サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信するステップと、を含むことができる。
【0008】
本開示の第3の態様によれば、マイクロサービス構成用装置を提供し、該装置は、
メインクラスタから構成データを受信するために用いられるコントロールプレーンコンポーネントと、
メインクラスタにおけるサービスデータが変更された場合、メインクラスタにサービスデータ取得要求を送信し、メインクラスタからサービスデータを受信するために用いられるデータプレーンコンポーネントと、を含み、
データプレーンコンポーネントはさらに構成データ及びサービスデータに基づき、サービス管理タスクを実行するために用いられることができる。
【0009】
本開示の第4の態様によれば、マイクロサービス構成用装置を提供し、該装置は、
構成データが変更された場合、各サービスクラスタに変更後の構成データを送信するために用いられる構成センタコンポーネントと、
少なくとも1つのサービスクラスタのサービスデータ取得要求を受信した場合、サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信するために用いられる登録センタコンポーネントと、を含むことができる。
【0010】
本開示の第5の態様によれば、マイクロサービスシステムを提供し、該システムは、
サービスクラスタに適用される前記マイクロサービス構成用方法を実行するために用いられる少なくとも1つのサービスクラスタと、
メインクラスタに適用される前記マイクロサービス構成用方法を実行するために用いられるメインクラスタと、を含むことができる。
【0011】
本開示の別の態様によれば、少なくとも1つのプロセッサと、少なくとも該少なくとも1つのプロセッサと通信接続されたメモリと、を含み、
ここで、該メモリは該少なくとも1つのプロセッサによって実行可能なコマンドを記憶し、該コマンドは該少なくとも1つのプロセッサによって実行され、それにより該少なくとも1つのプロセッサは本開示の任意の実施例における方法を実行することができる電子デバイスを提供する。
【0012】
本開示の別の態様によれば、本開示の任意の実施例における方法をコンピュータに実行させるためのコンピュータコマンドを記憶した非一時的なコンピュータ可読記憶媒体を提供する。
【0013】
本開示の別の態様によれば、プロセッサによって実行されると、本開示の任意の実施例における方法を実現するコンピュータプログラムを含むコンピュータプログラム製品を提供する。
【発明の効果】
【0014】
本開示の上記解決手段によれば、サービスクラスタは能動的に取得する方式でサービスデータを取得することができる。その利点はメインクラスタの負荷を軽減することができ、特にサービスクラスタの数が多い状況で、メインクラスタの安定性を大幅に向上させることである。
【0015】
この部分の説明は、本開示の実施例のキーポイント又は重要な特徴を識別することを意図したものではなく、本開示の範囲を限定することを意図したものでもないことを理解されたい。本開示の他の特徴は、以下の明細書によって容易に理解される。
【図面の簡単な説明】
【0016】
【
図1】本開示に基づくサービスクラスタに適用されるマイクロサービス構成用方法のフローチャートである。
【
図2】本開示に基づくサービスデータ取得要求を送信するフローチャートである。
【
図3】本開示に基づくサービスデータが変更されたか否かを判断するフローチャートである。
【
図4】本開示に基づくサービス管理タスクを実行するフローチャートである。
【
図5】本開示に基づくメインクラスタに適用されるマイクロサービス構成用方法のフローチャートである。
【
図6】本開示に基づくサービスデータを送信するフローチャートである。
【
図7】本開示に基づく構成データを送信するフローチャートである。
【
図8】本開示に基づくサービスクラスタに対応するマイクロサービス構成用装置の概略図である。
【
図9】本開示に基づくメインクラスタに対応するマイクロサービス構成用装置の概略図である。
【
図10】本開示に基づくマイクロサービスシステムの概略図である。
【
図11】本開示の実施例のマイクロサービス構成用方法を実現するための電子デバイスのブロック図である。
【発明を実施するための形態】
【0017】
以下に図面を参照しながら本開示の例示的な実施例を説明し、理解の助けとして本開示の実施例の様々な詳細を含めるが、それらは単に例示的なものと見なされるべきである。したがって、当業者であれば、本開示の範囲及び精神から逸脱することなく、本明細書に記載の実施例に様々な変更及び修正を行ってもよいことを認識できる。また、以下の説明においては、明快且つ簡潔な説明を行うために、公知の機能及び構造についての説明を省略する。
【0018】
図1に示すように、本開示はサービスクラスタに適用されるマイクロサービス構成用方法を提供し、該方法は、
メインクラスタから構成データを受信し、且つ、メインクラスタにおけるサービスデータが変更されたと判断した場合、メインクラスタにサービスデータ取得要求を送信し、メインクラスタからサービスデータを受信するステップS101と、
構成データ及びサービスデータに基づき、サービス管理タスクを実行するステップS102と、を含むことができる。
【0019】
本開示に係るマイクロサービスアーキテクチャにおいて、1つのメインクラスタ及び少なくとも1つのサービスクラスタを含むことができる。サービスクラスタは能動的取得及び受動的取得の方式により、メインクラスタからデータを取得し、さらに取得したデータに基づいてサービス管理タスクを実行することができる。
【0020】
サービスクラスタは少なくとも、アップダウンストリーム通信ロジックを有するコントロールプレーンコンポーネント及びデータプレーンコンポーネントを含むことができる。
【0021】
ここで、コントロールプレーンコンポーネントはデータプレーンコンポーネントにサービスデータ及び構成データをプッシュするために用いられる。コントロールプレーンコンポーネントはパイロット(Pilot)コンポーネントを含むことができる。
【0022】
データプレーンコンポーネントはサイドカー(Sidecar)コンポーネント及びマイクロサービスプログラムを含むことができ、サイドカーコンポーネントはマイクロサービスプログラムと一緒に配置することができる。すなわち、1つのマイクロサービスプログラムは1つのサイドカーコンポーネントに対応して配置される。
【0023】
サイドカーコンポーネントはマイクロサービスプログラムに出入りする全てのトラフィックを引き継ぎ、サービス管理タスクを実行するために用いられる。例えば、サービス管理タスクはルーティングサービス、レート制限サービス、サーキットブレーカー、フォールトインジェクション、トラフィックリプレイ等を含むことができる。
【0024】
構成データは、持続的接続の方式を利用して取得することができる。すなわち、構成データが変更された時にサービスクラスタはメインクラスタが能動的に送信した変更後の構成データを取得する。
【0025】
あるいは、サービスクラスタは能動的にポーリングする方式を採用して、メインクラスタにおけるサービスデータが変更された状況が生じたか否かを判断することができる。サービスデータの変更はユーザによるサービスデータの修正、削除及び/又はアップグレード更新等を含むことができる。
【0026】
変更を判断する具体的な方法は、ユーザの変更動作をリアルタイムに検出すること、サービスデータを定期的に比較して検出すること、ユーザが能動的に通知したサービスデータ変更を取得すること、等を含むことができる。
【0027】
メインクラスタにおけるサービスデータが変更されたと判断した場合、サービスクラスタはメインクラスタにサービスデータ取得要求を能動的に送信することができる。メインクラスタはサービスデータ取得要求を受信した場合、サービスデータ取得要求の内容に基づき、サービスデータ取得要求に対応するサービスデータを決定することができる。サービスデータ取得要求に対応するサービスデータをサービスクラスタに送信する。
【0028】
サービスクラスタはメインクラスタから送信されたサービスデータを受信すると、構成データ及びサービスデータに基づき、サービス管理タスクを実行することができる。
【0029】
メインクラスタを介して構成データ及びサービスデータを全て能動的に送信する場合と比べて、本出願の上記解決手段により、サービスクラスタは能動的に取得する方式でサービスデータを取得することができる。その利点はメインクラスタの負荷を軽減することができ、特にサービスクラスタの数が多い状況で、メインクラスタの安定性を大幅に向上させることである。
【0030】
図2に示すように、一実施形態において、ステップS102に係るメインクラスタにおけるサービスデータが変更されたことを検出した場合、メインクラスタにサービスデータ取得要求を送信するステップは、具体的には、
必要なサービスデータを決定するステップS201と、
メインクラスタにおけるサービスデータが変更されたと判断した場合、変更が生じたサービスデータを必要なサービスデータと比較して、比較結果を得るステップS202と、
比較結果が所定の条件に合致する場合、メインクラスタにサービスデータ取得要求を送信するステップS203と、を含むことができる。
【0031】
必要なサービスデータはユーザが予め作成した構成情報に基づいて決定することができ、又はユーザが予め送信したコマンドに基づいて決定することができる。例えば、マイクロサービスプログラムの数、及び各マイクロサービスプログラムに対応する機能に基づき、各マイクロサービスプログラムに必要なサービスデータを決定することができる。各マイクロサービスプログラムに必要なサービスデータは、サービスクラスタに必要なサービスデータとすることができる。
【0032】
複数のサービスクラスタがある場合、各サービスクラスタは必要なサービスデータをそれぞれ決定することができる。
【0033】
サービスクラスタはメインクラスタにサービスデータ変更クエリ情報を定期的に送信することにより、メインクラスタにおけるサービスデータが変更されたか否かを判断することができる。例えば、サービスクラスタはメインクラスタの「サービスデータが変更された」、又は「XXタイプのサービスデータが変更された」という応答を受信した場合、メインクラスタにおけるサービスデータが変更されたと判断することができる。又は、メインクラスタにサービスデータリスト取得要求を送信することもでき、前後して2回受信したサービスデータリストにおける内容に差異がある場合、メインクラスタにおけるサービスデータが変更されたと判断することができる。
【0034】
メインクラスタにおけるサービスデータが変更されたと判断した場合、変更が生じたサービスデータを必要なサービスデータと比較して、比較結果を得る。比較結果が所定の条件に合致する場合、メインクラスタにサービスデータ取得要求を送信する。
【0035】
上記メインクラスタに対してサービスデータが変更されたか否かの確認プロセスは、サービスクラスタにおけるサイドカーコンポーネントによって実行することができる。
【0036】
例えば、A地域のサービスクラスタはA1、A2、A3の3つのサイドカーコンポーネントを含む。第1サイドカーコンポーネントA1はAPP1と一緒に配置され、第2サイドカーコンポーネントA2はAPP2と一緒に配置され、第3サイドカーコンポーネントA3はAPP3と一緒に配置される。第1サイドカーコンポーネントA1はA1タイプのデータがAPP1に必要なサービスデータであると判断することができ、第2サイドカーコンポーネントA2はA2タイプのデータがAPP2に必要なサービスデータであると判断することができ、第3サイドカーコンポーネントA3はA3タイプのデータがAPP3に必要なサービスデータであると判断することができる。3つのサイドカーコンポーネントがいずれも、A2タイプのサービスデータのみに変更が生じたことを判断した場合、第2サイドカーコンポーネントA2のみからメインクラスタにサービスデータ取得要求を送信し、A2タイプのサービスデータの取得を要求することができる。
【0037】
さらに、A1、A2、A3の3種類のサービスデータにいずれも変更が生じた場合、第1サイドカーコンポーネントA1はメインクラスタにサービスデータ取得要求を送信し、A1タイプのサービスデータの取得を要求する。第2サイドカーコンポーネントA2はメインクラスタにサービスデータ取得要求を送信し、A2タイプのサービスデータの取得を要求する。第3サイドカーコンポーネントA3はメインクラスタにサービスデータ取得要求を送信し、A3タイプのサービスデータの取得を要求する。
【0038】
上記解決手段により、サービスデータが変更された場合、サービスクラスタは必要なサービスデータについてサービスデータ取得要求を行うことができる。関連技術がサービスデータを更新するたびに全ての更新データを取得することに比べて、上記解決手段はデータ伝送量を減少させることができる。特にマルチクラスタの状況で、マイクロサービスシステムの安定性を向上させることができる。
【0039】
図3に示すように、一実施形態において、ステップS202に係るメインクラスタにおけるサービスデータが変更されたと判断する方式は、さらに、
メインクラスタにおけるサービスデータを定期的にポーリングするステップS301と、
前後2回のポーリング結果の差異が対応する閾値を超えた場合、メインクラスタにおけるサービスデータが変更されたと判断するステップS302と、を含むことができる。
【0040】
サービスクラスタにおける各サイドカーコンポーネントはメインクラスタにポーリング情報を定期的に送信し、メインクラスタがフィードバックしたポーリング結果を得ることができる。前後2回のポーリング結果の差異が対応する閾値を超えた場合、メインクラスタにおけるサービスデータが変更されたと判断することができる。
【0041】
例示的に、対応する閾値は10%を超える差であってもよい。又は、サービスデータにおけるパラメータに異なる重み付けを設定してもよく、重み付けが大きいパラメータが変更された場合、メインクラスタにおけるサービスデータが変更されたと判断することができる。
【0042】
上記解決手段により、サービスデータの変更状況を柔軟且つ迅速に判断することができる。
【0043】
図4に示すように、一実施形態において、ステップS102に係る構成データ及びサービスデータに基づき、サービス管理タスクを実行するステップは、さらに、
サービスデータに基づいて各マイクロサービスプログラムのサービスインスタンスを決定するサブステップS401と、
構成データに基づいてサービスインスタンスにおけるパラメータを決定するサブステップS402と、
各マイクロサービスプログラムのサービスインスタンス、及びサービスインスタンスにおけるパラメータに基づき、各マイクロサービスプログラムに対するサービス管理タスクを実行するサブステップS403と、を含むことができる。
【0044】
サービスデータは、サービスクラスタにおけるマイクロサービスプログラムのサービスインスタンスを特徴付けるために用いることができる。サービスインスタンスは、マイクロサービスプログラムによって実行される特定の機能であってもよい。マイクロサービスアーキテクチャがショッピングのシーンであることを例にすると、受信したサービスデータに基づき、商品情報照会、ショッピングカート(保留中の支払い対象商品)、請求書決済及び物流照会等を含むマイクロサービスプログラムのサービスインスタンスを決定することができる。
【0045】
1つのサービスクラスタにおいて複数のマイクロサービスプログラムを含むことができ、各マイクロサービスプログラムは1つのサービスインスタンスに対応することができる。
【0046】
構成データはサービスインスタンスにおけるパラメータに対応させることができ、例えば請求書決済マイクロサービスプログラムはショッピングカートマイクロサービスプログラムからデータを呼び出すことができても、物流マイクロサービスプログラムからデータを呼び出すことができないことを明確にすることができる。別の例として、構成データは、ショッピングカートマイクロサービスプログラム及び請求書決済のマイクロサービスの通信接続試行時間閾値等であってもよい。
【0047】
例示的に、物流マイクロサービスプログラムと一緒に配置されるサイドカーコンポーネントは、物流マイクロサービスプログラムを制御して請求書決済マイクロサービスプログラムにおける決済済み商品の情報を呼び出すことができ、それにより物流マイクロサービスプログラムにおける決済済み商品の物流状態を照会することができる。別の例として、サイドカーコンポーネントはショッピングカートマイクロサービスプログラム及び請求書決済のマイクロサービスプログラムの通信接続試行時間が通信接続試行時間閾値を超えた場合、通信接続試行の再試行又は通信接続試行の停止等を制御することができる。
【0048】
以上はサービスデータ及び構成データに含まれるオブジェクトを例示して説明したものに過ぎず、これによって保護内容を限定するものではない。
【0049】
サイドカーコンポーネントはサービスデータ及び構成データに基づき、それと一緒に配置されたマイクロサービスプログラムに対するサービス管理タスクを実現することができる。
【0050】
一実施形態において、サービスクラスタは複数であり、それぞれ異なる地域に設置され、各地域のサービスクラスタが実行するサービス管理タスクは同じである。
【0051】
異なる地域のサービスクラスタにより、ユーザが最も近い場所にアクセスするという原則を満たして、ユーザの使用体験を向上させることができる。引き続きショッピングのシーンを例にすると、北京で生活するユーザは北京に設置されたサービスクラスタに優先的にアクセスすることができ、それにより北京で生活するユーザは迅速なアクセス応答を得ることができる。
【0052】
また、異なる地域のサービスクラスタは遠隔地マルチアクティブを構成することができ、あるサービスクラスタが故障しても、依然としてマイクロサービスアーキテクチャの全体が安定して動作することを保証することができる。
【0053】
本出願はサービスクラスタがサービスデータを能動的に取得する方式を用いるため、マルチクラスタの状況に対しても、大規模なサービスインスタンスのニーズを満たすことができ、
図5に示すように、本開示はメインクラスタに適用されるマイクロサービス構成用方法に関し、該方法は、
構成データが変更された場合、各サービスクラスタに変更後の構成データを送信するステップS501と、
少なくとも1つのサービスクラスタのサービスデータ取得要求を受信した場合、サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信するステップS502と、を含むことができる。
【0054】
メインクラスタの主な機能はユーザのサービスデータ及び構成データを受信し、且つそれを各サービスクラスタに送信することである。
【0055】
構成データに対して、メインクラスタは構成センタコンポーネントを利用して能動的なポーリング検出又は受動的な受信通知等の方式を用いて、構成データが変更されたか否かを判断することができる。変更には編集、削除、又は更新などが含まれてもよい。
【0056】
構成データが変更された場合、構成データを各サービスクラスタに能動的に送信する。上記解決手段により、各サービスクラスタ間で構成データを共有することができ、各サービスクラスタの相互接続及び共通サービス管理を実現することができる。ここで、構成データはカスタムリソース定義(CRD、Custom Resource Definition)データを含むことができる。
【0057】
また、メインクラスタは登録センタコンポーネントを利用してサービスクラスタの要求を受信することができる。いずれかのサービスクラスタのサービスデータ取得要求を受信した場合、サービスクラスタのサービスデータ取得要求を解析することにより、サービスデータ取得要求に対応するサービスデータを決定することができる。且つサービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信する。
【0058】
上記解決手段により、メインクラスタはサービスクラスタの要求を受信した場合のみ、要求に基づいて対応するサービスデータを決定する。メインクラスタが能動的に送信する方式と比べて、本出願の解決手段はサービスデータ送信の冗長性を最大限回避することができる。これに基づいて、メインクラスタの負荷を軽減し、特にサービスクラスタの数が多い状況で、メインクラスタの安定性を大幅に向上させることができる。
【0059】
図6に示すように、一実施形態において、S502に係る少なくとも1つのサービスクラスタのサービスデータ取得要求を受信した場合、サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信するステップは、
受信した少なくとも1つのサービスクラスタのサービスデータ取得要求に対して適応処理を行い、適応処理結果を得るステップS601と、
適応処理結果に基づき、サービスデータ取得要求に対応するサービスデータを決定するステップS602と、
サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信するステップS603と、を含む。
【0060】
メインクラスタは登録センタコンポーネントを介してユーザが編集したサービスデータを受信することができる。サービスデータを取得する一般的なマイクロサービスの登録センタコンポーネントは様々であり、例えば、ZK(ZooKeeper)、Eureka、Consul、Nacos等である。
【0061】
これらの登録センタコンポーネントは異なるメーカーによって開発されて実現されるため、今の所対応するデータモデル標準がなく、それぞれの登録センタコンポーネントに対して異なる接続手段を実現する必要がある。様々な登録センタコンポーネントにおけるデータモデルの相違点を回避するために、本開示は登録センタプロキシユニット(Registry Proxy)コンポーネントを導入する。登録センタプロキシユニットコンポーネントにおいて、異なる登録センタコンポーネントのデータモデルを予め記憶することができる。これに基づき、メインクラスタはいずれかのサービスクラスタから送信されたサービスデータ取得要求を受信した場合、登録センタプロキシユニットコンポーネントを介してサービスデータ取得要求を適応させることができる。
【0062】
適応処理結果に基づき、異なる登録センタコンポーネントとの接続を実現して、対応する登録センタコンポーネントにおいてサービスデータ取得要求に対応するサービスデータを決定することができる。
【0063】
サービスデータ取得要求に対応するサービスデータを決定した場合、サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信することができる。
【0064】
上記解決手段により、登録センタプロキシユニットを介して異なる登録センタの相違点を解消することができる。
【0065】
図7に示すように、一実施形態において、S501に係る構成データが変更された場合、各サービスクラスタに変更後の構成データを送信するステップは具体的に、
受信した構成データと記憶されている構成データを比較し、比較結果を得るステップS701と、
受信した構成データと記憶されている構成データの比較結果に差異がある場合、記憶されている構成データを受信した構成データに更新するステップS702と、
受信した構成データを変更後の構成データとして、各サービスクラスタに変更後の構成データを送信するステップS703と、を含むことができる。
【0066】
構成センタコンポーネントは構成データを受信するたびに、記憶されている構成データを呼び出し、受信した構成データを記憶されている構成データと比較して、比較結果を得ることができる。
【0067】
両者の比較結果に差異が生じた場合、ユーザが構成データを変更したと判断することができる。これにより、記憶されている構成データを受信した構成データに更新し、受信した構成データを変更後の構成データとして、各サービスクラスタに送信することができる。
【0068】
比較結果に変更が生じたか否かについては、相違があるか否かを判定基準としてもよいし、相違の程度を判定基準としてもよいし、重要なデータや重み付けが大きいデータに差異があるか否かを判定基準とするなどとしてもよい。
【0069】
上記解決手段により、構成データが変更された場合にのみ送信することができる。構成データを送信する回数をある程度減少させる。
【0070】
図8に示すように、本開示はサービスクラスタに関するマイクロサービス構成用装置を提供し、具体的に、
メインクラスタから構成データを受信するために用いられるコントロールプレーンコンポーネント801と、
メインクラスタにおけるサービスデータが変更された場合、メインクラスタにサービスデータ取得要求を送信し、メインクラスタからサービスデータを受信するために用いられるデータプレーンコンポーネント802と、を含み、
データプレーンコンポーネントは、さらに、構成データ及びサービスデータに基づき、サービス管理タスクを実行するために用いられることができる。
【0071】
一実施形態において、データプレーンコンポーネント802はサイドカーコンポーネントを含み、サイドカーコンポーネントはさらに、
必要なサービスデータを決定するために用いられるサービスデータ決定ユニットと、
メインクラスタにおけるサービスデータが変更されたと判断した場合、変更が生じたサービスデータを必要なサービスデータと比較して、比較結果を得るために用いられるサービスデータ比較ユニットと、
比較結果が所定の条件に合致する場合、メインクラスタにサービスデータ取得要求を送信するために用いられるサービスデータ取得要求送信ユニットと、を含むことができる。
【0072】
一実施形態では、サービスデータ比較ユニットは具体的に、
メインクラスタにおけるサービスデータを定期的にポーリングするステップと、
前後2回のポーリング結果の差異が対応する閾値を超えた場合、メインクラスタにおけるサービスデータが変更されたと判断するステップと、に用いることができる。
【0073】
一実施形態において、データプレーンコンポーネント802はサイドカーコンポーネントを含み、サイドカーコンポーネントはさらに、
サービスデータに基づいて各マイクロサービスプログラムのサービスインスタンスを決定するために用いられるサービスインスタンス決定ユニットと、
構成データに基づいてサービスインスタンスにおけるパラメータを決定するために用いられるパラメータ決定ユニットと、
各マイクロサービスプログラムのサービスインスタンス、及びサービスインスタンスにおけるパラメータに基づき、各マイクロサービスプログラムに対するサービス管理タスクを実行するために用いられるサービス管理タスク実行ユニットと、を含むことができる。
【0074】
一実施形態において、サービスクラスタは複数であり、それぞれ異なる地域に設置され、各地域のサービスクラスタが実行するサービス管理タスクは同じである。
【0075】
図9に示すように、本開示はメインクラスタに関するマイクロサービス構成用装置を提供し、該装置は、具体的に、
構成データが変更された場合、各サービスクラスタに変更後の構成データを送信するために用いられる構成センタコンポーネント901と、
少なくとも1つのサービスクラスタのサービスデータ取得要求を受信した場合、サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信するために用いられる登録センタコンポーネント902と、を含むことができる。
【0076】
一実施形態において、登録センタコンポーネント902はさらに、
受信した少なくとも1つのサービスクラスタのサービスデータ取得要求に対して適応処理を行い、適応処理結果を得る登録センタプロキシユニットと、
適応処理結果に基づき、サービスデータ取得要求に対応するサービスデータを決定するために用いられるサービスデータ決定ユニットと、
サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信するために用いられるサービスデータ送信ユニットと、を含むことができる。
【0077】
一実施形態において、構成センタコンポーネント901はさらに、
受信した構成データと記憶されている構成データを比較し、比較結果を得るために用いられる構成データ比較ユニットと、
受信した構成データと記憶された構成データの比較結果に差異がある場合、記憶された構成データを受信した構成データに更新するために用いられる構成データ更新ユニットと、
受信した構成データを変更後の構成データとして、各サービスクラスタに変更後の構成データを送信するために用いられる構成データ送信ユニットと、を含むことができる。
【0078】
図10に示すように、本開示はマイクロサービスシステムを提供し、該システムは、
前記サービスクラスタに適用されるマイクロサービス構成用方法を実行するために用いられる少なくとも1つのサービスクラスタと、
前記メインクラスタに適用されるマイクロサービス構成用方法を実行するために用いられるメインクラスタと、を含むことができる。
【0079】
サービスクラスタは複数であってもよく、
図10におけるサービスクラスタ1からサービスクラスタNに対応し、ここでNは正の整数である。
【0080】
各サービスクラスタにおいて、さらに1つのコントロールプレーンコンポーネント及び少なくとも1つのデータプレーンコンポーネントを含むことができる。ここで、コントロールプレーンコンポーネントはメインクラスタの構成センタに通信可能に接続され、メインクラスタから送信された構成データを取得し、且つ構成データをデータプレーンコンポーネントに送信するために用いられる。送信方式はウェブフック(Webhook)メカニズムに基づくことができる。
【0081】
データプレーンコンポーネントは、一緒に配置されたマイクロサービスプログラム(
図10のAPP)及びサイドカーコンポーネント(
図10のSidecar)を含むことができる。ここで、サイドカーコンポーネントはメインクラスタにおけるサービスデータが変更されたことを検出した場合、メインクラスタにサービスデータ取得要求を送信するために用いられる。且つメインクラスタが送信するサービスデータを受信する。受信した構成データ及びサービスデータに基づき、マイクロサービスプログラムに対するサービス管理タスクを実行する。
【0082】
メインクラスタにおける登録センタコンポーネントは、一方ではクライアントが構成したサービスデータを受信し且つ記憶するために用いられる。もう一方では、受信したサービスクラスタのデータプレーンコンポーネントが送信したサービスデータ取得要求に基づき、サービスデータ取得要求に対応するサービスデータを決定する。サービスデータ取得要求に対応するサービスデータをサービスクラスタにおけるデータプレーンコンポーネントに送信する。
【0083】
ここで、構成データはカスタムリソース定義(CRD、Custom Resource Definition)データを含むことができる。
【0084】
サービスデータを取得するマイクロサービスの登録センタは様々であり、例えば
図10におけるZK(ZooKeeper)、Eureka、Consul等である。
【0085】
これらの登録センタは異なるメーカーによって開発されて実現されるため、今の所対応するデータモデル標準がなく、それぞれの登録センタに対して異なる接続手段を実現する必要がある。様々な登録センタにおけるデータモデルの相違点を回避するために、本開示は登録センタプロキシユニット(Registry Proxy)を導入する。登録センタプロキシユニットに、異なる登録センタのデータモデルを予め記憶する。これに基づき、メインクラスタはいずれかのサービスクラスタのデータプレーンコンポーネントから送信されたサービスデータ取得要求を受信した場合、登録センタプロキシユニットを介してサービスデータ取得要求を適応させることができる。
【0086】
本開示の実施例に基づき、本開示はさらに電子デバイス、可読記憶媒体及びコンピュータプログラム製品を提供する。
【0087】
図11は本開示の実施例を実施するために用いることができる電子デバイス1100の例示的なブロック図である。電子デバイスとは、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを示すものとして意図されている。電子デバイスはさらに、パーソナルデジタルアシスタント、携帯電話、スマートフォン、ウェアラブルデバイス、及び他の類似の計算装置などの様々な形態のモバイル機器を表すことができる。本明細書に示される構成要素、それらの接続や関係、及びそれらの機能は単なる実例に過ぎず、本明細書に記載される及び/又は特許請求される本開示の実現を限定するものではない。
【0088】
図11に示すように、電子デバイス1100は、リードオンリーメモリ(ROM)1120に記憶されたコンピュータプログラム又はメモリユニット1180からランダムアクセスメモリ(RAM)1130にロードされたコンピュータプログラムに従って、各種の適切な動作及び処理を実行する計算ユニット1110を備える。RAM1130には、デバイス1100の操作に必要な各種プログラムやデータが記憶される。計算ユニット1110、ROM1120及びRAM1130は、バス1140を介して相互に接続される。入出力(I/O)インタフェース1150もバス1140に接続される。
【0089】
キーボード、マウス等の入力ユニット1160と、各種ディスプレイ、スピーカ等の出力ユニット1170と、磁気ディスク、光ディスク等の記憶ユニット1180と、ネットワークカード、モデム、無線通信送受信機等の通信ユニット1190と、を含む電子デバイス1100における複数の構成要素はI/Oインタフェース1150に接続される。通信ユニット1190は、電子デバイス1100が、インターネットなどのコンピュータネットワーク及び/又は様々な電気通信ネットワークを介して、他の機器と情報/データを交換することを可能にする。
【0090】
計算ユニット1110は様々な処理及び計算能力を有する汎用及び/又は専用の処理コンポーネントであってもよい。計算ユニット1110の例として、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、各種の専用の人工知能(AI)計算チップ、機械学習モデルアルゴリズムを実行する各種の計算ユニット、デジタル信号プロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されない。計算ユニット1110は、マイクロサービス構成用方法などの上記説明された各方法及び処理を実行する。例えば、いくつかの実施例において、マイクロサービス構成用方法は、記憶ユニット1180などの機械可読媒体に有形に含まれるコンピュータソフトウェアプログラムとして実現されてもよい。いくつかの実施例では、コンピュータプログラムの一部又は全部は、ROM1120及び/又は通信ユニット1190を介して、電子デバイス1100にロード及び/又はインストールすることができる。コンピュータプログラムがRAM1130にロードされ且つ計算ユニット1110によって実行される時、上記説明されたマイクロサービス構成用方法の1つ又は複数のステップを実行することができる。代替として、他の実施例において、計算ユニット1110は他の任意の適切な手段(ファームウェアを用いるなど)を介して、マイクロサービス構成用方法を実行するように構成されてもよい。
【0091】
本明細書でこれまで説明されたシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップシステム(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて実現することができる。これらの様々な実施形態は、以下を含むことができる。1つ又は複数のコンピュータプログラムにおいて実施され、該1つ又は複数のコンピュータプログラムは少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにおいて実行及び/又は解釈することができ、該プログラマブルプロセッサは専用又は汎用のプログラマブルプロセッサであってもよく、メモリシステム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及びコマンドを受信し、且つデータ及びコマンドを該メモリシステム、該少なくとも1つの入力装置、及び該少なくとも1つの出力装置に送信することができる。
【0092】
本開示の方法を実施するために用いられるプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせを使用して書くことができる。これらのプログラムコードは汎用コンピュータ、専用コンピュータ又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供することができ、プログラムコードがプロセッサ又はコントローラによって実行される時にフローチャート及び/又はブロック図に規定された機能/操作が実施される。プログラムコードは機器において完全に又は一部が実行され、独立したソフトウェアパッケージとして機器において一部を実行し且つリモート機器において一部を実行し、又はリモート機器又はサーバにおいて完全に実行することができる。
【0093】
本開示の文脈において、機械可読媒体は、コマンド実行システム、装置又はデバイスによる使用、又はコマンド実行システム、装置、又はデバイスと組み合わせる使用のためのプログラムを含むか又は記憶することができる有形の媒体であってもよい。機械可読媒体は、機械可読信号媒体又は機械可読記憶媒体であってもよい。機械可読媒体は、電子的、磁気的、光学的、電磁的媒体、赤外線媒体、又は半導体システム、装置又はデバイス、又は上記の任意の適切な組み合わせを含むことができるが、これらに限定されない。機械可読記憶媒体のより具体的な例は、1つ又は複数の線に基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、書き込み消去可能プログラマブルリードオンリーメモリ(EPROM又はフラッシュメモリ)、光ファイバ、コンパクトディスクリードオンリーメモリ(CD-ROM)、光記憶装置、磁気記憶装置、又はこれらの任意の適切な組み合わせを含むことができる。
【0094】
ユーザとのインタラクティブを提供するために、本明細書に記載のシステム及び技術は、ユーザに情報を表示するための表示装置(CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタなど)、及びキーボード及びポインティング装置(マウス又はトラックボールなど)を備えたコンピュータ上で実施することができ、ユーザは該キーボード及び該ポインティング装置を介してコンピュータに入力を提供することができる。他の種類の装置もユーザとのインタラクティブを提供するために用いることができ、例えば、ユーザに提供するフィードバックは任意の形式のセンサフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、且つユーザからの入力は任意の形式(声入力、音声入力、又は触覚入力を含む)で受信することができる。
【0095】
本明細書に記載のシステム及び技術は、バックグラウンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとして)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを備えたユーザコンピュータであって、ユーザは該グラフィカルユーザインタフェース又は該ウェブブラウザを介して本明細書に記載のシステム及び技術の実施形態とインタラクティブすることができる)、又はこのようなバックグラウンドコンポーネント、ミドルウェアコンポーネント、又はフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムにおいて実施することができる。システムの構成要素は、任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、及びインターネットを含む。
【0096】
コンピュータシステムは、クライアント及びサーバを含むことができる。クライアントとサーバは一般的に互いに離れており、通常は通信ネットワークを介してインタラクティブする。クライアントとサーバとの関係は、互いにクライアント-サーバの関係を有するコンピュータプログラムを対応するコンピュータ上で実行することによって生成される。
【0097】
理解されるべき点として、上述の様々な形態のフローを使用して、ステップを改めて配列し、追加し又は削除することができる。例えば、本開示に記載された各ステップは、並列に実行されてもよく、順に実行されてもよく、異なる順序で実行されてもよく、本開示が開示する技術的解決手段に期待される結果を実現できる限り、本明細書では限定しない。
【0098】
上記発明を実施するための形態は、本発明の保護範囲を限定するものではない。当業者が理解している点として、設計要件及び他の要因に応じて、様々な修正、組み合わせ、部分的組み合わせ、置換を行うことができる。本出願の主旨及び原則の範囲内でなされる任意の修正、等価置換、改良等は、いずれも本開示の保護範囲内に含まれるべきである。
【手続補正書】
【提出日】2022-09-30
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
メインクラスタから構成データを受信し、且つ、前記メインクラスタにおけるサービスデータが変更されたと判断した場合、前記メインクラスタにサービスデータ取得要求を送信し、前記メインクラスタからサービスデータを受信するステップと、
前記構成データ及び前記サービスデータに基づき、サービス管理タスクを実行するステップと、を含むサービスクラスタに適用されるマイクロサービス構成用方法。
【請求項2】
前記メインクラスタにおけるサービスデータが変更されたと判断した場合、前記メインクラスタにサービスデータ取得要求を送信する前記ステップは、
必要なサービスデータを決定するステップと、
前記メインクラスタにおけるサービスデータが変更されたと判断した場合、変更が生じたサービスデータを前記必要なサービスデータと比較して、比較結果を得るステップと、
前記比較結果が所定の条件に合致する場合、前記メインクラスタにサービスデータ取得要求を送信するステップと、を含む請求項1に記載の方法。
【請求項3】
前記メインクラスタにおけるサービスデータが変更されたと判断する前記ステップは、
前記メインクラスタにおけるサービスデータを定期的にポーリングするステップと、
前後2回のポーリング結果の差異が対応する閾値を超えた場合、前記メインクラスタにおけるサービスデータが変更されたと判断するステップと、を含む請求項2に記載の方法。
【請求項4】
前記構成データ及び前記サービスデータに基づき、サービス管理タスクを実行する前記ステップは、
前記サービスデータに基づいて各マイクロサービスプログラムのサービスインスタンスを決定するステップと、
前記構成データに基づいて前記サービスインスタンスにおけるパラメータを決定するステップと、
前記各マイクロサービスプログラムのサービスインスタンス、及び前記サービスインスタンスにおけるパラメータに基づき、前記各マイクロサービスプログラムに対するサービス管理タスクを実行するステップと、を含む請求項1に記載の方法。
【請求項5】
前記サービスクラスタは複数であり、それぞれ異なる地域に設置され、各地域のサービスクラスタが実行するサービス管理タスクは同じである請求項
1に記載の方法。
【請求項6】
構成データが変更された場合、各サービスクラスタに変更後の構成データを送信するステップと、
少なくとも1つの前記サービスクラスタのサービスデータ取得要求を受信した場合、前記サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信するステップと、を含むメインクラスタに適用されるマイクロサービス構成用方法。
【請求項7】
少なくとも1つの前記サービスクラスタのサービスデータ取得要求を受信した場合、前記サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信する前記ステップは、
受信した少なくとも1つの前記サービスクラスタのサービスデータ取得要求に対して適応処理を行い、適応処理結果を得るステップと、
前記適応処理結果に基づき、前記サービスデータ取得要求に対応するサービスデータを決定するステップと、
前記サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信するステップと、を含む請求項6に記載の方法。
【請求項8】
構成データが変更された場合、各サービスクラスタに変更後の構成データを送信する前記ステップは、
受信した構成データと記憶された構成データを比較し、比較結果を得るステップと、
前記受信した構成データと前記記憶された構成データの比較結果に差異がある場合、前記記憶された構成データを前記受信した構成データに更新するステップと、
前記受信した構成データを変更後の構成データとして、各サービスクラスタに前記変更後の構成データを送信するステップと、を含む請求項6に記載の方法。
【請求項9】
メインクラスタから構成データを受信するために用いられるコントロールプレーンコンポーネントと、
前記メインクラスタにおけるサービスデータが変更された場合、前記メインクラスタにサービスデータ取得要求を送信し、前記メインクラスタからサービスデータを受信するために用いられ、さらに前記構成データ及び前記サービスデータに基づき、サービス管理タスクを実行するために用いられるデータプレーンコンポーネントと、を含むマイクロサービス構成用装置。
【請求項10】
前記データプレーンコンポーネントはサイドカーコンポーネントを含み、前記サイドカーコンポーネントはさらに、
必要なサービスデータを決定するために用いられるサービスデータ決定ユニットと、
前記メインクラスタにおけるサービスデータが変更されたと判断した場合、変更が生じたサービスデータを前記必要なサービスデータと比較して、比較結果を得るために用いられるサービスデータ比較ユニットと、
前記比較結果が所定の条件に合致する場合、前記メインクラスタにサービスデータ取得要求を送信するために用いられるサービスデータ取得要求送信ユニットと、を含む請求項9に記載の装置。
【請求項11】
前記サービスデータ比較ユニットは具体的に、
前記メインクラスタにおけるサービスデータを定期的にポーリングするステップと、
前後2回のポーリング結果の差異が対応する閾値を超えた場合、前記メインクラスタにおけるサービスデータが変更されたと判断するステップと、に用いられる請求項10に記載の装置。
【請求項12】
前記データプレーンコンポーネントはサイドカーコンポーネントを含み、前記サイドカーコンポーネントはさらに、
前記サービスデータに基づいて各マイクロサービスプログラムのサービスインスタンスを決定するために用いられるサービスインスタンス決定ユニットと、
前記構成データに基づいて前記サービスインスタンスにおけるパラメータを決定するパラメータ決定ユニットと、
前記各マイクロサービスプログラムのサービスインスタンス、及び前記サービスインスタンスにおけるパラメータに基づき、前記各マイクロサービスプログラムに対するサービス管理タスクを実行するために用いられるサービス管理タスク実行ユニットと、を含む請求項9に記載の装置。
【請求項13】
前記マイクロサービス構成用装置はサービスクラスタであり、
前記サービスクラスタは複数であり、それぞれ異なる地域に設置され、各地域のサービスクラスタが実行するサービス管理タスクは同じである請求項9に記載の装置。
【請求項14】
構成データが変更された場合、各サービスクラスタに変更後の構成データを送信するために用いられる構成センタコンポーネントと、
少なくとも1つの前記サービスクラスタのサービスデータ取得要求を受信した場合、前記サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信するために用いられる登録センタコンポーネントと、を含むマイクロサービス構成用装置。
【請求項15】
前記登録センタコンポーネントは、
受信した少なくとも1つの前記サービスクラスタのサービスデータ取得要求に対して適応処理を行い、適応処理結果を得る登録センタプロキシユニットと、
前記適応処理結果に基づき、前記サービスデータ取得要求に対応するサービスデータを決定するために用いられるサービスデータ決定ユニットと、
前記サービスデータ取得要求に対応するサービスデータを対応するサービスクラスタに送信するために用いられるサービスデータ送信ユニットと、を含む請求項14に記載の装置。
【請求項16】
前記構成センタコンポーネントは、
受信した構成データと記憶されている構成データを比較し、比較結果を得るために用いられる構成データ比較ユニットと、
前記受信した構成データと前記記憶された構成データの比較結果に差異がある場合、前記記憶された構成データを前記受信した構成データに更新するために用いられる構成データ更新ユニットと、
前記受信した構成データを変更後の構成データとして、各サービスクラスタに前記変更後の構成データを送信するために用いられる構成データ送信ユニットと、を含む請求項14に記載の装置。
【請求項17】
請求項1~5のいずれか一項に記載の方法を実行するために用いられる少なくとも1つのサービスクラスタと、
請求項6~8のいずれか一項に記載の方法を実行するために用いられるメインクラスタと、を含むマイクロサービスシステム。
【請求項18】
少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに通信接続されるメモリと、を含み、前記メモリは前記少なくとも1つのプロセッサによって実行可能なコマンドを記憶し、前記コマンドは前記少なくとも1つのプロセッサによって実行され、それにより前記少なくとも1つのプロセッサは請求項1~8のいずれか一項に記載の方法を実行することができる電子デバイス。
【請求項19】
請求項1~8のいずれか一項に記載の方法をコンピュータに実行させるためのコンピュータコマンドを記憶した非一時的なコンピュータ可読記憶媒体。
【請求項20】
プロセッサによって実行されると、請求項1~8のいずれか一項に記載の方法を実現するコンピュータプログラムを含むコンピュータプログラム製品。
【国際調査報告】