How Slack Works

  Рет қаралды 150,443

InfoQ

InfoQ

Күн бұрын

InfoQ Dev Summit Boston, a two-day conference of actionable advice from senior software developers hosted by InfoQ, will take place on June 24-25, 2024 Boston, Massachusetts.
Deep-dive into 20+ talks from senior software developers over 2 days with parallel breakout sessions. Clarify your immediate dev priorities and get practical advice to make development decisions easier and less risky.
Register now: bit.ly/47tNEWv
--------------------------------------------------------------------------------------------------------------------------------------
Download the slides & audio at InfoQ: bit.ly/2z2fA57
Keith Adams takes a tour of Slack's infrastructure, from native and web clients, through the edge, into the Slack datacenter, and around the various services that provide real-time messaging, search, voice calls, and custom emoji.
This presentation was recorded at QCon San Francisco 2016.

Пікірлер: 48
@cerberuspandora
@cerberuspandora 5 жыл бұрын
I love how honest this guy is
@ridhwaans
@ridhwaans 3 жыл бұрын
which part
@zss123456789
@zss123456789 4 жыл бұрын
*Timestamps* 0:00 Intro (Keith Adams) 1:26 Agenda 2:37 Scale and Style 6:18 Architecture Overview 8:19 Logging in 14:11 MySQL Shards 18:18 RTM.start payload 19:51 Message server 24:32 Deferring Work 27:39 Putting it all together 31:41 Challenges 32:59 Challenge 1: Mains Failure 34:14 Challenge 2: Rtm.start for large teams 35:02 Challenge 3: Mass reconnects Plan of attacks 35:50 Scale-out mains 37:04 Rtm.start for large teams 38:33 Mass reconnects 41:45 Stuff left out 43:19 Wrapping up 44:20 Questions
@pathoslp
@pathoslp 3 жыл бұрын
🐐
@tommyls4357
@tommyls4357 2 жыл бұрын
I love how articulate he is. He comes across as a smart guy. I'd like to work with him.
@sanjay_nk
@sanjay_nk 3 жыл бұрын
Handling great scale with simplicity in design. Excellent !!
@Super21Nash
@Super21Nash 3 жыл бұрын
Slack in 2016 was a pretty new app, and I completely respect the devs decisions to favor faster deployment. I have experience with a product which is almost 10 yr+ old and - we are still scrambling for DB alerts.
@nitrovent
@nitrovent 2 жыл бұрын
I feel with you. We have a large SharePoint Farm solution that is ~10 years old we work on
@BillaCode
@BillaCode Жыл бұрын
I realised after 4 years of experience working in software field, I still don't have basic knowledge of making a high scalable app. Great video, thanks for sharing this great knowledge
@augusto3113
@augusto3113 5 жыл бұрын
I just wish the "Microsoft Teams" would watch this and learn to not suck
@arunsatyarth9097
@arunsatyarth9097 3 жыл бұрын
There is nothing great about this design btw.
@lattelover7186
@lattelover7186 3 жыл бұрын
@@arunsatyarth9097 No need a fancy architecture if the classic one get the job done and still easier to maintain.
@arunsatyarth9097
@arunsatyarth9097 3 жыл бұрын
@@lattelover7186 I didnt say the word "fancy". I just said there is nothing in particular here for Teams folks to look at and learn as OP suggests.
@YourAliasIsNotAvailable
@YourAliasIsNotAvailable 2 жыл бұрын
@@lattelover7186 "easier to maintain" on a 1M loc monolith php app... Do you even code?
@simonc997
@simonc997 3 жыл бұрын
At 18:00, can someone help me understand what he means by the left and right heads, writing left and writing right?
@karana2260
@karana2260 3 жыл бұрын
active-active can run into collisions when same data is updated in both parallely. Think your profile updated from phone and laptop simultaneously and one gets updated on Master1 and other on Master2. which one is the correct one? Time stamps could solve these collisions but manual intervention is needed sometimes there too. To solve this I think they have partitioned the queries (based on team id Keith says, but I think it would be more complex ) such that certain group goto Master 1 only and nver to master 2 , and vice-versa. Avoiding conflicts.
@zacklight
@zacklight Жыл бұрын
​ @Karan A Yeah it made no sense if the parition was just based on teamId because in that profile example the teamId's should be the same and so both requests go to the same master without introducing any conflict...
@shimaozheng9968
@shimaozheng9968 2 жыл бұрын
@12:19 what does it mean when he mentioned the time to the shard is arbitrary? It means it just randomly picks up a shard and record it? What's the benefit of doing in this way vs. consistent hashing?
@gilad-drori
@gilad-drori 2 жыл бұрын
Maybe due to the thundering hoard effect.
@nindinindi6405
@nindinindi6405 Жыл бұрын
Nice
@pengdu7751
@pengdu7751 4 жыл бұрын
this may be a dumb question but why is there a message server in the first place? why a separate service?
@omerocak4710
@omerocak4710 3 жыл бұрын
search "control and user plane separation" on google. it has many benefits. efficiency, security, isolation, capacity, scaling, easy managing, maintenance, failure-handling, etc.
@NickolayKutovoy
@NickolayKutovoy 3 жыл бұрын
I will not be surprised that it wasn't easy to support websockets/two way communication in LAMP at that time and this was easiest/fastest solution
@while-loop
@while-loop 3 жыл бұрын
Also likely to handle live websocket connections. You can only support 65k connections per server so scaling 80 full blown web apps just to handle dumb websocket connections may be overkill.
@fuhuoyeyou
@fuhuoyeyou 3 жыл бұрын
too honest.
@neuemage
@neuemage 6 жыл бұрын
Discord is best team app
@tenshi7angel
@tenshi7angel 5 жыл бұрын
Would prefer to use Discord, but beggars can't always be choosers. Oh well.
@lokthar6314
@lokthar6314 5 жыл бұрын
a PHP Monolith? Slack is a really great piece of Software but those design decisions though..
@8Trails50
@8Trails50 4 жыл бұрын
Their team was experienced with PHP. Time to market is key. Everything else is overrated for a start up. Now they can do whatever they want since they are successful.
@Textras
@Textras 5 жыл бұрын
ahh GDRP
@emrahteamwork2583
@emrahteamwork2583 2 жыл бұрын
GRPC or GDPR?
@VahidOnTheMove
@VahidOnTheMove Жыл бұрын
Poor presentation. He shows a slide and talks about something else.
@davidstoneofficial
@davidstoneofficial 2 жыл бұрын
Sweet lord, this is the most SV-esque mumble job ever.
@o1egm
@o1egm 5 жыл бұрын
Very poor design...
@TremendousSax
@TremendousSax 4 жыл бұрын
What's poor about it?
@yvrelna
@yvrelna Жыл бұрын
It's not a poor design. It's a design that allowed Slack to scale from a small start-up to one of the largest and best communication platforms. It's a very successful design. Good architecture and good design isn't one that contains all the hip buzzwords. Good designs are often very boring, and that's ok. That means an adult is in charge of the operations, not the hippies who sprinkled the latest immature fad and then leave the mess to someone else. The result is what matters, Slack is a very slick communication platform. Its architecture design may not contain sexy buzzwords, but it is what allows it to outshine all the other competitors who have buzzwords-driven design. That's not a "poor design".
@ronysaha3966
@ronysaha3966 6 жыл бұрын
Flock is better
@jvm-tv
@jvm-tv 3 жыл бұрын
It works for them and obviously a successful product but God! what a boring architecture! I wouldn't want to work there.
@phenomenal325
@phenomenal325 8 ай бұрын
Lol is slack still even a thing or in business? Pretty sure the markets owned by Microsoft teams now.
@SreekarAnugu
@SreekarAnugu 3 жыл бұрын
too boring, nothing much to learn for people preparing for system design interviews. I wasted 20 minutes, don't do that mistake.
@zbbentley
@zbbentley 3 жыл бұрын
...learning about the architecture of famous, successful companies making bags of money isn't applicable to system design interviews? Boring is *good*. I give system design interviews. I give massive points for boring, easy to operate, and easy to understand.
@igboman2860
@igboman2860 3 жыл бұрын
@@zbbentley and cheap total cost of ownership. ie cheap to build and maintain
@adityashah133
@adityashah133 3 жыл бұрын
Who do we have here? Someone who's too smart for our entire era. The title clearly says how Slack works or at least worked at the time this video was made. Now, since you found this video boring, assuming after coming here yourself, I wouldn't ever want to hire you adding already to the fact that you watched this video for preparing for a job interview? For system design? The whole idea of system design is that it may be different for every product, and you need to build one depending on what resources you have, what your timeline is and most importantly, what you really know for sure, say the fundamentals. If there was a standard and a fixed path, I'm sure this video wouldn't even exist. You wasted 20 minutes, but to everyone a favor and don't take any interviews. You wouldn't want to waste their time too.
@vishanthbharadwaj
@vishanthbharadwaj 2 жыл бұрын
Point is if u see this design u should have enuf knowledge to figure out the flaws and improve it on ur own
@foreverursabhi
@foreverursabhi 2 жыл бұрын
He didn't go in very deep, I'll give you that, but if you really found it boring, you'd not be trolling KZbin trying to win SD interviews. Let's chalk it up to the fact that you didn't hear some fancy words you might have expected, like Kafka, Cassandra, leaderless replication, and consistent hashing.
@nichtverstehen2045
@nichtverstehen2045 Жыл бұрын
i stopped watching at php crap
Kafka: A Modern Distributed System
52:25
InfoQ
Рет қаралды 39 М.
Buy Feastables, Win Unlimited Money
00:51
MrBeast 2
Рет қаралды 70 МЛН
0% Respect Moments 😥
00:27
LE FOOT EN VIDÉO
Рет қаралды 42 МЛН
Кәріс тіріма өзі ?  | Synyptas 3 | 8 серия
24:47
kak budto
Рет қаралды 1,5 МЛН
😱СНЯЛ СУПЕР КОТА НА КАМЕРУ⁉
00:37
OMG DEN
Рет қаралды 1,8 МЛН
The ARM chip race is getting wild… Apple M4 unveiled
4:07
Fireship
Рет қаралды 722 М.
Two Astrophysicists Debate Free Will
15:19
StarTalk
Рет қаралды 277 М.
10 Things You SHOULD Be Buying at Aldi in March 2024
15:02
The Deal Guy
Рет қаралды 502 М.
Deflated · Made by shykids with Sora
3:39
OpenAI
Рет қаралды 45 М.
Modern Banking in 1500 Microservices
51:00
InfoQ
Рет қаралды 87 М.
Blender Vs Plasticity | Is it Really That Good
10:31
InspirationTuts
Рет қаралды 128 М.
Learn To Code Like a GENIUS and Not Waste Time
9:41
The Coding Sloth
Рет қаралды 1 МЛН
ИГРОВОЙ ПК от DEXP за 37 тысяч рублей из DNS
27:53
How Neuralink Works 🧠
0:28
Zack D. Films
Рет қаралды 25 МЛН
All New Atlas | Boston Dynamics
0:40
Boston Dynamics
Рет қаралды 5 МЛН
Which Phone Unlock Code Will You Choose? 🤔️
0:14
Game9bit
Рет қаралды 4 МЛН
Airpods’un Gizli Özelliği mi var?
0:14
Safak Novruz
Рет қаралды 1,5 МЛН