Slide 1

Slide 1 text

LINE SPOT X ⼝口罩地圖 Vince Chen

Slide 2

Slide 2 text

Where is LINE SPOT?

Slide 3

Slide 3 text

What is LINE SPOT • OMO platform • (Online-Merge-Offline) • Integrate LINE and 3-party services • Location base service • UGC platform

Slide 4

Slide 4 text

Put it all together Makes life easier Life on LINE

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

• 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 ?

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

As a automation engineer • Data Correctness • API test for checking mask count • System performance test and tuning • APIGW with new schema • Cache • Connection pool

Slide 10

Slide 10 text

30X user nobody expected a mask map feature …

Slide 11

Slide 11 text

Parallel pipeline for loadtest with K6 Duration: 100s VUS: 1000 Runner: 5 RPS: 100 Docker image: spot-k6-loadtest:XXX script: test.js

Slide 12

Slide 12 text

• 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

Slide 13

Slide 13 text

Results visualization • K6 has built-in support for outputting results data directly to an InfluxDB database • Grafana dashboard • Influxdb/grafana on VKS

Slide 14

Slide 14 text

Performance tuning

Slide 15

Slide 15 text

Lesson learned from ⼝口罩地圖 • Dashboard/metric is important for micro service. • Keep notice on performance during Iterate. • Making tools can help team go further.

Slide 16

Slide 16 text

Q & A

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

Thanks!