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
High-Impact refactors keeping the lights on
Search
Ticketea Engineering
September 23, 2017
Programming
1
530
High-Impact refactors keeping the lights on
First presented at PyConES 2017
Ticketea Engineering
September 23, 2017
Tweet
Share
More Decks by Ticketea Engineering
See All by Ticketea Engineering
Python Static Typing with MyPy
ticketeaeng
0
290
Ticketea, scaling a highly transactional business
ticketeaeng
0
220
Introducción a React Native
ticketeaeng
0
180
Virtual Lines with Asyncio
ticketeaeng
0
110
Cloud and Devops at ticketea
ticketeaeng
0
180
Developing our Box Office app
ticketeaeng
0
76
Architecture and Devops 2015
ticketeaeng
1
340
ticketea internals
ticketeaeng
2
450
Other Decks in Programming
See All in Programming
最近追加した型の紹介とその振り返り
aki19035vc
0
180
유연한 Composable 설계
l2hyunwoo
0
380
はしめてのプログラミングとロボット制御
watawatavoltage
0
290
最古の関数型言語「Lisp」ことはじめ / lisp_in_kamiyama
uhooi
1
190
CSC307 Lecture 07
javiergs
PRO
0
220
CSC307 Lecture 14
javiergs
PRO
0
220
日付と正規化
megmogmog1965
0
140
CSC307 Lecture 08
javiergs
PRO
0
330
ドメイン駆動設計の実践
masuda220
PRO
19
5.2k
20240706_CDKConf
takuyay0ne
0
1.2k
君たちはどうコードをレビューする (される) か / 大吉祥寺.pm
utgwkk
15
8.5k
Temporalを取り巻く仕様を整理する
sajikix
0
120
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
78
15k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
GraphQLとの向き合い方2022年版
quramy
36
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
25
6.7k
A designer walks into a library…
pauljervisheath
201
24k
How to train your dragon (web standard)
notwaldorf
79
5.5k
KATA
mclloyd
20
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
18
1.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
42
2.7k
The Brand Is Dead. Long Live the Brand.
mthomps
52
36k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
12
3.8k
Transcript
High-impact refactors keeping the lights on @Kartones Diego Muñoz
01. What 02. Why 03. How 04. When Agenda
What
What
What
Why
Why
Why
How
Mega structures How
Mega structures How
DB High-frequency selling How CMS API CRUD Current (simplified) flow
How Extend, not modify* API DB High-frequency selling CRUD CMS
REDIS EVENT BUS EVENT BUS APU *do modify if needed to allow extension
Patterns & Practices - Parallel change - Strangler How API
DB High-frequency selling CRUD CMS REDIS EVENT BUS EVENT BUS APU
How API DB High-frequency selling CRUD CMS REDIS EVENT BUS
EVENT BUS APU Patterns & Practices - Event Bus - Cursor-based - N writers/readers
How API DB High-frequency selling CRUD CMS REDIS EVENT BUS
EVENT BUS APU Patterns & Practices - Event Sourcing
How API DB High-frequency selling CRUD CMS REDIS EVENT BUS
EVENT BUS APU “Build exciting things with boring nice technologies” - Python 3.6 · Strongly typed (Mypy) · Dockerized - Redis with LUA - AWS Kinesis github.com/ticketea/pynesis
When
When Continous Iteration - No hard deadline - Desired: soon
:-)
Latest benchmark: ~4100 ops/sec - Single CPU core, 20k tickets,
50k concurrent users - Attacking internal API - Room for optimization When
Current status: - Free events - Paid events on their
way · Play safe (money involved!) · Lots of payment methods When
Release plan: - Now: Hack (Special payment method) - 1.0:
Feature Toggling When
Rollout plan 01. Canary: big free event 02. Dark launch:
on paid events 03. B/G: Gradual switch When
THE END Thanks! @Kartones