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

2102a6b8760bd6f57f672805723dd83a?s=128

line_developers_tw

July 07, 2020
Tweet

Transcript

  1. LINE SPOT X ⼝口罩地圖 Vince Chen

  2. Where is LINE SPOT?

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

    Integrate LINE and 3-party services • Location base service • UGC platform
  4. Put it all together Makes life easier Life on LINE

  5. SPOT X ⼝口罩地圖 2/4 衛福部宣布於 2/6 實施⼝口罩購買實名制 2/5 健保特約藥局資料 on

    LINE SPOT 2/6 串串接OpenAPI, ⼝口罩地圖上線
  6. • 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 ?
  7. 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
  8. 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
  9. As a automation engineer • Data Correctness • API test

    for checking mask count • System performance test and tuning • APIGW with new schema • Cache • Connection pool
  10. 30X user nobody expected a mask map feature …

  11. Parallel pipeline for loadtest with K6 Duration: 100s VUS: 1000

    Runner: 5 RPS: 100 Docker image: spot-k6-loadtest:XXX script: test.js
  12. • 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
  13. Results visualization • K6 has built-in support for outputting results

    data directly to an InfluxDB database • Grafana dashboard • Influxdb/grafana on VKS
  14. Performance tuning

  15. Lesson learned from ⼝口罩地圖 • Dashboard/metric is important for micro

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

  17. LINE SPOT is 值得信賴的⽣生活幫⼿手

  18. Thanks!