高可用性データ収集プラットフォーム (3 つの言語で php .net aauto を使用する方法)
類似記事: 同時実行性の高いデータ収集アーキテクチャ アプリケーション (Redis アプリケーション)
解説: 私のメイン プロセス PHP ですチームには .net に精通した人材がいません。このプラットフォーム ソリューションを解決するには、まだある程度の努力が必要でした。
新年を迎え、新たなスタートを切りたいと思います。技術面でもチームマネジメント面でも新たな進歩が見られるはずです。新年は自分を大切にして、基礎的な作業を続けないでください。
問題の出発点:
'ソフトウェアがますます強力になるにつれて、ユーザーのニーズはますます増え、ユーザーはまた、多くのデータを統合して、合理的なアプリケーションを実現します。
´ 一部のデータ リソースでは、データを収集するために Web ページをクロールする必要があります。
´収集申請は統一されておらず、適切な管理手順もなく、組織化されていない。
´収集アプリケーションは頻繁に応答しなくなり、対応する割り込みプログラムがないため、アプリケーションが非常に不安定になります。
解決策:
上記の問題を解決するために、主にサービス プラットフォームの概念を使用する次の解決策が提案されます。
データ収集サービス : C# を使用して Windows サービスを作成します。 (aauto は、これまで Windows サービスを作成する対応するインスタンスを見つけていません)
機能には以下が含まれます:
1. アイテムの収集を定期的に要求し、それらを収集するキューに入れます
2. マルチスレッドは、API を通じてリソース データやその他のステータス情報を定期的にアップロードします。
3. スケジュールされたプラットフォーム監視。収集アプリケーション時間が長すぎる場合、中断通知が発行され、通知に対する応答がない場合、アプリケーションは強制的に終了して再起動されます。
4. データ収集サービスが正常に動作するようにハートビート情報をアップロードします。
コレクション アプリケーション: AAuto を使用してアプリケーションを作成する 実際、.net を使用してコレクション アプリケーションを作成することもできます。これは主に、aauto 言語チームが比較的成熟しており、既製のものがあるためです。適用後は、わずかな変更を加えるだけでサービス プラットフォームに接続できます。
機能には次のものが含まれます。 1. データ リソースを収集し、sqlite などのローカル データベースに置きます。
2. 時間のかかる情報を保存します。時間のかかる平均計算サービス プラットフォームを通じて、中断通知を発行する時間を決定し、作業が完了するまでにかかる時間を予測できます。
ステータスアプリケーション: 主に補助的なアプリケーションです。
機能には以下が含まれます:
1) 処理の進行状況を確認できます
2) データのアップロードの進行状況を確認できます
3) Pending を確認できますprogress
4) アプリケーションの時間のかかる情報を表示できます
上記のソリューションを見る : サービス プラットフォームはコーディネーターとして機能し、 PHP API との対話を担当し、取得アプリケーションに対して比較的独立しているため、安定性を確保しながら適切な分離が行われます。
収集アプリケーションは PHP API との対話を担当しなくなり、主にローカル リソースとの対話を担当するようになり、コードの作業負荷が軽減され、それに応じて収集速度も向上します。
詳細なコード実装: 後の記事に注目してください。私も可能な限りコードを提供します。良いと思ったら、「いいね!」を押してください。新年になり、新しい雰囲気が生まれます。