発行済み 2026-01-19
各関節が独立したサーボによって制御されるロボット アームを組み立てていると想像してください。指のモーターは手首の角度を知る必要があり、手首のモーターは肘と調整する必要があります。どのようにして「会話」するのでしょうか?機械システムの世界では、この会話は配線または集中コントローラを通じて行われることがよくあります。しかし、デジタル領域では、2 つのマイクロサービスが連携する必要がある場合、世界の反対側で見知らぬ 2 人が自分たちの行動をリアルタイムで調整するような状況になります。

機械プロジェクトでは、電圧、パルス、エンコーダフィードバックなどの物理信号を使用することに慣れています。しかし、マイクロサービスの世界では、通信は目に見えないパケットになります。最も単純な方法を直接思いつく人もいるかもしれません。サービス A がサービス B のインターフェイスを直接呼び出すというものです。ボタンを押すとライトが点灯するのと同じです。これは機能しますが、サービス B が常に利用可能で、ネットワークが常にオープンで、2 つの速度が一致している場合に限ります。実際には、ネットワークが遅延し、サービスが再開され、トラフィックが急増します。直接電話すると、「電話したのに聞こえない」という事態になり、プロセス全体が滞ってしまうことがよくあります。
そこでここ数年で、誰もが考え方を変え始めました。サービスに直接「呼び出す」のではなく、「電子メールを送信」させるのです。つまり、メッセージ キューまたはイベント駆動型のアプローチを通じて、サービス A がメッセージを中間プラットフォームに送信し、サービス B がメッセージが空いているときにそれを取得します。これは、作業場に「モーター 3 の温度警告が発生しました。対処してください」というメモを残すようなものです。処理を担当する同僚は、2 人が同時にいるかどうかを気にすることなく、メモを見たときに調整します。
機械的に例えると、この方法はモーターごとに小さなメールボックスを設置するようなものです。メールボックスがいっぱいですか?その後、当面は新しいメッセージを保存できなくなります。しかし、少なくともメッセージが失われることはなく、システムはより分離されます。しかし、新たな疑問が生じます。「紙のメモ」が多すぎて処理できない場合はどうすればよいでしょうか。メッセージが特に緊急である場合、どうすればすぐに列に並ぶことができますか?
存在するキロパワー私たちの技術実践では、多くのお客様の初期設計がすべてのワイヤーを束ねたようなものであることがわかりました。短期的には機能しますが、メンテナンスは混乱のようなものです。マイクロサービス間の通信はそれほど脆弱であってはなりません。私たちは、「神経反射」に近いモデル、つまり非同期でイベント駆動型でありながら、クリティカル パスでの待ち時間が短いモデルに向かう傾向があります。
たとえば、サーボ モーターの振動データを収集するサービスと、予知保全を担当する別のサービスがあるとします。振動データ サービスは、予測サービスの応答を待つ必要はありません。データ パケットを送信し、優先順位をマークするだけで、ジョブは完了します。予測サービスは数ミリ秒後にデータを取得する場合がありますが、コンピューティング リソースが不足しているため、後でデータを処理する場合もあります。しかし、振動データ サービスはブロックされず、次のグループの収集を続けます。システム全体は柔軟なワークショップのようなもので、各ワークステーションは自律的に動作し、ベルトコンベア (メッセージ パイプライン) を通じて間接的に連携します。
誰かが「メッセージ パイプ自体が失敗したらどうなるのですか?」と尋ねました。これは冗長設計に戻ります。優れたマイクロサービス通信アーキテクチャでは、機械システムのバックアップ伝送ロッドのように、メッセージを複数のパスにバックアップできます。キロパワー顧客の展開を支援する場合、「パブリッシュ/サブスクライブ」モデルがよく提案されます。つまり、1 つのサービスがイベントをパブリッシュし、複数の関連サービスがそれをサブスクライブして、必要に応じて処理できます。これにより、単一点の依存関係が回避され、拡張が容易になります。
なぜなら、実際のシナリオは「2 つのサービス」ほど単純なものではないからです。多くの場合、数十、場合によっては数百のサービスが相互に絡み合っています。 A が B をトリガーし、B が C と D をトリガーし、C の結果が A に戻っていきます。このとき、すべての通信が同期待機を使用すると、システムはネジを締めすぎた関節のようなものになり、硬くなり、崩壊しやすくなります。
そのため、マイクロサービス通信の設計は、サーボのグループにダンスを配置するようなものだとよく冗談を言います。各モーターを 1 つのモーターの完全な信号を待たせることはできません。そうしないと、ダンスが停止してしまいます。同じ音楽 (イベント フロー)、同じビートに合わせて各ステップを聴かせ、時折仲間の位置を確認 (ステータスのクエリ) させなければなりませんが、ほとんどの場合は自律的に実行されます。
Kpower では、まず機械伝達図を描くのと同じように、お客様がデータ フロー図を描くのを支援します。どの通信がリアルタイム同期を必要とするか (緊急シャットダウン信号など)、どの通信が遅延を許容できるか (ログのアップロードなど)、どの通信が順序を保証するか (ステップ命令など)、どの通信が順序どおりに処理できなくてもよいか (データ サンプリングなど)。分類した後、さまざまな通信プロトコルとツールを一致させます。これは万能のアプローチではありませんが、歯車セットと同様に、各噛み合い点の歯形と速度が適切でなければなりません。
興味深いことに、経験豊富な機械設計者にシステムを簡素化する方法を尋ねると、「伝送リンクを減らしてください」とよく言われます。マイクロサービス通信でも同じことが当てはまります。すべてのサービスが直接通信する必要があるわけではありません。パスは、集約サービス (API ゲートウェイ) またはイベント バスを介して集約できます。これは、複雑な機械に配電ボックスを追加するようなもので、幹線が明確になり、メンテナンスが容易になります。
Kpower は、プロジェクトのレビュー中に、過剰に設計された通信層は不十分であるというよりも問題となることが多いことを発見しました。例えば「保険」の場合、各サービス間にメッセージキューが追加されます。その結果、運用および保守中に十数のメッセージ チェーンを追跡する必要があります。その後、コア リンクの高い信頼性を確保することを優先する一方で、非コア リンクはダウングレードできるように戦略を調整しました。これにより、システムは優れた機械のようにより堅牢になり、重要な部品には焼き入れ鋼を使用し、二次的な部品には通常の合金を使用することで、全体のコストパフォーマンスと信頼性が向上します。
したがって、次回、マイクロサービスがどのように「チャット」するかについて心配するときは、機械的なコラボレーションをどのように設計するかを考えたほうがよいでしょう。分業を明確にし、明確な信号プロトコルを確立し、ある程度のバッファスペースを残し、重要な部分にさらに保険を追加する必要があります。残りは Kpower のようなパートナーに任せて、青写真を安定した現実に変えるお手伝いをします。結局のところ、機械であれコードであれ、良好なコミュニケーションがスムーズな運用の基礎となります。
2005 年に設立された Kpower は、中国広東省東莞に本社を置く、コンパクトモーションユニットの専門メーカーとして活動してきました。 Kpower は、モジュール式ドライブ技術の革新を活用して、高性能モーター、高精度減速機、マルチプロトコル制御システムを統合し、効率的でカスタマイズされたスマート ドライブ システム ソリューションを提供します。 Kpower は、スマート ホーム システム、自動エレクトロニクス、ロボティクス、精密農業、ドローン、産業オートメーションなどのさまざまな分野をカバーする製品で、世界中の 500 を超える企業クライアントにプロフェッショナルなドライブ システム ソリューションを提供してきました。
更新時間:2026-01-19