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

LINE SPOT Medical Mask Map

LINE SPOT Medical Mask Map

LINE SPOT X 口罩地圖 by Vince Chen @ Test Corner #26 https://testcorner.kktix.cc/events/testcorner26

LINE Developers Taiwan

July 07, 2020
Tweet

More Decks by LINE Developers Taiwan

Other Decks in Technology

Transcript

  1. What is LINE SPOT • OMO platform • (Online-Merge-Offline) •

    Integrate LINE and 3-party services • Location base service • UGC platform
  2. • Provide useful information for user • How to mapping

    data • Limit time for implementation • Traffic might be hight • It’s a temporary feature What we have to consider ?
  3. thrift API SPOT Architecture • Micro-service architecture • 60+ micro

    servies deploy on VKS • APIGW integrate all RESTful API, thrift API services • Web-client use GraphQL to retrieve data from APIGW • Kafka, Kafka-stream for data processing API gateway GraphQL web client API API thrift thrift API
  4. Mask service • A new micro service for ⼝口罩地圖 •

    API for getting mask count • store_id mapping to open-data in memory • Sync mask data from OpenAPI • Add mask field in GraphQL schema API mask service thrift API API gateway + mask schema web client API API thrift thrift API
  5. As a automation engineer • Data Correctness • API test

    for checking mask count • System performance test and tuning • APIGW with new schema • Cache • Connection pool
  6. Parallel pipeline for loadtest with K6 Duration: 100s VUS: 1000

    Runner: 5 RPS: 100 Docker image: spot-k6-loadtest:XXX script: test.js
  7. • User can assign • docker image • script for

    testing • runner number, vus per runner • duration • limit RPS per runner • any-other parameters of K6 • influxdb endpoint • Generate parallel job Jenkins Pipeline
  8. Results visualization • K6 has built-in support for outputting results

    data directly to an InfluxDB database • Grafana dashboard • Influxdb/grafana on VKS
  9. Lesson learned from ⼝口罩地圖 • Dashboard/metric is important for micro

    service. • Keep notice on performance during Iterate. • Making tools can help team go further.