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
87
JapanTaxiの事業を支える動態サーバー について
ToshiyukiHirai
November 13, 2019
Tweet
Share
More Decks by ToshiyukiHirai
See All by ToshiyukiHirai
SORACOM Canalを使った キャンペーン端末事例
toshiyukihirai
0
1.5k
アプリエンジニアでもできる閉域網構築のススメ!
toshiyukihirai
0
68
Other Decks in Technology
See All in Technology
VueUseから学ぶ実践TypeScript #TSKaigi #TSKaigi2025
bengo4com
3
5.3k
Swiftは最高だよの話
yuukiw00w
0
230
GigaViewerにおけるMackerel APM導入の裏側
7474
0
150
Rebase エンジニアリング組織の現状とこれから
rebase_engineering
0
110
オープンソースとビジネス: 位置情報の世界からみえる流れ / 札幌IT石狩鍋#2
sorami
0
220
[JAWS-UG 栃木 #2]AWS FISはドSなのか?システムに試練を与えて強くする!
sh_fk2
1
260
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
1
7.1k
ソフトウェアは捨てやすく作ろう/Let's make software easy to discard
sanogemaru
3
440
Okayama WordPress Meetup #12 | そのバックアップ、本当に復元できますか? リストアやってみた!
takeshifurusato
0
100
SmartHRの複数のチームにおけるMCPサーバーの活用事例と課題
yukisnow1823
1
840
Introduction to Bill One Development Engineer
sansan33
PRO
0
230
AIの電力問題を概観する
rmaruy
0
160
Featured
See All Featured
Writing Fast Ruby
sferik
628
61k
Adopting Sorbet at Scale
ufuk
76
9.4k
Producing Creativity
orderedlist
PRO
345
40k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
640
Building a Scalable Design System with Sketch
lauravandoore
462
33k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
A better future with KSS
kneath
239
17k
GitHub's CSS Performance
jonrohan
1031
460k
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