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
71
JapanTaxiの事業を支える動態サーバー について
ToshiyukiHirai
November 13, 2019
Tweet
Share
More Decks by ToshiyukiHirai
See All by ToshiyukiHirai
SORACOM Canalを使った キャンペーン端末事例
toshiyukihirai
0
1.4k
アプリエンジニアでもできる閉域網構築のススメ!
toshiyukihirai
0
61
Other Decks in Technology
See All in Technology
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
600
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
200
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
The Rise of LLMOps
asei
9
1.7k
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
420
複雑なState管理からの脱却
sansantech
PRO
1
160
心が動くエンジニアリング ── 私が夢中になる理由
16bitidol
0
100
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.2k
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.9k
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
210
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Adopting Sorbet at Scale
ufuk
73
9.1k
The Cult of Friendly URLs
andyhume
78
6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Six Lessons from altMBA
skipperchong
27
3.5k
Facilitating Awesome Meetings
lara
50
6.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Docker and Python
trallard
40
3.1k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Embracing the Ebb and Flow
colly
84
4.5k
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