マイクロサービスとは何かを理解しようとしていますが、MINIXのマイクロカーネルアーキテクチャは良いアナログのようです。 (私はシステムエンジニアです。)私の理解では、
そのアプリケーションはカーネルにすべての作業をするように要求しません。代わりに、さまざまなサービス(ドライバー)にリクエストを送信して、最終的にジョブを完了させます。サービスがクラッシュした場合、それを再起動するだけで簡単に元の状態に戻すことができます。そして、他のサービスは効率的ではありません。
追加のIPCが必要なため、より多くのリソースを必要とするユーザースペースドライバーのように。マイクロサービスは、より多くのHTTP /その他のプロトコルリクエストを送信するため、他のサービスに機能を要求することができます。
MINIXのように、再起動せずにEXT2ドライバーをアップグレードしてEXT4もサポートすることができます。マイクロサービスを使用すると、一部をアップグレードしながら、他の部分を適切に実行できます(要求が遅れる可能性がありますが、一体です)。
DBus(BSD、Linux、MINIXなどのオープンソースUNIXで使用される超低レイテンシRPC)のようなものも、マイクロサービスの構築に使用できます。
私の比較は公正ですか?何か問題がありましたか?
あなたのアナロジーは興味深く、正しい方向に向かっています。
マイクロサービスはユーザー空間ドライバーのようなものです
はいといいえ:
マイクロサービスは通信オーバーヘッドを追加します
はい、それはMinixカーネルのように多くのメッセージパッシングです。ただし、マイクロサービスのAPIは、より高いレベルの抽象化である可能性があるため、より複雑で、より複雑なタイプに基づいている場合があります。通信オーバーヘッドは、デバイスドライバーを備えたOSマイクロカーネルに慣れているものよりも重要になります。 (と ユーザーモードとカーネルモードを切り替えるためのオーバーヘッド は、MINIXが主流にならなかった理由の1つでしたが、無視できます。比較)。
マイクロサービスは、ダウンタイムなしで部分的にアップグレードできます
マイクロサービスはHTTPを話す必要はありません。
はい、正確に
あなたの比較は適切ですが、それはあなたがトピックを深く調べて、それが正しいことを確認したからです。両方の概念が呼ばれる "micro-X"であるという単なる事実は、非常に誤解を招く可能性があり、多くの場合それは間違いです。