ブックマーク / engineering.mercari.com (11)

  • マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング

    この記事はMERPAY TECH OPENNESS MONTHの15日目の記事です。 こんにちは。メルペイのPayment PlatformチームでPaymentServiceの開発を担当するエンジニアの @foghost です。 メルペイではマイクロサービスのアーキテクチャで決済システムを開発しています。その中でPaymentServiceは決済トランザクション管理の基盤サービスとして、下位層のサービス(外部サービスも含め)が提供する各種決済手段を利用して、上位層のサービス(メルカリ、NFC,コード払いなど)に必要な決済フローを共通APIとして提供しています。PaymentServiceが提供する決済処理に複数のサービスを跨いでお金の動きを正確に管理する必要があるので、作り始めた頃から決済トランザクション管理を最も重要な課題として、サービスを跨いでもデータの整合性が取れる仕組みを作ってき

    マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング
    hoisjp
    hoisjp 2019/06/08
  • プロダクトのリリース前から新ダッシュボード「Looker」の導入に踏み切ったわけ | メルカリエンジニアリング

    こんにちは。メルペイのデータアナリストチームです。 メルペイはプロダクトの開発フェーズにあり、リリースに向けて全社で頑張っています。 「プロダクトがないのに、データ分析?」と思う方もいらっしゃるはずなので、メルペイのデータアナリストの業務と、力を入れているダッシュボードツール「Looker」の活用について紹介させて頂きます。 Lookerの公式ページはこちら プロダクトがないフェーズでの仕事 Lookerの話をする前に、まずは私達の状況を簡単に説明します。 分析チームを抱える企業は沢山ありますが、「プロダクトができる前から活動しているケース」は少ないと思います。 そういった意味では、私達のチームは他の会社と比べてユニークなポジションになっています。 一言で言えば「事業を作るための分析」を行っています。 メルペイの事業が成り立つには「良いプロダクト」を作り、「ステークホルダーとの関係」を築き

    プロダクトのリリース前から新ダッシュボード「Looker」の導入に踏み切ったわけ | メルカリエンジニアリング
    hoisjp
    hoisjp 2018/08/27
  • ImageFluxを利用した画像配信の最適化〜動的リサイズとWebP変換〜 | メルカリエンジニアリング

    SREチームの@cubicdaiyaです。今回はメルカリにおける画像配信とImageFluxを利用した画像の動的なリサイズとWebP変換の導入によってアプリのデータ通信量を大幅に削減した事例について紹介します。 ImageFluxはクラウド画像変換サービスです。URLに画像変換用のパラメータを組み込むことで画像データの拡大・縮小やオーバレイ、フォーマット変換等が実現できます。 メルカリにおける画像データ メルカリのアプリ上で発生するデータ通信の大部分はタイムラインや検索結果に表示される画像データが占めています。種類はいろいろありますが例えば、 商品画像 プロフィール画像 バナー画像 といったものが挙げられます。特に商品画像はデータ量がとにかく多く、毎日百万個単位で増加するほか、タイムラインや検索結果をはじめ、多くの機能で活用されています。 ImageFluxを利用した画像変換でデータの通信

    ImageFluxを利用した画像配信の最適化〜動的リサイズとWebP変換〜 | メルカリエンジニアリング
    hoisjp
    hoisjp 2018/01/30
  • https://engineering.mercari.com/entry/2017/12/18/deadlock

    https://engineering.mercari.com/entry/2017/12/18/deadlock
    hoisjp
    hoisjp 2017/12/19
  • CDN切り替え作業における、Web版メルカリの個人情報流出の原因につきまして - Mercari Engineering Blog

    日コーポレートサイトでお知らせした通り、Web版のメルカリにおいて一部のお客さまの個人情報が他者から閲覧できる状態になっていたことが判明しました。原因はすでに判明して修正が完了しております。また、個人情報を閲覧された可能性のあるお客さまには、メルカリ事務局より、メルカリ内の個別メッセージにてご連絡させていただきました。 お客さまの大切な個人情報をお預かりしているにも関わらず、このような事態に至り、深くお詫びを申し上げます。 エントリでは技術的観点から詳細をお伝えさせていただきます。 2017年6月27日 CDNのキャッシュの動作について、CDNプロバイダと仕様について確認し検証を行いました。その結果一部記述に実際と異なる箇所があり、加筆修正いたしました。 概要 メルカリWeb版のコンテンツキャッシュをしているCDNのプロバイダ切り替えを行いました。 その際来キャッシュされるべきでない

    CDN切り替え作業における、Web版メルカリの個人情報流出の原因につきまして - Mercari Engineering Blog
    hoisjp
    hoisjp 2017/06/27
  • モダンなテスト管理プロセスのためにテスト管理ツール3つを比較検討したはなし | メルカリエンジニアリング

    こんにちは。メルカリのテストエンジニアとして、スマホアプリのテスト自動化をぶりぶりしている@daipresentsです。 テスト自動化をすすめるにあたり、効率のよいテストを作るために、既存のテストケースについて調べる機会がありました。その過程で現状のQAプロセスも確認したのですが、以下のようなテストケース管理の課題があることがわかりました。 それぞれのテストエンジニアが、それぞれの方法で、それぞれのテストケースを管理しているため、ナレッジが横につながりにくい。 共有されているリグレッションテスト項目の更新が追いついておらず、情報が古くて使いにくい。 人数が増えてきて、ふりかえりや改善がやりにくい。 1については、現在、職能横断的なチーム構成になっているため、プロジェクトやプロダクトに集中できる環境である反面、それぞれのチームにいるQAエンジニアどうしのつながりが薄れてしまうことが原因に感じ

    モダンなテスト管理プロセスのためにテスト管理ツール3つを比較検討したはなし | メルカリエンジニアリング
    hoisjp
    hoisjp 2017/03/31
  • スタンドアロンAMPのススメ

    こんにちわ、@t32kです。先日、3/18に大阪で開催されたFRONTEND CONFERENCE 2017に登壇してきました。また弊社メルカリは懇親会スポンサーでした。今回は『スタンドアロンAMPのススメ』というタイトルで講演した内容をシェアしたい思います。 私が所属しているソウゾウ社ではメルカリアッテというクラシファイドサービスを作っています。メルカリは配送システムを介して売買しますが、こちらは直接会って手渡しでモノの売り買いができます。もちろん、手数料や配送料はかかりませんので、よろしかったら使ってみてください。私はそこのWeb担当で、サイトのAMP実装について話します。 今日のアジェンダです。 AMPのメリット 表現力について テンプレート分散について 構造化データについて まとめ といった内容でやっていきたいと思います。 AMPとは? まずはAMPとは何か説明します。AMPとは

    スタンドアロンAMPのススメ
    hoisjp
    hoisjp 2017/03/22
  • Mercari Day 2017 Tech Track 発表資料まとめ | メルカリエンジニアリング

    iOS チームの @jarinosuke です。 2017年1月20日に Mercari Day 2017 というイベントを開催しました。 当日はあまり天気も良くない中、とてもたくさんの方々に足を運んで頂き大盛況の中イベントを終えることができました。 ご参加いただいた皆様、ありがとうございました! この記事では、そのイベント内で行われた全ての技術系の発表資料をまとめて紹介させていただきます。 スライド一覧 以下、登壇者スライドの一覧になります。 Mercari – Moving Beyond Borders 柄沢 聡太郎 This is mercari, This is an SRE. 佐々木 健一 品質向上の取り組み 鈴木 祥真 グローバル展開を支える量子的なサービス設計 中野 拓 アプリファーストの影で頑張るWebの話 坂 結衣 メルカリiOSアプリ開発の現状とこれから 石川 直樹

    Mercari Day 2017 Tech Track 発表資料まとめ | メルカリエンジニアリング
    hoisjp
    hoisjp 2017/01/26
  • ハイパフォーマンスGaurun〜メルカリの大規模プッシュ配信を支えるミドルウェア〜 | メルカリエンジニアリング

    SREチームのcubicdaiyaです。 今回はブログでも何度か紹介しているGaurunを利用したメルカリのプッシュ配信基盤とGaurunのパフォーマンスを最大化する方法について紹介します。 github.com 改めて紹介するとGaurunはスマホアプリ向けのプッシュ通知サーバです。APNsやGCMへのプッシュ通知処理をHTTP + JSONベースのAPIでラップして大量のプッシュ通知を素早く送信することができるのが特徴です。 メルカリのプッシュ配信基盤 メルカリのプッシュ配信基盤はnginxによるL7ロードバランサーとGaurunで構成されています。 APIサーバ(e.g. 商品の購入や発送等のイベント通知)やジョブワーカ、バッチ(e.g. キャンペーン等による一斉配信)からはGaurunが提供するHTTP + JSONベースのAPIを利用してiOSやAndroidの端末へのプッシュ

    ハイパフォーマンスGaurun〜メルカリの大規模プッシュ配信を支えるミドルウェア〜 | メルカリエンジニアリング
    hoisjp
    hoisjp 2016/11/09
  • nginxによるTCPロードバランサー | メルカリエンジニアリング

    SREチームの@cubicdaiyaです。今回はnginxによるTCPレイヤーでのロードバランスについて解説します。 ロードバランサーとしてのnginx nginxはHTTPやTCP、UDP等の複数のレイヤーでロードバランサーとして稼働させることができます。(TCPロードバランサーは1.9.0以降、UDPロードバランサーは1.9.13以降で利用可能です) また、ngx_http_ssl_module や ngx_stream_ssl_module を利用することでそれぞれのレイヤーでTLSを有効化することも可能です。 TCPロードバランサー用のモジュールを有効にする HTTPレイヤーでロードバランスするためのモジュールはデフォルトで組み込まれますが、TCP(とUDP)レイヤーでロードバランスするにはnginxのconfigureスクリプトに--with-stream(あるいは --with

    nginxによるTCPロードバランサー | メルカリエンジニアリング
    hoisjp
    hoisjp 2016/08/18
  • Widebullet〜API Gateway with JSON-RPC〜 | メルカリエンジニアリング

    SRE(Site Reliability Engineering)チームの@cubicdaiyaです。今年のはじめから開発しているWidebulletというシンプルなAPI Gatewayを紹介します。 WidebulletはJSON-RPCをベースにしたシンプルなAPI Gatewayです。Goで書かれています。 github.com JSON-RPCはJSONによるRPC(Remote Procedure Call)プロトコルで、リクエストやレスポンスのボディに含まれるJSONを利用してクライアント/サーバ間の通信を行います。 # リクエストボディ { "jsonrpc": "2.0", "method": "echo", "params": {"msg": "ok"}, "id": "1"} # レスポンスボディ {"jsonrpc": "2.0", "result": "ok",

    Widebullet〜API Gateway with JSON-RPC〜 | メルカリエンジニアリング
    hoisjp
    hoisjp 2016/03/28
    サブクエリ的なリクエストができるかどうかが、aggregation layer系のひとつのバーになると思っている
  • 1