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
gokartのキャッシュ競合防止のロック機能
Search
Daiki Ikeshima
July 11, 2023
Programming
0
2.1k
gokartのキャッシュ競合防止のロック機能
Daiki Ikeshima
July 11, 2023
Tweet
Share
More Decks by Daiki Ikeshima
See All by Daiki Ikeshima
MLOpsの「あるある」課題の解決と、そのためのライブラリgokart
mski_iksm
1
1.3k
macのunicode正規化.pdf
mski_iksm
0
32k
実臨床・Webサービス領域での機械学習研究 開発の標準化
mski_iksm
8
25k
高速化・並列化・標準化で スケールするML予測システムの開発
mski_iksm
5
3.1k
pythonでメタプログラミング(メタクラス編)
mski_iksm
1
470
パイプラインツールgokartのタスク競合を解消した話
mski_iksm
0
200
Other Decks in Programming
See All in Programming
人には人それぞれのサービス層がある
shimabox
3
670
イベントストーミングから始めるドメイン駆動設計
jgeem
4
830
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
140
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
490
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
1
670
Passkeys for Java Developers
ynojima
3
850
無関心の谷
kanayannet
0
160
コードに語らせよう――自己ドキュメント化が内包する楽しさについて / Let the Code Speak
nrslib
6
1.4k
カクヨムAndroidアプリのリブート
numeroanddev
0
420
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
110
インターフェース設計のコツとツボ
togishima
2
710
Go Modules: From Basics to Beyond / Go Modulesの基本とその先へ
kuro_kurorrr
0
110
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Scaling GitHub
holman
459
140k
Done Done
chrislema
184
16k
Writing Fast Ruby
sferik
628
61k
Why Our Code Smells
bkeepers
PRO
337
57k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Transcript
ΤϜεϦʔגࣜձࣾౢେथ HPLBSUͷσʔλഁଛճආ ʲ4BOTBOºΤϜεϦʔʳHPLBSUͰര։ൃʂ.-0QTษڧձ dΩϟογϡিಥࢭϩοΫd
ࣗݾհ ౢେथʢ!NTLJ@JLTNʣ ΤϜεϦʔגࣜձࣾ "*ɾػցֶशνʔϜɹ.-ΤϯδχΞ ೖࣾͰHPLBSUྺ Ϣʔβʔڵຯʹ͋ͬͨϨίϝϯυγεςϜͳͲͷ ։ൃʹHPLBSUΛ༻ HPLBSUͷػೳ։ൃ͍ͯ͠·͢
HPLBSUͰλεΫͷ݁ՌΛΩϟογϡϑΝΠϧʹอଘ ෳͷϓϩμΫτPSฒྻԽͰڞ௨Խͤ͞Δͱޮత όον λεΫ" ΩϟογϡϑΝΠϧΛͬͯաڈͷ݁ՌΛ͍ճͤΔ ෳόονͰΩϟογϡΛڞ௨Խ͢ΔͱɺλεΫͷ࠶࣮ߦΛආ͚ΒΕΔ ґଘ
HPLBSUͰλεΫͷ݁ՌΛΩϟογϡϑΝΠϧʹอଘ ෳͷϓϩμΫτPSฒྻԽͰڞ௨Խͤ͞Δͱޮత όον λεΫ" ΩϟογϡϑΝΠϧΛͬͯաڈͷ݁ՌΛ͍ճͤΔ ෳόονͰΩϟογϡΛڞ௨Խ͢ΔͱɺλεΫͷ࠶࣮ߦΛආ͚ΒΕΔ ґଘ ࣮ߦॱ
HPLBSUͰλεΫͷ݁ՌΛΩϟογϡϑΝΠϧʹอଘ ෳͷϓϩμΫτPSฒྻԽͰڞ௨Խͤ͞Δͱޮత όον λεΫ" Ωϟογϡ" ґଘ ࣮ߦॱ ΩϟογϡϑΝΠϧΛͬͯաڈͷ݁ՌΛ͍ճͤΔ ෳόονͰΩϟογϡΛڞ௨Խ͢ΔͱɺλεΫͷ࠶࣮ߦΛආ͚ΒΕΔ
HPLBSUͰλεΫͷ݁ՌΛΩϟογϡϑΝΠϧʹอଘ ෳͷϓϩμΫτPSฒྻԽͰڞ௨Խͤ͞Δͱޮత όον όον λεΫ" λεΫ" Ωϟογϡ" ґଘ ґଘ ࣮ߦॱ
ΩϟογϡϑΝΠϧΛͬͯաڈͷ݁ՌΛ͍ճͤΔ ෳόονͰΩϟογϡΛڞ௨Խ͢ΔͱɺλεΫͷ࠶࣮ߦΛආ͚ΒΕΔ
ಉ͡ΩϟογϡΛૢ࡞͠Α͏ͱ͢Δͱڝ߹͢ΔՄೳੑ͕͋Δ ్தϑΝΠϧ͕ಡΈऔΕͨΓɺফ͑ͯͨΓͯ͠ࠔΔ όον όον λεΫ" λεΫ" Ωϟογϡ" ґଘ ґଘ Ωϟογϡ"
ಉ͡ΩϟογϡΛಉ࣌ʹॻ͖ࠐ͏ͱͨ͠Βɺ Ωϟογϡ͕ڝ߹ͯ͠͠·ͬͨɻɻɻ
ΩϟογϡΛϩοΫ͢ΔػೳΛ։ൃ ॱ൪ʹ࣮ߦ͢Δ͜ͱͰɺΩϟογϡ͕ڝ߹͠ͳ͘ͳͬͨ ΩϟογϡಡΈॻ͖࣌ʹϩοΫΛऔΓɺͭͷδϣϒ͔Β͔͠ΞΫηεͰ͖ͳ͍Α͏ʹ͢Δ όον όον λεΫ" λεΫ" Ωϟογϡ" ґଘ ґଘ
ΩϟογϡΛϩοΫ͢ΔػೳΛ։ൃ ॱ൪ʹ࣮ߦ͢Δ͜ͱͰɺΩϟογϡ͕ڝ߹͠ͳ͘ͳͬͨ όον όον λεΫ" λεΫ" Ωϟογϡ" ґଘ ґଘ ϩοΫͯ͠ॻ͖ࠐΈ
ΩϟογϡಡΈॻ͖࣌ʹϩοΫΛऔΓɺͭͷδϣϒ͔Β͔͠ΞΫηεͰ͖ͳ͍Α͏ʹ͢Δ
ΩϟογϡΛϩοΫ͢ΔػೳΛ։ൃ ॱ൪ʹ࣮ߦ͢Δ͜ͱͰɺΩϟογϡ͕ڝ߹͠ͳ͘ͳͬͨ όον όον λεΫ" λεΫ" Ωϟογϡ" ґଘ ґଘ ྃޙϩοΫΛղআ
ΩϟογϡಡΈॻ͖࣌ʹϩοΫΛऔΓɺͭͷδϣϒ͔Β͔͠ΞΫηεͰ͖ͳ͍Α͏ʹ͢Δ
ΩϟογϡΛϩοΫ͢ΔػೳΛ։ൃ ॱ൪ʹ࣮ߦ͢Δ͜ͱͰɺΩϟογϡ͕ڝ߹͠ͳ͘ͳͬͨ όον όον λεΫ" λεΫ" Ωϟογϡ" ґଘ ґଘ ϩοΫͯ͠ಡΈࠐΈ
ΩϟογϡಡΈॻ͖࣌ʹϩοΫΛऔΓɺͭͷδϣϒ͔Β͔͠ΞΫηεͰ͖ͳ͍Α͏ʹ͢Δ
ΩϟογϡΛϩοΫ͢ΔػೳΛ։ൃ ॱ൪ʹ࣮ߦ͢Δ͜ͱͰɺΩϟογϡ͕ڝ߹͠ͳ͘ͳͬͨ όον όον λεΫ" λεΫ" Ωϟογϡ" ґଘ ґଘ ΩϟογϡಡΈॻ͖࣌ʹϩοΫΛऔΓɺͭͷδϣϒ͔Β͔͠ΞΫηεͰ͖ͳ͍Α͏ʹ͢Δ
ॱ൪ʹ࣮ߦ͢ΔͷͰ͘ͳΔ͕࣌͋Δ ฒྻʹσʔλΛಡΈऔΔͱौʹΑΓԆ͢Δ߹͕͋ͬͨ ࣌ؒ ϩ Ϋ ղ আ ϩ Ϋ ղ
আ ϩ Ϋ ղ আ όον όον όον ͭ ͭ ಡΈࠐΈ ಡΈࠐΈ ಡΈࠐΈ ฒྻͰಈ͔ͨ͠όον͕ଞΛͻͨ͢Β͍ͬͯͯ ε λ τ
৽ϩοΫΛ։ൃॻ͖ࠐΈ࣮ߦதϩοΫɺಡΈࠐΈલʹҰॠϩοΫ େྔʹฒྻͯ͠ಡΈऔΔ߹ͷौ͕ղফ͞Εͨ ಡΈऔΓ࠷தͣͬͱϩοΫ͢ΔͷͰͳ͘ɺલʹҰॠ͚ͩϩοΫ͢ΔΑ͏ʹมߋͨ͠ ࣌ؒ ϩ Ϋ ղ আ όον όον
όον ಡΈࠐΈ ϩ Ϋ ղ আ ಡΈࠐΈ ϩ Ϋ ղ আ ಡΈࠐΈ ͭ ͭ ಡΈࠐΈΛฒྻʹ࣮ߦͰ͖ɺ ͪ࣌ؒΛॖ ε λ τ
ͳͥಡΈऔΓલʹҰॠϩοΫ͕ඞཁ͔ʁ ॻ͖ࠐΈϩοΫ͕औΒΕ͍ͯͳ͍͜ͱΛ֬ೝ͢ΔͨΊ ॻ͖ࠐΈதʹಡΈऔΓΛ։࢝͠ͳ͍Α͏ʹ͢ΔͨΊ ࣌ؒ όον όον όον ϩ Ϋ ղ
আ ಡΈࠐΈ ϩ Ϋ ղ আ ಡΈࠐΈ ͭ ͭ ॻ͖ࠐΈྃ·Ͱ ಡΈऔΓͭ ϩ Ϋ ղ আ ॻ͖ࠐΈ
ಡΈࠐΈதʹॻ͖ࠐΉͱ͓͔͘͠ͳΔΜ͡Όʁ HPLBSUͷϢʔεέʔεͰ͜ͷࣄൃੜ͠ͳ͍ ಡΈऔΓதʹଞόον͕ಉ͡ΩϟογϡΛॻ͖ࠐΉͱɺϑΝΠϧ͕ഁଛ͢Δʁ ˠHPLBSUͰ͜ͷঢ়گൃੜ͠ͳ͍ͷͰηʔϑ ࣌ؒ όον όον ϩ Ϋ ղ
আ ಡΈࠐΈ ಡΈऔΓ͕ߦΘΕ͍ͯΔ࣌Ωϟογϡ͕͋Δ ˠॻ͖ࠐΈൃੜ͠ͳ͍ ϩ Ϋ ղ আ ॻ͖ࠐΈ
ͨͩ͠ɺΩϟογϡΛআ͢Δͱ͓͔͘͠ͳΔ SFSVOͱϩοΫػೳͷซ༻ΊΑ͏ SFSVOΩϟογϡΛআ͢ΔͷͰಡΈࠐΈʹӨڹΛ༩͑ΔՄೳੑ͕͋Δ ࣌ؒ όον όον ϩ Ϋ ղ আ
ಡΈࠐΈ SFSVO͢ΔͱΩϟογϡΛআͯ͠͠·͏ ϩ Ϋ ղ আ আ
ڞ༗ϩοΫͱઐ༗ϩοΫͷߟ͑ํʹྨࣅ ݹ͔͘Β͋Δख๏͚ͩͲɺHPLBSUͷϢʔεέʔεͰे༗ޮ w ΠϊγγຊʢσʔλࢦΞϓϦέʔγϣϯσβΠϯʣͰ հ͞Ε͍ͯΔʮڞ༗ϩοΫʯʮઐ༗ϩοΫʯ w ݹ͔͘Β͋Δख๏͕ͩɺݫີੑͱͷτϨʔυΦϑΛߟ ྀ͢ΔͱHPLBSUͷϢʔεέʔεʹϚον͍ͯ͠Δ w ى͜Γ͏ΔࣄଶΛఆͨ͠σʔλγεςϜͷઃܭ͕ॏཁ
w ྠಡձͬͯ·ͨ͠ʂʂ
͍ํ ˡৄࡉHPLBSUͷυΩϡϝϯτΛࢀর͍ͩ͘͞ʂ ϩοΫ༻ͷαʔόʔʢ3FEJTʣΛཱͯͯɺDPO fi Hʹ3FEJTͷઃఆΛه ϩοΫͷઃఆΛه
·ͱΊ w HPLBSUΩϟογϡ͕ڝ߹͢ΔՄೳੑΛհ w ڝ߹ʴौճආʹڞ༗ϩοΫͷΑ͏ͳϩοΫػೳΛ࣮ ͍ํHPLBSUͷυΩϡϝϯτΛࢀর͍ͩ͘͞ʂ ΤϜεϦʔͰͷࣄʹগ͠ͰڵຯΛ࣋ͬͨΒʂ ΧδϡΞϧ໘ஊ͓͍ͪͯ͠·͢ʂ