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
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
500
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
170
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
200
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
620
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
170
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
Making Projects Easy
brettharned
115
5.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
For a Future-Friendly Web
brad_frost
175
9.4k
Done Done
chrislema
181
16k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Visualization
eitanlees
145
15k
Navigating Team Friction
lara
183
14k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Facilitating Awesome Meetings
lara
50
6.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