私は、「機密性の高い」データ(クレジットカード番号)を扱っているアプリケーションに取り組んでおり、PCIコンプライアンスを達成するために、私たちのデータベースがパブリックサーバとは別のものであることを保証する必要があります。これに対してキューを使用すべきですか?
データを入力して保存するには、途中に何かがある必要があります。データをWeb/Appサーバーから直接書き込んだり読み込んだりしたくないのですか?待ち行列/ワーカアーキテクチャが適しているかもしれない。
基本的な流れは次のようになります。
- データクライアントから - >
- APIに送るAPI Serverは '要求' オブジェクトにデータを置く - >エンキュー
- ワーカー( '内部のネットワーク上) 、要求をピックアップDBに書き込み、仕事、更新のDBは、その後、「応答」オブジェクトをエンキューん
- API Serverは、この応答オブジェクトを受け取り、その後、クライアントに応答へ
本質的に私は、データが同じ「要求」に戻ってくる何かを望んでいるので、プロセス全体が単一の要求で実行できるようになっていますが、これはメッセージキューの非同期性に逆らっているようです。 - キューまたはものは何でも「場合
- 耐久性:
編集は、私はproabably私は、次の必要とすることを追加する必要があります...それ自体が厳しい「プロトコル」として機能する「Webサービス」に適しクラッシュすると、「キューに入れられた」アイテムを回復できるはずです
- セキュリティ - 機密データは保護される必要があります私たちはトランスポート層(TLS、SSL、IPSec)上で何かを使うことができるので、トランスポートはうまくいきますが、送信側(パブリックネットワーク)にカード番号を格納することは理想的ではありません...
- スピードはもちろんです。
私はこれについて間違った方法をとっていますか?
純粋に興味のないもの:あなたが取り組んでいるPCI仕様 - 好都合なアプローチ(または避けるべきもの)を示唆するガイダンスを提供していますか? –