Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
High-Impact refactors keeping the lights on
Ticketea Engineering
September 23, 2017
Programming
1
350
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
260
Ticketea, scaling a highly transactional business
ticketeaeng
0
190
Introducción a React Native
ticketeaeng
0
160
Virtual Lines with Asyncio
ticketeaeng
0
100
Cloud and Devops at ticketea
ticketeaeng
0
160
Developing our Box Office app
ticketeaeng
0
66
Architecture and Devops 2015
ticketeaeng
1
270
ticketea internals
ticketeaeng
2
380
Other Decks in Programming
See All in Programming
ECテックカンファレンス2023
kspace
1
380
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
7
6.5k
Makuakeの認証基盤とRe-Architectureチーム
bmf_san
0
640
Excelの助けを借りて楽にシナリオを作ろう
rpa_niiyama
0
340
ポケモンで学ぶiOS 16弾丸ツアー 🚅
giginet
PRO
1
620
Git Rebase
bkuhlmann
10
1.2k
Qiita Night PHP 2023
fuwasegu
0
11k
Amazon QuickSightのアップデート -re:Invent 2022の復習&2022年ハイライト-
shogo452
0
250
What's new in Shopware 6.5
shyim
0
130
ペパカレで入社した私が感じた2つのギャップと向き合い方
kosuke_ito
0
320
Why Money Forward contributes to Ruby and RubyKaigi?
luccafort
0
120
SwiftPMのPlugin入門 / introduction_to_swiftpm_plugin
uhooi
2
110
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
263
18k
Happy Clients
brianwarren
90
5.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
2
410
GraphQLとの向き合い方2022年版
quramy
20
9.9k
Making Projects Easy
brettharned
102
4.8k
Bash Introduction
62gerente
601
210k
Building an army of robots
kneath
301
40k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
13
5.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
643
54k
Rebuilding a faster, lazier Slack
samanthasiow
69
7.6k
Docker and Python
trallard
30
1.9k
5 minutes of I Can Smell Your CMS
philhawksworth
198
18k
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