Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MTC2018 - Customer Experience Improvement

mercari
October 04, 2018

MTC2018 - Customer Experience Improvement

Speaker: 市川 慎吾

メルカリはCustomer Serviceを特に重視しており、アプリケーションの成長と共にCustomer Serviceチームも大きく成長しお客様の体験向上の為に日々尽力しています。
社員数の半数以上にもなるCustomer Serviceチームがどのようなシステムを使用しているのか、MAU:1,075万人から行われる出品や取り引きをどのようにモニタリングしているのか、そしてMicroservice化が進んでいく今Customer Serviceのシステムをどのように進化をさせていくかについて話します。

mercari

October 04, 2018
Tweet

More Decks by mercari

Other Decks in Technology

Transcript

  1. CSTool • 創業当初から内製しているCustomer Serviceがオペレーションで 使用するためのシステムの総称 • 現在は2代目 • 主にPHP 7.1

    + DietCube (Backend)、React (Frontend),、 BootStrap (CSS)を使用している • お問い合わせ対応、アカウント / 商品監視、コンテンツ管理 (ニュースやメルカリボックス)等の機能を全て自分たちで実装して いる
  2. 商品監視 Client Mercari API Q4M Monitoring Worker sell request en-queue

    de-queue hide / report request insert / update Sakura Ishikari DC - Mercari API: PHP - Messaging: Q4M - Monitoring Worker: PHP - Database: MySQL
  3. 商品監視 With Machine Learning Client Mercari API Machine Learning Platform

    sell request publish_1 subscribe_1 hide / report request insert / update publish_2 Monitoring Worker subscribe_2 Google Cloud PubSub Sakura Ishikari DC - Mercari API: PHP - Database: MySQL GCP (GKE) - Monitoring Worker: Go - ML Platform: Python
  4. CSTool Mercari API SQL Data Fetching HTTP Request SELECT …

    FROM items JOIN item_x ON ... JOIN transactions ON … JOIN users ON ... Now
  5. CSTool DB Service Data Fetching HTTP Request User Service Item

    Service GraphQL Service Mercari API gRPC gRPC gRPC Future GraphQL
  6. Client Generation proto repository client repository (Go, Python, PHP, etc…)

    master feature master feature Circle CI Circle CI Circle CI
  7. CSTool GraphQL Service Service A Service B Service C Service

    A Client proto request proto response GraphQL Query on HTTP Request HTTP Response Service B Client Service C Client GraphQL Service
  8. GraphQL Service • Go + gqlgen を使用 ◦ SDLでAPIを定義して、Serverコードの自動生成なども可能 •

    チームのGoに対する学習意欲が高いことや、社内でサポートが 得られやすそうという理由でGoで始めることにした • CS Toolからのリクエストは簡単&柔軟に行えるようになりそうだ が、GraphQL由来の新たな課題も出てくる(モニタリング、N+1)
  9. CS Tool Re-Archtecture • 現在のCS Toolが出来て既に4年以上が経過している • サービスもCSも大きく成長したため、今のCS Toolが最適な形に なっているとは言えなくなってきた

    • 既存の業務内容や業務フローを分析しなおして、CS Toolの再設 計・リプレイスを行っていく • まずは、商品監視チームの生産性向上をゴールとして動き始めて いる