SOAP / JSON-RPCベースのWebサービスをサポートするオープンソースC組み込みWebサーバーとアームプロセッサと互換性
-
09-10-2019 - |
質問
私は、Cで書かれたWebサーバーをデバイスに埋め込むプロジェクトに取り組んでいます。要件は、Webサービス(SOAP / JSON-RPC)をサポートし、ARMプロセッサと互換性があることです。特定の製品の提案や最初にどこを見るか?
解決
説明を考えると、256MB RAMを備えたLinuxベースのプラットフォームでは、基本的に好きなWebサーバーを使用できます。 256MB RAMは、デバイスを典型的な埋め込み領域からサーバースペースに取り出します。
Linuxコミュニティによくサポートされているため、ARMのサポートをあまり心配しないでください。これは、Debianによって公式にサポートされているアーキテクチャの1つです。私自身は、32MBのRAMしかないハードウェアを使用して、DebianとLightTPDを実行しているアーム上でいくつかのWebサーバーを実行しています。
最も人気のあるWebサーバーの上位3つ(および人気は非常に重要です。これは、問題がある場合に簡単にGoogleができることを意味するため):
lighttpd-単一のスレッドであり、CPU使用にも非常に軽いため、RAMの使用量が非常に軽くなります。欠点は、シングルスレッドであるため、ヘビー級のCPU集中的なCGIアプリケーションを実行しようとすると、応答が遅くなる可能性があることです。
apache2-ラムの使用量が重い。 Apacheのデフォルトの動作モードは、重い負荷を処理するために、できるだけ長くスレッドを生かし続けることです。これは、ほとんどの場合、睡眠プロセスでRAMを使い果たすことを意味します。しかし、重い荷物を処理する必要がある場合は、これは良いことです。ヘビーデューティCGIアプリに適しています。
Nginx-ブロック上の新しい子供。 LightTPDまたはApacheのいずれかのように、文書化されていない(現時点では、明らかにドキュメントが時間とともに改善されます)が、人々は両方を上回ると言っています。 apache2のようにマルチスレッドがありますが、lighttpdのように非ブロッキングされるため、両方の世界で最高のものを持っています。一般的にはapache2(lighttpdよりも多く)が少なくともladを使用し、少なくともloadの下でApache2よりも優れていない場合でも実行します。私にとって唯一の本当の欠点はドキュメントです。