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
110
JapanTaxiの事業を支える動態サーバー について
ToshiyukiHirai
November 13, 2019
Tweet
Share
More Decks by ToshiyukiHirai
See All by ToshiyukiHirai
SORACOM Canalを使った キャンペーン端末事例
toshiyukihirai
0
1.6k
アプリエンジニアでもできる閉域網構築のススメ!
toshiyukihirai
0
78
Other Decks in Technology
See All in Technology
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
110
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2.1k
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
520
Red Hat OpenStack Services on OpenShift
tamemiya
0
140
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
200
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
190
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.7k
配列に見る bash と zsh の違い
kazzpapa3
3
170
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
340
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
0
350
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
270
Exadata Fleet Update
oracle4engineer
PRO
0
1.1k
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
From π to Pie charts
rasagy
0
130
Building Applications with DynamoDB
mza
96
6.9k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
68
Abbi's Birthday
coloredviolet
1
4.8k
Docker and Python
trallard
47
3.7k
We Are The Robots
honzajavorek
0
170
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
How to Talk to Developers About Accessibility
jct
2
140
Exploring anti-patterns in Rails
aemeredith
2
260
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