開発、デプロイメント、メンテナンスの 3 つのプロセスに沿ってこのまとめを書いていく予定です!
開発中に特に大きな問題は発生しませんでした!唯一のことは、データベース
のトランザクション処理の実装です。 Rails API ドキュメントを確認したところ、この問題は簡単に解決されました。
その時は解決しましたが、振り返ってみると、私たちの解決策は適切ではありませんでした。その理由は、
リソースの競合を考慮していなかったからです。つまり、同時実行によりデータベースのデータに不整合が生じる可能性があります。これは、当時は考慮していませんでした。この問題を解決するには、データ処理の前にロックを取得し、特定の
レコードをロックしてから処理する必要があります。
デプロイメント
です。
メンテナンス
の強度はそれほど高くないため、これは攻撃ではありませんが、それでもサーバーがハングアップする原因となりました。残念ながら、展開段階はまだうまくいきませんでした。
そうでなければ、これほど悲惨なことにはならないでしょう。この時、NGINXの防御策であるlimit_moudleをオンにし、IPごとに1秒あたり1リクエストを許可するように設定しました
ただし、ページ自体にJSとCSSファイルのリンクがあるため、JSとCSSが発生してしまいました。
ロードできません。サーバーが再びクラッシュしました。この問題はまだ解決されていません。これが私が次に学ぶ予定のことです
。次に、最終的なログ ファイルがダウンロードされます。 scpコマンドを使いました。速度は許容範囲内で、100KB
程度です。コマンドは次のとおりです:
scp user@remote_addr:/file/path /loaclhost/file/path
もちろん、ダウンロードする前に gzip してください。
最後に、このプロジェクトでは、最初からこのように設計せずに、
Web API を直接使用した方が良いのではないかといつも感じています。トークンフィールドによる攻撃リクエストの数。
次に学びたいのはWeb APIでもあります。
まとめ
問題を解決し、学習を続けることです。