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
サーキットブレーカー 〜 有料契約店舗数 国内 No.1 ECサービスに神を宿す 〜 / pe...
Search
Akihito Nakano
March 09, 2017
Programming
4.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サーキットブレーカー 〜 有料契約店舗数 国内 No.1 ECサービスに神を宿す 〜 / pepabo_ec_tech_mtg01
2017/03/09 第1回 EC事業部 Tech MTG
Akihito Nakano
March 09, 2017
More Decks by Akihito Nakano
See All by Akihito Nakano
OpenAPI Generator Meetup #1
akihito_nakano
1
1.5k
Libraの現状と技術面をざっくりと / astudy20191114
akihito_nakano
4
1.2k
カート刷新プロジェクトにおけるOpenAPIを活用したコード自動生成の今と明日 / astudy20190419
akihito_nakano
2
700
平静を保ち、コードを生成せよ 〜 OpenAPI Generator誕生の背景と軌跡 〜 / gunmaweb34
akihito_nakano
25
57k
プライベートAPIのクライアントをいい感じにしたい / pepabo_ec_tech_mtg02
akihito_nakano
0
2k
並行・並列処理のテストは難しい
akihito_nakano
2
5k
並列処理で消耗しているかたへ - Snidel のご紹介 -
akihito_nakano
4
3.6k
Other Decks in Programming
See All in Programming
Loosening the Reins: Go Generics Get More Flexible
kuro_kurorrr
0
360
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
2
920
MySQLとPostgreSQLって何が違うの?
akagami
0
150
PyO3 で既存 Python 評価器を Rust core 化する ー wasm-bindgen でブラウザにも配るための設計
kdash
1
110
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
250
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
500
不幸な GC
chencmd
0
850
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
230
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
140
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
190
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
120
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
790
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
570
Into the Great Unknown - MozCon
thekraken
41
2.7k
Mind Mapping
helmedeiros
PRO
1
340
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
480
WCS-LA-2024
lcolladotor
0
820
The SEO identity crisis: Don't let AI make you average
varn
0
550
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Chasing Engaging Ingredients in Design
codingconduct
0
290
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Odyssey Design
rkendrick25
PRO
2
790
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Transcript
தڿਓ(.01&1"#0JOD ୈճ&$ࣄۀ෦5FDI.5( αʔΩοτϒϨʔΧʔ ʙ༗ྉܖళฮࠃ/P&$αʔϏεʹਆΛ॓͢ʙ
8&#ΞϓϦέʔγϣϯΤϯδχΞ &$ࣄۀ෦Χϥʔϛʔγϣοϓάϧʔϓ தڿਓ ͖͋ͬʔ !/","/0@"LJIJUP ಛ߈ୂνʔϜ IUUQTBDLJOUPTIHJUIVCJP
ಛ߈ୂ νʔϜ
None
܅ಛ߈ୂνʔϜͰಇ͔ͳ͍͔ʁ ࠷৽ใΛνΣοΫˠ DPMPSNF@TVJDJEFTRVBE
Χϥʔϛʔγϣοϓ"1*Λத৺ʹͨ͠ܗଶʹ γϑτ͍ͯ͘͠ ΧϥʔϛʔγϣοϓAPIʹڧ͘ґଘ͢Δ ˣ
"1*Λத৺ʹ༷ͨ͠ࢠ
"1*ͷෛՙ͕ߴ·Δ
"1*ʹґଘ͢ΔαϒγεςϜͷෛՙߴ·Δ
Χεέʔυো IUUQEFWFMPQFSTMJOFDPSQDPNCMPHKB Q ࢄαʔϏεڥͷ$JSDVJU#SFBLFSͷద༻-*/&&OHJOFFST`#MPH IUUQTFOXJLJQFEJBPSHXJLJ$BTDBEJOH@GBJMVSF $BTDBEJOHGBJMVSF8JLJQFEJB
αʔΩοτϒϨʔΧʔͰোͷ࿈Λ͙
͜ͷൃදͷΰʔϧ wαʔΩοτϒϨʔΧʔͷඞཁੑΛڞ༗Ͱ͖ͯΔ͜ͱ wαʔΩοτϒϨʔΧʔͷΈΛڞ༗Ͱ͖ͯΔ͜ͱ w(anesha Λ࠾༻͢Δ͖ཧ༝Λڞ༗Ͱ͖ͯΔ͜ͱ
αʔΩοτϒϨʔΧʔͱ IUUQTKBXJLJQFEJBPSHXJLJαʔΩοτϒϨʔΧʔ੍ גࣜࢢઌऔҾʹ͓͍ͯՁ͕֨ҰఆҎ্ͷมಈΛىͨ͜͠߹ʹɺ ڧ੍తʹऔҾΛࢭΊΔͳͲͷાஔΛͱΔ੍Ͱ͋Δɻ ిྲྀ͕ྲྀΕա͗ͨ࣌ʹɺൃͳͲΛ৯͍ࢭΊΔిݯΛམͱ͢ిؾճ࿏ͷःஅثʢαʔΩοτ ϒϨʔΧʔʣͱࣅ͍ͯΔ੍Ͱ͋ΔͨΊɺ͜ͷΑ͏ʹݺΕΔ IUUQTKBXJLJQFEJBPSHXJLJःஅث ःஅثʢ͠ΌͩΜ͖ɺӳදهɿ$JSDVJU#SFBLFSʣɺిྗճ࿏ɾిྗػثͷਖ਼ৗಈ࡞࣌ͷෛՙిྲྀΛ ։ด͢Δͱͱʹɺอޢܧిثͱ࿈ܞͯ͠ࣄނిྲྀʢಛʹབྷࣄނిྲྀʣͳͲΛःஅ͢Δ͜ͱʹΑΓ ෛՙଆͷઃඋΛอޢ͠ɺ্ྲྀଆͷࣄނٴΛࢭ͢Δ։ดثͰ͋Δɻ
IUUQTXXXQIPUPBDDPNNBJOEFUBJM
αʔΩοτϒϨʔΧʔͱ
αʔΩοτϒϨʔΧʔͱ ϑΣΠϧϑΝετ
αʔΩοτϒϨʔΧʔͱ $JSDVJU#SFBLFS IUUQTNBSUJOGPXMFSDPNCMJLJ$JSDVJU#SFBLFSIUNM .BLJOHUIF/FUqJY"1*.PSF3FTJMJFOU IUUQUFDICMPHOFUqJYDPNNBLJOHOFUqJYBQJNPSFSFTJMJFOUIUNM ϒϩά ຊ
αʔΩοτϒϨʔΧʔͱ IUUQTNBSUJOGPXMFSDPNCMJLJ$JSDVJU#SFBLFSIUNM w αʔΩοτϒϨʔΧʔ͕ϦϞʔτίʔϧΛࢹ͢Δ w ࣦഊ͕ᮢʹୡͨ͠Β࡞ಈ͢Δ w Ҏ߱αʔΩοτϒϨʔΧʔ͕ΤϥʔΛฦ͢
αʔΩοτϒϨʔΧʔͱ IUUQTNBSUJOGPXMFSDPNCMJLJ$JSDVJU#SFBLFSIUNM w ͭͷঢ়ଶ w $MPTFE w 0QFO w )BMG0QFO
αʔΩοτϒϨʔΧʔͷ࣮ wIUUQTHJUIVCDPN/FUqJY)ZTUSJY wIUUQTHJUIVCDPNMJOFBSNFSJB wIUUQTHJUIVCDPNDPPLQBEFYQFEJUPS wIUUQTHJUIVCDPNFKTNPOUBSUVSQIQDJSDVJUCSFBLFS
αʔΩοτϒϨʔΧʔͷ؊ w ޭʗࣦഊΛΧϯτ w Τϥʔ w Τϥʔ w ͭͷঢ়ଶ w
$MPTFE 0QFO )BMG0QFO w োͷݕग़ʗ෮چͷஅΛγϯϓϧʹݡ͘ w αʔΩοτϒϨʔΧʔ͕ϘτϧωοΫʹͳͬͯ͠·ͬͨΒຊస
(BOFTIB IUUQTHJUIVCDPNBDLJOUPTIHBOFTIB w (BOFTIB Ψωʔγϟ w ώϯυΡʔڭͷਆ༷ w 1)1
w Τϥʔ
(BOFTIB
(BOFTIB $ganesha = Ackintosh\Ganesha\Builder::build([ ‘failureRate’ => 50, ‘minumumRequests’ => 100,
]); if ($ganesha->isAvailable(‘serviceName’)) { try { Api::request(); $ganesha->success(‘serviceName’); } catch (Api\ServiceUnavailableException $e) { $ganesha->failure(‘serviceName’); } }
σϞ
σϞ IUUQTHJUIVCDPNBDLJOUPTIHBOFTIBUSFFNBTUFSFYBNQMFT σϞͰͬͨεΫϦϓτ
(BOFTIB w͍ͭ࡞ಈͨ͠ͷ͔ ऩଋͨ͠ͷ͔ Ѳ͍ͨ͠ wҙͷॲཧΛϑοΫͰ͖ΔͷͰϩάʹు͘͜ͱͰ͖Δ w(BOFTIB͕ར༻͢ΔετϨʔδͰো͕ى͖ͨΒʁ wԿ͠ͳ͍ɻϦΫΤετΛڐՄ͚ͭͮ͠Δɻ ϑΣΠϧαΠϨϯτ wҙͷॲཧΛετϨʔδোʹϑοΫͰ͖ΔͷͰϩάʹు͘͜ͱͰ͖Δ
wͦͷଞͷΞϐʔϧϙΠϯτ wϓϥΨϒϧͳΞμϓλʔ w૾ͷΩϟϥΫλʔ͕1)1ʹ߹ͬͯΔ w໊લ͕ྑ͍ wਆ༷
༗ྉܖళฮࠃ/P&$αʔϏε ʹ ਆΛ॓͢
͜ͷൃදͷΰʔϧ wαʔΩοτϒϨʔΧʔͷඞཁੑΛڞ༗Ͱ͖ͯΔ͜ͱ wαʔΩοτϒϨʔΧʔͷΈΛڞ༗Ͱ͖ͯΔ͜ͱ w(anesha Λ࠾༻͢Δ͖ཧ༝Λڞ༗Ͱ͖ͯΔ͜ͱ