並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 69件

新着順 人気順

タイムアウトエラーの検索結果1 - 40 件 / 69件

  • 技術ブログをバズらせたくて必死で身につけた情報収集術 - omuriceman's blog

    僕は2019年4月から技術ブログを始めているが、2ヶ月目くらいから「はてなブックマークでホッテントリを取るための情報収集」を心がけるようになった。その影響もあって何記事かはてなブックマークでホッテントリ入りすることもできたので、これから技術ブログなどでアウトプットを始める人の役に立てばいいなぁと思ってブログでまとめることにした。技術ブログを書く人でなくても情報収集先として参考になる部分はあると思う。 はじめに GitHub Trending プログラミング言語はPythonとJavaScriptとTypeScriptを重点的に見る プログラミング言語以外にもUnknown languagesをチェックする Advanced searchで直近の日付に絞り込む GitHub Trendingを参考にしたブログ記事 Product Hunt Product Huntを参考にしたブログ記事 Re

      技術ブログをバズらせたくて必死で身につけた情報収集術 - omuriceman's blog
    • 最低1枚の元写真があれば、高品質本人画像をすぐに生成できる「PhotoMaker」を試したらお手軽すぎた(CloseBox) | テクノエッジ TechnoEdge

      人気連載『生成AIウィークリー』で取り上げている注目論文を見ると、そこに中国IT企業の名前が頻繁に登場します。 EC大手のアリババ(Alibaba)、ゲーム大手のテンセント(Tencent)、TikTokの運営元であるBytedanceなどが常に顔を出しており、画像・音声・アニメーションと、生成AIのあらゆる分野で中国に勢いがあることがわかります。 そんな中、テンセントがなかなか衝撃的な技術を発表しました。「PhotoMaker」という画像生成AIです。これでなければできない、というものではないのですが、「ファインチューニングの事前作成不要」「元画像が少なくても良い」のに、人物のアイデンティティを維持した画像を生成できるというメリットがあります。 これまでは既存の画像AIモデルに多数の写真を読み込ませて本人性を学習させたものから新たなAIモデルやその簡易版であるLoRAモデルを作ってきまし

        最低1枚の元写真があれば、高品質本人画像をすぐに生成できる「PhotoMaker」を試したらお手軽すぎた(CloseBox) | テクノエッジ TechnoEdge
      • コンテナフレンドリーではなかったRailsアプリケーションをDocker(ECS)に移行するまでの戦い - クラウドワークス エンジニアブログ

        はじめに SREチームの @minamijoyo です。 先日 CrowdWorks (crowdworks.jp) の本番環境のRailsアプリケーションを Docker (AWS ECS: Elastic Container Service) に移行しました。 CrowdWorksは2012年にサービスを開始し、2019年10月現在、ユーザ数は300万人、月間で数億円規模のお仕事がやりとりされる、国内最大級のクラウドソーシングプラットフォームにまで成長しました。 サービスの規模拡大に合わせて、ソースコードも数十万行規模に成長し、 決して小さくはない規模のRailsアプリケーションに成長しました。 CrowdWorksの開発環境にDockerが導入されたのはもうかれこれ3年半前の2016年の4月頃、2017年1月頃にはCrowdWorks本体から切り出された一部の機能で本番環境に投入され

          コンテナフレンドリーではなかったRailsアプリケーションをDocker(ECS)に移行するまでの戦い - クラウドワークス エンジニアブログ
        • スケールアウトの落とし穴から学ぶ、SREチームでのダッシュボードのアップデート術 - MonotaRO Tech Blog

          どんなことが起こったのか? モノタロウのサイトの監視について レイテンシ監視 トラフィック監視 エラー監視 リソース監視 ログ トラブルシュートの進め方 発生検知 発生箇所の特定 根本原因の調査 強化 課題 おわりに SREチームの市原(@ichi_taro3) です。 モノタロウでは、www.monotaro.com という大規模なECサイトを自社で開発、運用しています。 Webアプリケーションの運用ではトラブルはつきものです。今回は、とあるトラブルシュート事例を軸に、どのように運用を改善しているのかについて紹介します。 どんなことが起こったのか? あるとき、モノタロウのWebサービス全体でレイテンシ悪化やバックエンドAPIへのタイムアウトの増加が頻発したことがありました。 当然これらは歓迎される状況ではなく、すぐに開発者やSRE、インフラチームの担当者が集まり調査を開始しました。現象は

            スケールアウトの落とし穴から学ぶ、SREチームでのダッシュボードのアップデート術 - MonotaRO Tech Blog
          • 最大同時接続数を1に制限したRDSにRDS Proxyを構成して基本動作を押さえよう | DevelopersIO

            CX事業本部@大阪の岩田です。 社内で需要がありそうだったので、RDS Proxyの基本動作について簡単にまとめてみました。クライアントからの最大同時接続数を1に設定したRDSに対してRDS Proxyを構成し、クライアントアプリケーションに見立てたEC2からいくつかのパターンで接続を試行した結果をまとめています。 環境 今回検証に利用した環境です。 RDS for PostgreSQL 11.8-R1 インスタンスクラス db.t3.micro max_connections: 9 バックグラウンドでrdsadminユーザー、rdsproxyadminユーザーがDBに接続するのを考慮して9に設定しています。今回の環境であればmax_connectionsを9に設定することで非マスターユーザーからの同時接続数を1に制限することができます。 RDS Proxy エンジンの互換性: Postg

              最大同時接続数を1に制限したRDSにRDS Proxyを構成して基本動作を押さえよう | DevelopersIO
            • Aurora MySQL におけるロック競合(ブロッキング)の原因を事後調査できる仕組みを作った話

              こんにちは。 DBRE チーム所属の @p2sk です。 DBRE(Database Reliability Engineering)チームでは、横断組織としてデータベースに関する課題解決や、組織のアジリティとガバナンスのバランスを取るためのプラットフォーム開発などを行なっております。DBRE は比較的新しい概念で、DBRE という組織がある会社も少なく、あったとしても取り組んでいる内容や考え方が異なるような、発展途上の非常に面白い領域です。 弊社における DBRE チーム発足の背景やチームの役割については「KTC における DBRE の必要性」というテックブログをご覧ください。 本記事では、Aurora MySQL でロック競合(ブロッキング)起因のタイムアウトエラーが発生した際に根本原因を特定することができなかったので、原因を後追いするために必要な情報を定期的に収集する仕組みを構築した

              • アプリケーション開発者のための PostgreSQL アーキテクチャに関する検討: パート 1 | Amazon Web Services

                Amazon Web Services ブログ アプリケーション開発者のための PostgreSQL アーキテクチャに関する検討: パート 1 アプリケーション層は多くのクラウドアーキテクチャで世界中がアクセスする部分ですが、使用しているデータベースに合わせてアプリケーションを最適化する方法を検討することはほとんどないようです。リレーショナルデータベースエンジンを使用するときは、スキーマの設計だけでなく、アプリケーションが管理可能で、スケーラブルで、パフォーマンスが高いことを保証するために、データベースがストレージシステムに対してデータを読み書きする方法を理解することが重要です。シリーズのパート 1 となるこの投稿では、PostgreSQL の主要な用語について説明し、次に、Amazon Aurora PostgreSQL 互換エディションまたは Amazon Relational Dat

                  アプリケーション開発者のための PostgreSQL アーキテクチャに関する検討: パート 1 | Amazon Web Services
                • BigQueryでSaaSのjsonデータを処理するSQLサンプル集 - 下町柚子黄昏記 by @yuzutas0

                  この記事の概要 SaaSのデータをBigQueryに統合することで業務改善を促進できる。 しかし、SaaSのデータの中身を見ると、BigQueryの関数では対応しにくい形式になっていることがある。 そこで、本稿では「こういうデータ形式だったらこういうSQLを書く」というサンプル集を掲載する。 目次 この記事の概要 目次 宣伝 実現したいこと SaaSデータの処理方法 SQLサンプル1: 純粋な配列だけのケース SQLサンプル2: 配列内にハッシュマップがあるケース SQLサンプル3: 配列宣言ナシでカンマ区切りのハッシュマップが突如始まるケース SQLサンプル4: 配列とハッシュが入り乱れるケース SQLサンプル5: JSONの中に親子構造があるケース SQLサンプル6: Objectを定義したくなるケース 最強のJSONパースの関数は作れるか jsonデータの処理をどこで行うか 最後に

                    BigQueryでSaaSのjsonデータを処理するSQLサンプル集 - 下町柚子黄昏記 by @yuzutas0
                  • SIerからWebサービス企業に転職したエンジニアのリアル - BASEプロダクトチームブログ

                    BASE開発担当役員の藤川です。 BASEのYoutube動画で、EC系SIerからBASEに転職してきてくれて4年半を経過したタイミングでの宮村さんにBASEでの働き方についてインタビューをしました。今回は前編と後編の2本立てになります。 前編動画:スタートアップの成長過程の風景について www.youtube.com 2017年に転職してきて、今では技術責任者と呼ばれる開発プロジェクトの設計や技術責任を牽引する役割を担ってもらっていて、SIerからスタートアップに転職したリアルな話を聞いてみました。 動画の中で思い出のプロジェクトとして携帯キャリア決済の実装についてお話いただきました。当時のBASEはクレジットカード決済、後払い、銀行振込等は実装されていて、そこに携帯キャリア決済が実装されました。 キャリア決済を実装したことがある人ならわかると思いますが、相応に決済フローが複雑で情報も

                      SIerからWebサービス企業に転職したエンジニアのリアル - BASEプロダクトチームブログ
                    • Railsのcsvダウンロードで直面する数々の問題を解決したらgemができた 〜csb gemの紹介〜 - Qiita

                      class PostsController < ApplicationController def index @posts = Post.all end end require 'csv' CSV.generate do |csv| column_names = %w[投稿日 カテゴリ タイトル 本文] csv << column_names @posts.each do |post| column_values = [ l(post.created_at.to_date), post.category.name, post.title, post.content, ] csv << column_values end end しかしこのサンプルコードでは次のような問題が解決出来ていません。 Excelで開くと文字化けする レコード件数が大量にあった場合にメモリエラーやタイムアウトエラー

                        Railsのcsvダウンロードで直面する数々の問題を解決したらgemができた 〜csb gemの紹介〜 - Qiita
                      • Rust+WASMでWebクローラーのXMLパースを高速化

                        本記事はストックマークAdvent Calendarの21日目の記事です。 はじめに こんにちは、ストックマークの谷本です。 ストックマークでは、ビジネス情報に特化したデータプラットフォームを独自に構築しています。 本記事では、そのデータプラットフォームの中核であるWebクローラーのパフォーマンスを、Rust+WASMでコスパ良く改善できたという事例を紹介したいと思います。 何が問題だったか Webクローラーは、国内外のニュースサイトや企業サイト、ブログを回覧してビジネス情報をデータ化します。 そのさい、読み込むSitemapやRSS(これらはXML形式で配信されています[1])のサイズが大きいと解析にかなり時間がかかり、想定していた処理時間を超えてタイムアウトエラーを起こすケースがありました[2]。それが少数のサイトであればまだインパクトは小さいですが、回覧するサイトは日々増えており、W

                          Rust+WASMでWebクローラーのXMLパースを高速化
                        • 社内GitLabの大型マイグレーションをした話 - Qiita

                          はじめに この記事は富士通クラウドテクノロジーズ Advent Calendar 2021 の 15 日目の記事です。 こんにちは。富士通クラウドテクノロジーズ株式会社 (FJCT) でエンジニアをしている @aokuma です。 昨日の記事は エンドエンジニアの @seumo 氏による SmithyでAPIリファレンス作成してみよう でした。 Smithy、現在は主に AWS SDK の実装として使われているみたいですが、多言語 SDK が求められるサービスプロバイダーにとって、このような仕組みがオープンになるのはとても嬉しいですね。利用できる言語が更に拡張されるのを期待しています! さて、今日は弊社の開発基盤の中心である 社内 GitLab の大型マイグレーションを実施したお話をしようと思います。 背景 現在、弊社の開発基盤の中でコード管理...にとどまらず、プロジェクト管理や Dev

                            社内GitLabの大型マイグレーションをした話 - Qiita
                          • isucon9q_bench.md

                            isucon9q_bench.md ISUCONのベンチマーカーとGo catatsuy メルカリSRE mercari.go #11 - connpass https://mercari.connpass.com/event/148913/ ISUCONとは http://isucon.net お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトル 競技者は与えられたWebアプリケーションを高速化する 複数の言語による実装(ISUCON9予選ではGo/Perl/PHP/Ruby/Node.js/Python)を運営側が用意する ベンチマークを実行するとアプリケーションに対して仕様確認・負荷走行をしてスコアが出力される 私とISUCON ISUCON4:2位(初出場) ISUCON5:8位 ISUCON6:運営(本選) ISUCON7:予選敗退 I

                              isucon9q_bench.md
                            • Software Design連載 2021年11月号 Robot FrameworkでE2Eテストを自動化する - MonotaRO Tech Blog

                              最初に少しイベントの宣伝 こんにちは。金谷です。 Software Designに連載させていただいております「Pythonモダン化計画」は、前半の4回で、それぞれの局面に合ったテスト手法を用いることで変更容易性を確保する話をしてきました。 前半の4回すべてに出てきたツールにJenkinsさんがいて、何らかのかたちで自動化されています。 モノタロウにおけるモダン化計画に不可欠な存在のJenkinsさん。 なんとこのたび、Jenkins Day Japan 2021というイベントで、Jenkinsの活用事例を発表させていただくことになりました。 「モノタロウの開発・リリースサイクルを支えるJenkinsの活用事例」という内容で金谷が発表させていただきます。 詳細とお申込みは、下記のURLからご覧ください。 cloudbees.techmatrix.jp では本題に入ります。 本記事の初出は、

                                Software Design連載 2021年11月号 Robot FrameworkでE2Eテストを自動化する - MonotaRO Tech Blog
                              • TerraformによるAirbyteを利用したデータ基盤へのデータ連携とCI/CD - Sansan Tech Blog

                                こんにちは!「Sansan Summer Internship 2023」でインターンをしていた野首侑作です(X, Facebook)。R&D Architectグループに1ヶ月強コミットしていました。今回のインターンで使った技術はこれまで全く触ったことがありませんしたが、チームメンバーのサポートもあり本番環境でも動かせるコードを書くことができました。 今回学んだことの整理と、Sansanのインターンで学べることの多さを共有したいという意味を込めて、社内ブログでアウトプットしようと思った次第です。 目次 目次 はじめに ローカルでAirbyteの立ち上げ 1. DockerによるAirbyte serverの起動 2. Sourceの登録 3. Destinationの登録 4. Connectionの登録 5. 接続確認 TerraformによるIaC IaCとは Terraformとは

                                  TerraformによるAirbyteを利用したデータ基盤へのデータ連携とCI/CD - Sansan Tech Blog
                                • Bolt for Python が FaaS での実行のために解決した課題 - Qiita

                                  Bolt とは & 自己紹介 近年、Slack のプラットフォーム機能開発チームは、Slack 連携アプリを作るための公式フレームワークである「Bolt(ボルト)」の開発と普及活動に力を入れています。私はこの Bolt の開発を担当しています(特に Python と Java は大部分を私が手がけたので、思い入れもひとしおです)。 Bolt を使うと Web API を使ってメッセージやファイルを投稿して通知するだけのシンプルな連携ではなく、ボタンやモーダルを活用したインタラクティブなアプリを簡単に作ることができます。また、そのような UI 部品を使わない場合でも、Bolt を使うと Events API の受信とリスナー関数の実装を非常に簡単に実装することができます。 今年のアドベントカレンダーは、まだそこそこ空きがあるようなので、埋まらなかった日については、この Bolt のノウハウを

                                    Bolt for Python が FaaS での実行のために解決した課題 - Qiita
                                  • W杯全64試合無料生中継で「落ちない」を実現。「小さく壊れる」ために行った負荷・障害・セキュリティ対策とは?【ABEMA DEVELOPER CONFERENCE 2023#3】

                                    TOPコラムテック最前線レポートW杯全64試合無料生中継で「落ちない」を実現。「小さく壊れる」ために行った負荷・障害・セキュリティ対策とは?【ABEMA DEVELOPER CONFERENCE 2023#3】 W杯全64試合無料生中継で「落ちない」を実現。「小さく壊れる」ために行った負荷・障害・セキュリティ対策とは?【ABEMA DEVELOPER CONFERENCE 2023#3】 2023年5月25日 株式会社AbemaTV Software Engeneer 辻 純平 2013年サイバーエージェント入社。2018年からABEMAのAPI開発チームに異動。W杯負荷対策ではAPI、データ基盤などのアーキテクトとして活動し、現在はSREとして従事。 日本代表の躍進に日本中が沸いた、2022年の「FIFA ワールドカップ カタール 2022」(以下、W杯)。ABEMAにて全64試合の無料

                                      W杯全64試合無料生中継で「落ちない」を実現。「小さく壊れる」ために行った負荷・障害・セキュリティ対策とは?【ABEMA DEVELOPER CONFERENCE 2023#3】
                                    • 第641回 LXDとmicrok8sでシングルサーバーをKubernetesクラスターにする | gihyo.jp

                                      第560回の「microk8sでお手軽Kubernetes環境構築」では、「⁠シングルノードのみに対応したKubernetes環境構築ツール」としてmicrok8sを紹介しました。その後、このmicrok8sは大幅な進化を遂げて「特定のプロダクション用途でも使える」までになっています。今回はそのmicrok8sに最近追加された、高可用性クラスター機能について紹介しましょう。 密に開発されクラスターにも対応したmicrok8s 第560回の記事が公開されたのはmicrok8sのv1.13がリリースされ、Canonicalとしてもmicrok8sの利用をアピールしだした時期でした。当時はシングルノードにしか対応していないことに加えて、ARM64のサポートを拡充していったことからもわかるように、開発者によるKubernetesの学習用や組み込み用のシンプルなアプリケーションの実行用を主なユースケ

                                        第641回 LXDとmicrok8sでシングルサーバーをKubernetesクラスターにする | gihyo.jp
                                      • フロントエンドテストはじめの一歩 [FLEXY meetupイベントレポート] - FLEXY(フレキシー)

                                        2023年6月27日に開催されたFLEXY meetupのテーマは「フロントエンドのテスト」です。 技術の進化とともにバックエンドとフロントエンドが疎結合になる今、フロントエンド領域ではテストの重要性が高まっています。 一方、現場レベルではテストコードを書いたことがなく、何から始めるべきなのか悩みを抱えているエンジニアは多いのではないでしょうか。 そこで今回は、実際にフロントエンドのテスト導入を行っている古川さん、nus3さんの2名がディスカッション。「フロントエンドテストはじめの一歩」として今、何ができるのかを実例も交えながら教えていただきました。 イベント概要 技術の進化に伴い、アーキテクチャレベルでバックエンドとフロントエンドが疎結合になった今、フロントエンド領域におけるテストの重要性について注目が集まっています。 一方でまだ手法が広まっておらず実際にテストコードを書いたことがないた

                                          フロントエンドテストはじめの一歩 [FLEXY meetupイベントレポート] - FLEXY(フレキシー)
                                        • C#のgRPCクライアントではChannelを再利用しよう - 一休.com Developers Blog

                                          こんにちは。宿泊事業本部の宇都宮です。6月に、Go + gRPCという構成のサービスを運用開始したという記事を書きました。 Go + gRPCによるマイクロサービス構築 - 一休.com Developers Blog 本番運用開始から2ヶ月ほどたち、いくつかのトラブルがありつつ、現在も元気に稼働中です。 運用していく中で定常的に発生していたgRPCのタイムアウトエラーについて、その対処法がわかったので、紹介します。 なお、本記事の知見はC#でのgRPCクライアント実装においては有用でしたが、他の言語では適用できない可能性が高いです。各言語のドキュメントもあわせてご参照ください。 gRPCのタイムアウト 以前の記事で紹介したマイクロサービスは、30~60req/sec程度のリクエストを常時受け付けます。 社内のサービスの中で、このマイクロサービスに最も頻繁にリクエストを送るのは認証基盤で、

                                            C#のgRPCクライアントではChannelを再利用しよう - 一休.com Developers Blog
                                          • SQL ServerのCDCを用いた加熱商品の販売イベントにおける負荷軽減の取り組み - ZOZO TECH BLOG

                                            こんにちは、SRE部の廣瀬です。 本記事では、ZOZOTOWNでカートに商品を入れる際に使われているデータベース群の内、SQL Server(以降、カートDBと呼ぶ)にフォーカスします。ZOZOTOWNでは数年前から、人気の商品(以降、加熱商品と呼ぶ)が発売された際、カートDBがボトルネックとなる問題を抱えています。様々な負荷軽減の取り組みを通じて状況は劇的に改善されていますが、未だに完璧な課題解決には至っていません。 そこで今回は、加熱商品の発売イベントにおける負荷軽減の取り組みを振り返ります。また、直近の取り組みとして、SQL ServerのCDCを用いた新たな負荷軽減の検証内容をご紹介します。 背景 - カートDBのボトルネックについて 加熱商品の発売イベントに関する対策について、最初に言及した記事としては以下が挙げられます。この記事では人気の福袋商品を加熱商品として紹介していますが

                                              SQL ServerのCDCを用いた加熱商品の販売イベントにおける負荷軽減の取り組み - ZOZO TECH BLOG
                                            • Lambdaのタイムアウト検知の仕方とタイムアウト時の対処法・調査方法

                                              Lambdaのタイムアウトについて書いていきまーす! 具体的には、以下の内容について、記載します。 本記事でやること Lambdaのタイムアウトの検知 ログからタイムアウトの有無を確認する CloudWatchのメトリクスフィルタを使用してタイムアウトをメトリクス化(可視化)する方法 タイムアウト時の対処法 まずタイムアウトの検知方法からみていきます。 タイムアウトの検知方法 ログからタイムアウトを検知可能です。 ログを検索してタイムアウトの有無を確認する Lambdaタイムアウト時には「Task timed out」というフレーズがログに吐かれますので、CloudWatchLogsのログインサイトを使ってログを検索することで、タイムアウトの有無を確認できます。 対象のロググループを指定してログインサイト画面へ行き、以下のクエリを実行することで、タイムアウトのログを検索できます。 fiel

                                                Lambdaのタイムアウト検知の仕方とタイムアウト時の対処法・調査方法
                                              • 週刊Railsウォッチ(20190729-1/2前編)Rails 6のリリースは近そう?、Evil MartiansのRails+Docker記事、Railsパフォーマンス測定ほか|TechRacho by BPS株式会社

                                                2019.07.29 週刊Railsウォッチ(20190729-1/2前編)Rails 6のリリースは近そう?、Evil MartiansのRails+Docker記事、Railsパフォーマンス測定ほか こんにちは、hachi8833です。夏がやってまいりました。 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 毎月第一木曜日に「公開つっつき会」を開催しています: お気軽にご応募ください ⚓週刊Railsウォッチ「公開つっつき会」第13回のお知らせ(無料) お申込み: 週刊Railsウォッチ公開つっつき会 第13回|IT勉強会ならTECH PLAY[テックプレイ] 1年目を越えた第13回目公開つっつき会は、8月1日(木)19:30〜

                                                  週刊Railsウォッチ(20190729-1/2前編)Rails 6のリリースは近そう?、Evil MartiansのRails+Docker記事、Railsパフォーマンス測定ほか|TechRacho by BPS株式会社
                                                • 第629回 数分でオールインワンなプライベートクラウドを構築できるminiONE | gihyo.jp

                                                  本連載ではこれまでにも第483回「UbuntuとOpenNebulaでもういちどクラウド環境を構築してみよう」などで、クラウド構築・管理ツールであるOpenNebulaを紹介してきました。今回はこのOpenNebulaをコマンド一発で導入できる「miniONE」を紹介しましょう。 OpenNebulaとminiONE OpenNebulaはプライベートクラウドを構築・管理するためのソフトウェアです。プライベートクラウドの構築・管理ツールといえばOpenStackが有名ですが、OpenNebulaはそれよりも古くから存在し、Eucalyptusと同じぐらいの歴史を持っています。さらに、もともとはKVMベースのツールだったものの、最近ではLXDやFirecrackerをサポートしたり、Kubernetes、Docker Hubとの連携もできるようになるなど、日進月歩なクラウドインフラストラクチ

                                                    第629回 数分でオールインワンなプライベートクラウドを構築できるminiONE | gihyo.jp
                                                  • GCPのIAMポリシー周りでドハマりした話 | フューチャー技術ブログ

                                                    はじめにこんにちは、Technology Innovation GroupのDXユニット所属の村田と申します! DXユニットとはデジタルトランスフォーメーションに関わる仕事を主に推進していくチームです。 私は現在Future IoTプロジェクトに携わっており、最近はもっぱらクラウドインフラに従事しています。 メインの仕事は複数のGoogle Cloud Platform(以下、GCP)プロジェクトとそれぞれの環境(Production/Staging/Developmentなど)の構築・運用です。 この中で個人的にとても面白いと思った知見を得たので「これはぜひブログにしよう!」といま筆を走らせています。 クラウドインフラの使命クラウドインフラと一言で言っても意味する範囲はとても広いですが、私がこのブログで紹介する内容はどちらかというと地味かもしれません。 私が今日紹介したいのは、GCPの「

                                                    • メルペイでのマイクロサービス開発プロセス〜メルカード編〜 | メルカリエンジニアリング

                                                      この記事は、Merpay Advent Calendar 2022 の4日目の記事 メルカードの舞台裏編 です。 こんにちは。メルペイでバックエンドエンジニアをしている @hiroebe です。 メルペイのバックエンドではマイクロサービスアーキテクチャを採用していて、今回のメルカード開発でも新たに専用のマイクロサービス (メルカードマイクロサービス) を開発しました。この記事では、現在のメルペイにおいて新たにマイクロサービスを開発する際のプロセスについて、チーム内での取り組みや実際にやってみた感想を交えて紹介します。 なおメルカードマイクロサービスの役割については、2日目の記事「メルカードのマイクロサービスとカード利用開始まで」および3日目の記事「クレジットカード取引とメルカードマイクロサービスについて」をご覧ください。 Design Doc 新しいサービスをつくるにあたって最初に行うのが

                                                        メルペイでのマイクロサービス開発プロセス〜メルカード編〜 | メルカリエンジニアリング
                                                      • MySQLのギャップロックとネクストキーロック - 41から始めました

                                                        曖昧に理解してるかもと思い、自分の振り返りのために書いてます。 先日書いた記事で作ったデータで説明します。 MySQLのロック 通常、DML実行時に取得されるロックは排他ロックと共有ロックで構成されます。 最初にトランザクションでロックをかけたほうが排他ロック、 ロックがかかったデータを参照だけするためにかけたほうが共有ロックと呼ばれます。 共有ロックがかかった状態では他のトランザクションでも共有ロックはかかり(データの読み取りができ)ますが、データの書き込みはできません。 一方、他のトランザクションが同じ行をロックするのを回避するタイプのロックを排他ロックといいます。 トランザクション分離レベルに応じて、 他のトランザクションが同じ行に書き込むのをブロックできる 他のトランザクションが同じ行を読み取るのをブロックできる となります。 MySQLで書き込み中データ読み取れると思ったでしょ?

                                                          MySQLのギャップロックとネクストキーロック - 41から始めました
                                                        • Serverless時代のシステム監視、ノイズ通知だらけな日々を経験しての反省点 - ZOZO TECH BLOG

                                                          はじめに こんにちは。ZOZOテクノロジーズBtoB開発部の三好です。 今回はServerlessなシステムの監視、保守、運用を行う中で、これまでやってきたことや、その反省点などを紹介します。マネージドサービスでの開発・運用で同じ苦悩をされている、もしくはこれからマネージドサービスを利用して構築する方々の参考になれば幸いです。 サービス紹介 私の所属するBtoB開発部は、Fulfillment by ZOZO(以下FBZ)を提供しています。FBZはZOZOBASEと自社EC、店舗の在庫を一元化し、在庫切れの無い世界を実現するためのサービスです。 その中で、ZOZOBASEと自社ECをつなげるためのデータ連携API開発を担っています。 なぜ監視をするのか 私たちは、日々APIが正常に稼働しているか、不正なデータが発生していないかを監視してます。マネージドなサービスを使って、Serverles

                                                            Serverless時代のシステム監視、ノイズ通知だらけな日々を経験しての反省点 - ZOZO TECH BLOG
                                                          • 5つの銀行で振込処理が遅延、原因は共同利用システムにおけるデータ不整合

                                                            横浜銀行などの共同利用システム「MEJAR」で2022年8月8日、システム障害が起きた。午後3時22分から翌日午前2時ごろまで、内国為替の送受信ができなくなった。内国為替を扱うシステムのデータベースにおけるデータ不整合が原因だった。MEJARはNTTデータがシステムを開発し、地方銀行5行から運用などを受託する。2018年の追加開発時に、データ整合性を担保する作り込みや検証が不足していた。 2022年8月8日午後3時22分、横浜銀行、北陸銀行、北海道銀行、七十七銀行、東日本銀行が共同利用する「MEJAR」で、内国為替の送受信ができなくなるシステム障害が発生した。MEJARは銀行の勘定系や「全国銀行データ通信システム(全銀システム)」への接続系などからなるシステムで、NTTデータが開発し、5行から運用などを受託している。 このシステム障害によってMEJARの利用行では一部のATM(現金預け払い

                                                              5つの銀行で振込処理が遅延、原因は共同利用システムにおけるデータ不整合
                                                            • ISUCON9予選参加記 (5位通過) - methaneのブログ

                                                              mapk0y (インフラ), makki_d (アプリ) とともに「ようするにメガネが大好きです」というチーム名で参加し、2日間を通して5位のスコアで通過しました。 選択言語は Go です。ソースコードはこちらで公開しています。 GitHub - methane/isu9q POST /buy 初期対策 CPUプロファイルを見ると login の bcrypt が重いのはすぐに目に付きます。過去にもあったのでsha1など軽いハッシュへの置き換えも考えましたが、面白くないのでこれはしなくても攻略できるようになっているはずだと出題者を信じて無視します。 最終的に login は残りの2台に分散するだけで一切手を加えずに乗り切りました。 アクセスログを見ると明らかに POST /buy が重く、 campaign を増やしたときのマッコネ (MySQL の Too many connection

                                                                ISUCON9予選参加記 (5位通過) - methaneのブログ
                                                              • Flakyテストから学ぶテスト自動実行分散システム設計入門 - Tabelog Tech Blog

                                                                目次 目次 はじめに 分散システム視点での自動テストシステム 分散システム構成 入力 出力 テスト対象システム コンポーネント ノード Testcase Allocator Cucumber Selenium Browser 事例:食べログで起きた分散システム視点でのFlakyテスト 問題 Flakyテストの事象: "たまに" "不特定" "多数のテストケースが" "Cucumberのstepの60秒タイムアウトエラーで失敗する" Flakyテストの原因調査の複雑さ 原因と対策 「事象A: たまに(4回に1回程度の頻度で)」の原因と対策 「事象B: 不特定 (毎回異なるテストケース)」の原因と対策 「事象C: 多数のテストケースが(テストケース全体の20~70%程度)」の原因と対策 「事象D: Cucumberのstepの60秒タイムアウトエラーで失敗する」の原因と対策 結果 巻き込まれて

                                                                  Flakyテストから学ぶテスト自動実行分散システム設計入門 - Tabelog Tech Blog
                                                                • Kubernetes クラスタ内の別ノード再起動によるTCP接続タイムアウト

                                                                  はじめに GKE クラスタを運用中に、WebSocket の接続が定期的に同時に 4000 近く送信タイムアウトが発生して切断される、という障害に遭遇しました。クライアントからみると WebSocket の再接続をすれば済むと思うかもしれませんが、この切断は TCP 経路中のネットワーク遮断によるものなので、これを通信の両端が検知するまでにはどうやっても時間がかかるため、その間の WebSocket 経由のメッセージのやり取りに支障が発生することは避けられません。また、WebSocket 接続の終了処理リクエストとその後の再接続に伴う確立処理リクエストのスパイクは予期せぬバックエンドの負荷につながります。 障害の原因は特定して コンテナ ネイティブの負荷分散に切り替えることで解消されました。このエントリーでは、障害の発生条件・原因・対応策を簡単にまとめます。GKE に限定して書きますがそれ

                                                                    Kubernetes クラスタ内の別ノード再起動によるTCP接続タイムアウト
                                                                  • サーバーレス LAMP スタック – Part 2: リレーショナルデータベース | Amazon Web Services

                                                                    Amazon Web Services ブログ サーバーレス LAMP スタック – Part 2: リレーショナルデータベース 本投稿は AWS サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Smith による寄稿です。 本シリーズの他のパートは以下のリンクからアクセスできます。また、関連するサンプルコードはこちらの GitHub リポジトリにあります。 パート1:サーバーレス LAMP スタックの紹介 パート3:Webサーバーの置き換え パート4:サーバーレス Laravel アプリの構築 パート5:CDK コンストラクトライブラリ パート6:MVC からサーバーレスマイクロサービスへ この投稿では、サーバーレスアプリケーションで Amazon Aurora MySQLリレーショナルデータベースを使用する方法を学びます。Amazon RDS P

                                                                      サーバーレス LAMP スタック – Part 2: リレーショナルデータベース | Amazon Web Services
                                                                    • 「Go net/http タイムアウト」の完全ガイド

                                                                      GoでHTTPサーバーまたはクライアントを書くとき、タイムアウトは、最も間違えやすく、そして最も軽微な間違えです。選択する対象が数多くあり、間違えても、ネットワークの不具合やプロセスがハングアップするまで、長い間、何の影響もありません。 HTTPは複雑な多段階プロトコルであるため、タイムアウトには万能な解決策はありません。ストリーミングエンドポイントと JSON API とCometエンドポイントを考えてみてください。確かに、デフォルトは多くの場合、あなたが望むものではありません。 この記事では、お客様がタイムアウトを適用する必要があるかもしれないさまざまな段階を取り出し、サーバーとクライアント側の両方で、これを行う色々な方法を見ていきます。 SetDeadlineまず、タイムアウトを実装するためにGoが公開するネットワークプリミティブの「期限」について知る必要があります。 net.Con

                                                                      • 個人開発のWebアプリがツイッター世界トレンド1位になったけどいろいろ辛かった話 #チョコボックス裏話 | vdeep

                                                                        こんにちは、三度の飯よりチョコが好きokutani(@okutani_t)です。嘘です。ちょこっとだけ好きです。チョコだけに、ね!!! くだらないことはさておき?「個人開発で作ったWebアプリがツイッター日本トレンド1位」になりました!やったね!ぱちぱち。 ↑スクショは2020.2.13 21:22に撮ったもの なんと「ツイッター日本トレンド1位2位両方とも独占」しました。あのマッ◯ーを抜きました。一瞬チョコボックスがやばいド◯ッグなんじゃないかと錯覚しました。ただのWebアプリです。はい。 (2020.2.18)追記:twittrendというサービスで調べたところ、「ツイッター世界トレンド1位」だったことが分かりました!(それに伴い記事タイトルを変更しました) せ、世界トレンド1位って、、、(震え声) ↑2020.2.14 0時の時点でツイッター世界トレンド1位 ちなみに作ったWebアプ

                                                                          個人開発のWebアプリがツイッター世界トレンド1位になったけどいろいろ辛かった話 #チョコボックス裏話 | vdeep
                                                                        • SQL Serverの障害調査フローと事例のご紹介~原因不明な障害の調査から解決まで~ - ZOZO TECH BLOG

                                                                          こんにちは。ECプラットフォーム部の廣瀬です。 弊社ではサービスの一部にSQL Serverを使用しています。今回は2020年度に発生していたSQL Serverに関連する障害について、調査から対策実施までの流れを紹介したいと思います。これまでも弊社テックブログにて、SQL Serverに関するトラブルシューティングをいくつか紹介してきました。 techblog.zozo.com techblog.zozo.com techblog.zozo.com これらの記事と今回の記事の最大の相違点としては、「最後まで明確な原因の特定はできなかった」という点です。できる限り詳細な調査を実施しましたが、最後まで原因の特定には至りませんでした。そのような状況下において、どのようなフローで調査を実施し、最終的に障害が発生しない状況を作ることができたか紹介します。 SQL Server以外のデータストアを運

                                                                            SQL Serverの障害調査フローと事例のご紹介~原因不明な障害の調査から解決まで~ - ZOZO TECH BLOG
                                                                          • Rails 6.1: 関連付けをバックグラウンド削除する「dependent: :destroy_async」(翻訳)|TechRacho by BPS株式会社

                                                                            2021.01.18 Rails 6.1: 関連付けをバックグラウンド削除する「dependent: :destroy_async」(翻訳) 概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Rails 6.1 adds support for destroying dependent associations in the background | Saeloun Blog 原文公開日: 2020/11/18 著者: Prasad Walvekar サイト: Saeloun Blog | Ruby on Rails Consulting Company based in San Francisco and Boston 日本語タイトルは内容に即したものにしました。 Rails 6.1: 関連付けをバックグラウンド削除するdependent: :destroy_async(翻訳)

                                                                              Rails 6.1: 関連付けをバックグラウンド削除する「dependent: :destroy_async」(翻訳)|TechRacho by BPS株式会社
                                                                            • Amazon S3のPrivateLinkを使ってyum updateができるか試してみた | DevelopersIO

                                                                              しばたです。 先日Amazon S3でインターフェース型のVPC エンドポイント(PrivateLink使用)がサポートされ話題となっています。 また、従来からあるゲートウェイ型のS3 VPCエンドポイントは閉域ネットワークからAmazon Linuxのyumリポジトリへアクセスするために使うことが可能です。 今回新たにサポートされたインターフェース型のVPC エンドポイントがyumリポジトリへのアクセス用途に使えるのか気になったので試してみることにしました。 最初に結論から はじめに結論から言うと、「インターフェース型のS3 VPCエンドポイントを使ってyum updateをするのは不可能ではなかったが、サポートされている行為か非常に怪しく、そうする意味も全然ない。」という身も蓋もない話になります。 閉域ネットワーク内からyum updateしたいときには従来どおりゲートウェイ型のVPC

                                                                                Amazon S3のPrivateLinkを使ってyum updateができるか試してみた | DevelopersIO
                                                                              • 週刊Railsウォッチ(20200226後編)dry-rbを使うべき理由、最近のRubyオンライン教材、AWSから乗り換えた話ほか|TechRacho by BPS株式会社

                                                                                2020.02.26 週刊Railsウォッチ(20200226後編)dry-rbを使うべき理由、最近のRubyオンライン教材、AWSから乗り換えた話ほか こんにちは、hachi8833です。リモートワークの追い風が吹いているのかもしれません。自分は特にリモートワーク志向ありませんが。 乗るしか無い、このリモートワークビッグウェーブに。 / はてなブログに投稿しました リモートワークで始めるランチ自炊生活 - masa寿司の日記 https://t.co/dR1bwoHdc8 #はてなブログ — masa寿司 (@masa_iwasaki) February 18, 2020 つっつきボイス:「ビッグウェーブ😆」「リモートワークは人によって向き不向きがどうしてもあるので、そこ次第でしょうね☺️」「ですね」「あとメンバー全員がリモートワークについて寛容でないと成り立ちませんし」「リモートワー

                                                                                  週刊Railsウォッチ(20200226後編)dry-rbを使うべき理由、最近のRubyオンライン教材、AWSから乗り換えた話ほか|TechRacho by BPS株式会社
                                                                                • Apache Camel 超入門 - 赤帽エンジニアブログ

                                                                                  こんにちは、ソリューションアーキテクトの蒸野(ムシノ)です。 今回から「Red Hat Fuse」について数回に分けて取り上げてみたいと思います。 まず、Fuseの製品紹介については、下記をご覧ください。 www.redhat.com 初回はFuseのベースとなっている「Apache Camel」の概要に絞って説明をしたいと思います。 「Apache Camelのユーザ会」では以下のように説明しています。 オープンソースのコンポーネントベースのルーティングエンジン 例えば自分のマシン上で作成したExcelやCSVデータがあるとします。 この時、自分のPCの作業場所から別の場所に移動/コピーしたり、他のコンピュータに送信したり、不足している情報を他のコンピュータから取得してExcelやCSVに追加する作業が必要となるケースがあります。 処理するデータ量が少なければ手作業でやっても全然差し支え

                                                                                    Apache Camel 超入門 - 赤帽エンジニアブログ