aws lambda / DyanamoDB / autoscaling / snsとシェルスクリプトを使用してrails capを解放する方法

    最近、前任者が残した小さなプロジェクトアーキテクチャが移植され、サーバー名や奇妙なvpcネットワークセグメントに加えて、基本的に新しいvpcにスムーズに移行してサーバーを作成できます。

    しかし、この作品がリリースされたとき、印象的なアーキテクチャが発見されました。もともとRailsのリリースは非常にシンプルで、capistranoコマンドを使用して多くのサーバーを簡単に公開できます。その結果、古いサーバーのリリースを深く理解するほど、簡単ではないと感じています。

    それが最初にリリースされたとき、それは少し奇妙に感じました。サーバーはリリースごとに削除する必要があります。そのとき、サーバーを削除して、サービスなしで直接電話を切ったのではないかと思いました。その結果、サービスを正常に解放でき、ブランチを変更できます。その時、私はこの構造の寿命にいくらか称賛し、軽蔑した。キャップリリースはブランチを変更することができますが(今はそうしますが、よりうまく処理できます)、サーバーはなくなりました(価値がありますか?)。

    その後、ラムダでget_repoという名前のpyコードが記述されていることがわかり、ブランチを含む部分がdyanamodbを記述しました。それで私はダイナモドに行って、トラフに横たわって、中に枝が存在するのを見ました。

    また、前にこのプロジェクトを引き継いだときに、1gのドキュメントが捨てられましたその時、私は0.99gの固形廃棄物を見ました。サーバーを初期化するシェルスクリプトがあります。見ていると突然雷が鳴り、とても良かったです!

    サーバーが基本的に移植された過去数日間、私はssにdyanamodbというテーマも見つけました。すごいです。私は刑事になります。

    自動削除および再構築サービス機能と組み合わせて、このすべての謎を明らかにする時が来ました。キラーは、ニマのラムダ/ DyanamoDB /自動スケーリング/ sns /シェルスクリプトと他の5つのダイヤモンドです。

 

    全体の推論プロセスは次のとおりです。数分後にec2サーバーを削除すると、自動スケーリングによってサーバーがハングしたことが判明したため、ec2を自動的に開始し、シェルスクリプトを自動的に開始し、ラムダに連絡してdyanamoDBからブランチ情報を読み取り、ec2でリリースコードを生成しました。最後に、このブランチのコードがリリースされました。これらが完了したら、メッセージを送信するようにsnsに通知します。プロセス全体は完璧です。どうして脱力感と脱力感があるのか​​わからず、爽快な快感もあります。推理した後、幽霊!

 

    この頃、私の前任者に対する私の賞賛は、激しい川の連続した小川のようなものでした(大学入試の1wフルレングスの構成はここでは省略されています)。コードをリリースするためだけに、アーキテクチャは私が予期していなかったように素晴らしいものになりました。多分これは一流の建築家が理解するものです。大義を下書きしてください!

 

おすすめ

転載: www.cnblogs.com/hosinokoe/p/12697520.html