Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
JapanTaxiの事業を支える動態サーバー について
Search
ToshiyukiHirai
November 13, 2019
Technology
0
93
JapanTaxiの事業を支える動態サーバー について
ToshiyukiHirai
November 13, 2019
Tweet
Share
More Decks by ToshiyukiHirai
See All by ToshiyukiHirai
SORACOM Canalを使った キャンペーン端末事例
toshiyukihirai
0
1.5k
アプリエンジニアでもできる閉域網構築のススメ!
toshiyukihirai
0
69
Other Decks in Technology
See All in Technology
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
200
AWS環境のリソース調査を Claude Code で効率化 / aws investigate with cc devio2025
masahirokawahara
2
1.4k
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
380
【Grafana Meetup Japan #6】Grafanaをリバプロ配下で動かすときにやること ~ Grafana Liveってなんだ ~
yoshitake945
0
380
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.6k
DDD集約とサービスコンテキスト境界との関係性
pandayumi
2
270
Language Update: Java
skrb
2
280
「魔法少女まどか☆マギカ Magia Exedra」での負荷試験の実践と学び
gree_tech
PRO
0
620
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.3k
AWSで始める実践Dagster入門
kitagawaz
1
470
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
210
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Typedesign – Prime Four
hannesfritz
42
2.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Code Review Best Practice
trishagee
70
19k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Speed Design
sergeychernyshev
32
1.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Transcript
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved ฏҪढ़೭
JapanTaxiͷࣄۀΛࢧ͑Δಈଶαʔόʔ ʹ͍ͭͯ
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved ࣍
2 1. ࣗݾհ 2. ಈଶαʔόʔʹ͍ͭͯ • ಈଶαʔόʔͷ֓ཁઆ໌ • Πϯϑϥߏ֓ཁͷհ 3. ӡ༻ɾอकͷ՝ • ՝/ղܾํ๏ 4. ࠓޙͷలҊ • ՝/ղܾํ๏
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 3
ࣗݾհ
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved ࣗݾհ
4 લ৬·Ͱ ιϑτΣΞΤϯδχΞͱͯ͠ɺதখͷSIerͰࣾ ܦݧͨ͠ޙɺ લ৬ͰࣗಈൢചػͷIoTγεςϜɹ ͳͲAWS׆༻ͨ͠ɺΠϯϑϥߏஙɾΞϓϦέʔγϣ ϯ։ൃϓϩδΣΫτɾ৫ϚωʔδϝϯτΛܦݧ JapanTaxiͰ 20194݄ʹJapanTaxiʹೖࣾɻೖࣾޙɺιϑτ ΣΞΤϯδχΞͱͯ͠ɺಈଶαʔόʔΛ࢝Ίͱ͢ ΔΠϯϑϥͷอकɾӡ༻ंγεςϜͷόοΫΤ ϯυ։ൃΛ୲
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 5
ಈଶαʔόʔʹ ͍ͭͯ
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved ಈଶαʔόʔͱʁ
6 1. Ґஔใ 2. λΫγʔͷঢ়ଶ(ྫ:ۭंܴंͳͲ) 3. ࣌ etc. ҰݴͰݴ͑ɺλΫγʔʹؔ͢Δ֤छใΛऔू͢Δαʔόʔ (ଆͷॲཧ) ྫ͑ɺ
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved ಈଶσʔλͷ׆༻ྫ
7 ྫ1ʮJapanTaxiʯΞϓϦͰͷۭंදࣔ
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved ಈଶσʔλͷ׆༻ྫ
8 ྫ2 ʮJapanTaxiʯΞϓϦͰͷܴंදࣔ
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved ಈଶσʔλͷ׆༻ྫ
9 ྫ3ʮJapanTaxiʯΞϓϦ͔Βจͨ͠ࡍͷं྆ͷݕࡧ จγεςϜ εϚϗΞϓϦ ंγεςϜ (ΫϥΠΞϯτ) ٬ һ ंγεςϜ (αʔό) ಈଶ σʔλ
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved ಈଶσʔλͷ׆༻ྫ
10 ྫ4 λΫγʔձ༷͚ࣾۀࢧԉγεςϜͰͷදࣔ
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved ಈଶσʔλͷ׆༻ྫ
11 ྫ5 GoogleMapsͰͷදࣔ
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved ಈଶαʔόʔͷΠϯϑϥߏ֓ཁ(ొܥ)
12
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 13
ӡ༻ɾอक ͷ՝
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved Redisͷं྆૿ʹΑΔෛՙରࡦ
14 JapanTaxiʹɺچಈଶαʔόʔ(20199݄ʹഇࢭ)͕͋Γɺઌ ΄Ͳհͨ͠ಈଶσʔλݩʑɺͦͪΒΛར༻͍ͯͨ͠ɻ 20194݄ҎલɺձࣾશମͰͷར༻લఏͰͳ͘ɺҰ෦ϓϩ μΫτͷಈଶ͔͠RedisʹೖΕ͍ͯͳ͔ͬͨͨΊɺ࠷ݶͷ Έ͔͠ͳ͔ͬͨɻ <എܠ>
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved Redisͷं྆૿ʹΑΔෛՙରࡦ
15
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved Redisͷं྆૿ʹΑΔෛՙରࡦ
16 ݕূڥͰRedisΛεέʔϧΞοϓͨ͠ΒɺेμϯλΠϜ͕ ൃੜͨͨ͠ΊɺϏδωεʹΠϯύΫτΛ༩͑ͯ͠·͏ɻ ࠓޙɺं͕྆૿͢ΔதͰɺ͜ͷ··ͷΈͩͱݫ͍͠ͱஅ ͨ͠ɻ <ରԠࡦ> ΫϥελʔϞʔυͷ༗ޮԽ(RedisClusterԽ)Λߦ͍ɺෛՙ͕ߴ͘ ͳͬͨ߹ɺεέʔϧΞοϓͰͳ͘ɺεέʔϧΞτ(γϟʔυΛ ૿͢)͢Δઓུมߋ͠ɺμϯλΠϜΛ࠷খݶʹ͑ΔΈ ͱͨ͠ɻ <՝>
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved LambdaͷσϓϩΠͷख͕͔͔ؒΔ
17 LambdaͷσϓϩΠ͕ɺΤϯδχΞͷ৺Թ·Δख࡞ۀͩͬ ͨ… <ରԠࡦ> <՝> Serverless Frameworkͷར༻͠ɺઃఆͷίʔυԽɺࣗಈͰ όοΫΞοϓΛ͢ΔΑ͏ʹͨ͠ɻ ·ͨɺGitHubͷmaster/developͷϚʔδΛϑοΫʹTravis CI ͔ΒAWSڥࣗಈσϓϩΠ͢ΔΈΛ࡞ͬͨɻ
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved RedisClusterͷ͓ࣄ͍ͯ͠ͳ͔ͬͨ
18 RedisClusterͷҰ෦ͷηΧϯμϦϊʔυͰɺHGETALLͳͲ σʔλͷऔಘίϚϯυ͕࣮ߦ͞Ε͍ͯͳ͔ͬͨɻ <՝>
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 19
<ରԠࡦ> go-redis(GoͷRedis SDK)ͷϥΠϒϥϦͷύϥϝʔλΛݟ͠ ͨɻ RedisClusterͷ͓ࣄ͍ͯ͠ͳ͔ͬͨ
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved DynamoDBΩϟύγςΟ
20 ৽ಈଶαʔόʔͷҠߦதʹ͋ΔಥવɺLambdaͷॲཧ ͕ٸܹʹ͘ͳͬͨɾɾɾ <՝>
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved DynamoDBΩϟύγςΟ
21
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved DynamoDBΩϟύγςΟ
22 <ରԠࡦ> DynamoDBͷWriteΩϟύγςΟΛΞοϓͨ͠
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved 23
ࠓޙͷలҊ
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved DynamoDB͔ΒͷҠߦ
24 <վળࡦ> Elasticsearch Service OR Amazon Timestream ʹΓ͑Δ 1.DynamoDB͕ಛੑ্ɺΞϓϦέʔγϣϯଆͰͷߜΓࠐΈͳ ͲΞϓϦέʔγϣϯଆͷॲཧ͕ෳࡶʹͳΔ͕͋ΓɺΞϓ Ϧέʔγϣϯͷอक͕ߴ͘ͳΔ͕͋Δɻ <՝> 2.DynamoDBͰGSIΛՃ͢ΔͱɺDynamoDBͷίετ͕ߴ͘ ͳΔ(௨ৗͷςʔϒϧॻ͖ࠐΈྉۚ×GSIՃ)
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved KinesisʹLambdaෳͿΒԼ͕Γ
25 1ͭͷKinesis͔ΒෳͷLambda͕ͿΒԼ͕Δܗʹͳ͓ͬͯ ΓɺKinesisͷಡΈࠐΈ࣌ͷ੍ݶʹ৮͘͢͠ͳ͍ͬͯΔɻ ͦͷͨΊɺLambda͔ΒͷಡΈࠐΈ࣌ͷԼͷཁҼʹͳΔ Մೳੑ͕͋Δɻ <՝>
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved KinesisʹLambdaෳͿΒԼ͕Γ
26
Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved KinesisʹLambdaෳͿΒԼ͕Γ
27 <վળҊ> ͦΕͧΕͷ༻్ʹԠͨ͡KinesisΛ࡞͢Δ OR ֦ுϑΝϯΞτΛར༻ͯ͠ɺ੍ݶΛճආ͢Δ
จষɾը૾ͷ༰ͷແஅసࡌٴͼෳͷߦҝ͝ԕྀ͍ͩ͘͞ɻ Proprietary and Confidential ©2017 JapanTaxi, Inc. All Rights Reserved
˟102-0094ɹ౦ژઍా۠لඌҪொ3-12 3-12 Kioicho Chiyoda-ku, Tokyo 102-0094 Japan TEL 03-6265-6265ɹFAX 03-3239-8115 www.japantaxi.co.jp