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
1
4.2k
サーキットブレーカー 〜 有料契約店舗数 国内 No.1 ECサービスに神を宿す 〜 / pepabo_ec_tech_mtg01
2017/03/09 第1回 EC事業部 Tech MTG
Akihito Nakano
March 09, 2017
Tweet
Share
More Decks by Akihito Nakano
See All by Akihito Nakano
OpenAPI Generator Meetup #1
akihito_nakano
1
1.3k
Libraの現状と技術面をざっくりと / astudy20191114
akihito_nakano
4
1.1k
カート刷新プロジェクトにおけるOpenAPIを活用したコード自動生成の今と明日 / astudy20190419
akihito_nakano
2
630
平静を保ち、コードを生成せよ 〜 OpenAPI Generator誕生の背景と軌跡 〜 / gunmaweb34
akihito_nakano
25
56k
プライベートAPIのクライアントをいい感じにしたい / pepabo_ec_tech_mtg02
akihito_nakano
0
1.8k
並行・並列処理のテストは難しい
akihito_nakano
2
4.7k
並列処理で消耗しているかたへ - Snidel のご紹介 -
akihito_nakano
4
3.5k
Other Decks in Programming
See All in Programming
Webサーバーサイド言語としてのRustについて
kouyuume
1
4.6k
Google Opalで使える37のライブラリ
mickey_kubo
3
140
Developer Joy - The New Paradigm
hollycummins
1
360
Migration to Signals, Resource API, and NgRx Signal Store
manfredsteyer
PRO
0
100
理論と実務のギャップを超える
eycjur
0
180
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
640
What's new in Spring Modulith?
olivergierke
1
170
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
280
ALL CODE BASE ARE BELONG TO STUDY
uzulla
27
6.7k
Software Architecture
hschwentner
6
2.3k
CSC509 Lecture 07
javiergs
PRO
0
240
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
500
Featured
See All Featured
How to Ace a Technical Interview
jacobian
280
24k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Docker and Python
trallard
46
3.6k
YesSQL, Process and Tooling at Scale
rocio
173
15k
Code Reviewing Like a Champion
maltzj
526
40k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Producing Creativity
orderedlist
PRO
347
40k
Raft: Consensus for Rubyists
vanstee
140
7.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
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 Λ࠾༻͢Δ͖ཧ༝Λڞ༗Ͱ͖ͯΔ͜ͱ