2023年4月17日のブックマーク (3件)

  • JavaScriptの非同期処理をじっくり理解する (4) AbortSignal, Event, Async Context

    対象読者と目的 非同期処理の実装方法は知っているが、仕組みを詳しく知らないのでベストプラクティスがわからないときがある 実行順序の保証がよくわからないので自信をもってデプロイできない変更がある より詳しい仕組みを理解することでより計画的な実装をできるようになりたい という動機で書かれた記事です。同様の課題を抱える人を対象読者として想定しています。 目次 実行モデルとタスクキュー Promise async/await AbortSignal, Event, Async Context WHATWG Streams / Node.js Streams (執筆中) 未定 中止処理 並行処理ではしばしば実行中の処理を中止したい場合があります。 古典的なキャンセル処理 Webブラウザ/Node.jsともに、 setTimeout の中止が可能です。 const timeout = setTimeo

    JavaScriptの非同期処理をじっくり理解する (4) AbortSignal, Event, Async Context
    remonoil
    remonoil 2023/04/17
    AsyncHooks, AsyncLocalStorageの詳細な解説
  • マイクロサービスにおけるログ出力に役立つNode.jsのAsyncLocalStorage - EmotionTechテックブログ

    はじめに こんにちは、テックリードのかどたみです。 弊社では以前の記事でも紹介したとおりマイクロサービス開発にNestJSを利用しています。今回はNestJSでマイクロサービス開発をする際のログの出力についてご紹介します。 この記事はエモーションテック Advent Calendar 2022の6日目の記事です。 背景 マイクロサービスのメリットの一つとして、サービスごとに開発するドメインの範囲を狭め、機能追加や改修の影響範囲を最小限にできることが挙げられます。 しかし、いざ運用しようとするとユーザーからのアクセス一つにおいて複数のサービスで処理が走ることから、どのサービスで障害になっているのか、どのユーザーがどこまでアクセスできているのかなどバグ発生時の原因や影響範囲の特定に時間がかかることもあります。 そこで、マイクロサービス間でログに出力する内容を揃えることで分析をしやすくなるように

    マイクロサービスにおけるログ出力に役立つNode.jsのAsyncLocalStorage - EmotionTechテックブログ
    remonoil
    remonoil 2023/04/17
    AsyncLocalStorageでリクエストIDなどのリクエスト毎のログ情報を保持しておく。
  • 本番環境のAmazon Aurora MySQL v1(MySQL 5.6 互換)EOL対応でAmazon RDS Blue/Green Deploymentsを使ってアップグレードしてみた手順と所感 - コネヒト開発者ブログ

    こんにちは。コネヒトのプラットフォームグループでインフラエンジニアをしている@sasashuuuです。 日は、今年2月に対応した弊社の主力サービスであるmamariをはじめとする各種アプリケーションで使用している番環境Amazon Aurora MySQL v1(MySQL 5.6 互換)のEOL対応において、まだリリースされてから間もない新機能であるAmazon RDS Blue/Green Deploymentsを番導入した際の流れや所感についてまとめたいと思います。 はじめに 記事の内容は実際にEOL対応に向けての検証を行っていた際や、EOL当日対応時の状況などを含んでおり、取り扱っているAWSサービスの仕様やその他記載内容は当時のものとなっています。最新の情報などはAWSの公式ドキュメントを参照してください。(公式ドキュメント先リンクは次項「Amazon RDS Blue/

    本番環境のAmazon Aurora MySQL v1(MySQL 5.6 互換)EOL対応でAmazon RDS Blue/Green Deploymentsを使ってアップグレードしてみた手順と所感 - コネヒト開発者ブログ
    remonoil
    remonoil 2023/04/17
    "切り戻しを考慮する場合は別途自前のアーキテクチャや段取りの準備が必要"