No video

System Design: Why is Kafka fast?

  Рет қаралды 1,123,588

ByteByteGo

ByteByteGo

Күн бұрын

Weekly system design newsletter: bit.ly/3tfAlYD
Checkout our bestselling System Design Interview books:
Volume 1: amzn.to/3Ou7gkd
Volume 2: amzn.to/3HqGozy
Other things we made:
Digital version of System Design Interview books: bit.ly/3mlDSk9
Twitter: bit.ly/3HqEz5G
LinkedIn: bit.ly/39h22JK
ABOUT US:
Covering topics and trends in large-scale system design, from the authors of the best-selling System Design Interview series.

Пікірлер: 468
@ByteByteGo
@ByteByteGo 2 жыл бұрын
Subscribe and Kafka will say thank you :)
@tubenzr
@tubenzr 2 жыл бұрын
ok, it's done Sir
@DrRishabhGarg
@DrRishabhGarg 2 жыл бұрын
What software do you use to create this awesome motion graphics?
@rpidugu99
@rpidugu99 Жыл бұрын
May I know what tool you guys use to make these animated videos? Just curious..!!
@ropro9817
@ropro9817 Жыл бұрын
I just discovered this video in my feed. _Sometimes_ the KZbin algorithm actually works! 🤠Great video! I just subscribed to your channel!
@colossus95
@colossus95 Жыл бұрын
I wish you were my professor in college.
@jay6645
@jay6645 2 жыл бұрын
The absence of any background music makes this video great.
@crowlsyong
@crowlsyong 2 жыл бұрын
This comment. Yes.
@donvercety
@donvercety 2 жыл бұрын
fully agree!
@kevalan1042
@kevalan1042 2 жыл бұрын
amen!
@vmarzein
@vmarzein 2 жыл бұрын
i agree
@alirezazarafshani
@alirezazarafshani 2 жыл бұрын
Exactly
@kurtmueller2089
@kurtmueller2089 2 жыл бұрын
What an amazing tutorial: Just the necessities, no annoying background music, no annoying calls to "subscribe and like". If all youtube channels were like that, we could heal the world. Also, I checked your channel page and was shocked to find that this was only your 3rd video. Keep being awesome!
@martinmusli3044
@martinmusli3044 2 жыл бұрын
This Tutorial is insanly "Zen" but he said "please subscribe" right at the end :P
@ridealongreactions2601
@ridealongreactions2601 Жыл бұрын
I 100% believe you should make a whole series on Kafka, your way of simplifying the subject is legendary.
@nemeziz_prime
@nemeziz_prime 2 жыл бұрын
These videos are amazingly simple and clear. The animations are spot on!! Too good xD I wish this channel never stops uploading new content
@Spiritualleace
@Spiritualleace 2 жыл бұрын
How can one keep things so deep and yet stunningly simple. Hats off!
@ervamate
@ervamate 2 жыл бұрын
Mentioned a lot in the comments, but I have to say as well: what a great explanation, straight to the point, no bs and gives enough info without overwhelming with details. Thank you!
@amigochan
@amigochan 2 жыл бұрын
影片中說明兩個為什麼 Apache Kafka 能夠提供高流量傳輸大量紀錄的特性: 1. 循序 I/O 以 C 來說,當使用 fopen() 需要開啟一個檔案為 append 模式,file pointer 會直接在檔案尾端準備以新增方式繼續加入新資料,會比每次加入資料需要移動 Pointer 到特定位置再寫入來的快速。如果用硬碟的循序讀寫與隨機讀寫,會更容易理解。 在 File-based Database,例如 dBASE, COBOL + ISAM, Paradox,也是直接將新紀錄寫在檔案後方。可以用 PC-Tools 打開檔案觀察 HEX Code 確認。風險在於如果來不及寫入 EOL,沒有順利關閉檔案,就會造成檔案損毀與資料遺失。 刪除紀錄也只是在記錄上做個標記,並不會真正刪除,需要等到執行 compact database 才會真正刪除。因此我在設計需要確實刪除客戶個人資料時,會以無意義的字串覆蓋,直接刪除其實只是標記,資料還在。 2. [Zero Copy](en.wikipedia.org/wiki/Zero-copy) 避開將相同資料在不同記憶體區塊再次複製後移動,縮短傳送路徑。例如在提供 DMA 模式情況下,讓系統函數直接將讀取已經被讀入記憶體緩衝區的資料放入網卡 NIC 緩衝區開始傳送,省略 Socket Buffer 路徑。
@nishantparmar
@nishantparmar 2 жыл бұрын
Short, high quality, clean and extremely precise content...Many Thanks!
@Athmarr
@Athmarr 2 жыл бұрын
I have used kafka before but never had to think about why it is actually fast. This was very informative. I like the format of the video as well
2 жыл бұрын
Great technical explanation. I just want to add that Kafka can be used for much more than just data ingestion sending data from a data source to a data sink. The Apache Kafka open source project also includes Kafka Connect for data integration and Kafka Streams for data processing. Therefore, you can leverage the characteristics explained in this video to build a modern data flow with a single (scalable and reliable) real-time infrastructure instead of combining several different components (like Apache Kafka for ingestion, Apache Camel for data integration, and another stream processing framework like Apache Flink for real-time analytics).
@EverydayRoadster
@EverydayRoadster Жыл бұрын
Reliability of Kafka has yet to be proven. Ever so often it does not meet data integration core requirements on reliability, especially in the area of disruption and recovery, where it quickly says GoodBy to “At-most-once” semantics. Don’t get me wrong, Kafka is really great for what it is designed for: efficient streaming in BigData architecture, but that architecture will tolerate a certain fuzziness of data, which pure data integration architecture would not allow for.
@pranavamazon5937
@pranavamazon5937 2 жыл бұрын
this guy is so sweet. man! i was struggling on this system design, all his books and posts are too easy to follow and helped me become more confident
@StephenGillie
@StephenGillie 2 жыл бұрын
This helps to explain why the sequential read speed of HDDs is on the AWS Cloud Solutions Architect study guides.
@rasimbot
@rasimbot 2 жыл бұрын
Disk read and network transfer delays are order of magnitude longer than copying between buffers
@143Support
@143Support 11 ай бұрын
This is not the same Kafka I was expecting, but happy to learn. thanks for sharing!
@dishantchauhan4775
@dishantchauhan4775 2 жыл бұрын
Seriously, thanks a lot Alex for all the stuff you convey through your LinkedIn network and KZbin videos. Just love the way you distil the topics and make them understand beautifully.
@SaitamaTheLegend
@SaitamaTheLegend 2 жыл бұрын
In 5 minutes I learned a lot! Amazing video! You are a good teacher! Thank you and I hope to see more videos from you!
@antirus5481
@antirus5481 2 жыл бұрын
Simple and very insightful, I like the lack of music and the use of motion graphics, helps me focus.
@severtone263
@severtone263 Жыл бұрын
No frills and thrills, just pure nuggets of value. Exactly what I needed. Thank you. You earned my sub.
@przemekkobel4874
@przemekkobel4874 2 жыл бұрын
Wow. Never heard about Kafka, but after this brilliant video now I know why it is so fast. Still no idea what it is, though. And so many totally not astroturfed comments. Sweet.
@llambduh
@llambduh Жыл бұрын
While sequential access can be efficient for certain tasks, it also has several downsides: Slow Access for Individual Records: If you need to access a specific record in the middle or at the end of a sequentially accessed file or data structure, you would have to traverse through all preceding records. This can be very inefficient and time-consuming, particularly for large datasets. Inefficient Updates and Deletions: If a record in a sequentially accessed file needs to be updated or deleted, you often have to rewrite the entire file, or at least all the data following that record, which can be very slow and inefficient. Inefficient for Concurrent Access: In situations where multiple users or processes need to access data concurrently, sequential access can be very inefficient and may even lead to data corruption if not handled correctly. Lack of Flexibility: Sequential access doesn't allow for as much flexibility in terms of data access patterns. You are essentially restricted to accessing data in the order it was written. Space Inefficiency: Sequential files can become space inefficient over time. If records are deleted, the space they occupied often cannot be reused, leading to wasted space. Data Structure Overhead: In certain data structures optimized for sequential access, such as linked lists, there can be significant overhead in terms of additional pointers or other structural information that needs to be stored along with the actual data. Sequential access is particularly useful and efficient in certain scenarios, including: Data Streaming: When data is being streamed from one point to another, such as in audio or video streaming services, sequential access is ideal. Data is read in the order it arrives, and there's usually no need to skip forward or backward. Log Files: Log files are typically written and read in a sequential manner. The most recent events are appended to the end of the log, and when reviewing the logs, it's often most useful to read events in the order they occurred. Backup and Restore Operations: When performing backup operations or restoring data from backups, the data can be processed sequentially. The backup process involves reading all data from a source and writing it to a backup medium, while restore operations read the data from the backup medium and write it back to the source or a new location. Batch Processing: In scenarios where large volumes of data need to be processed in one go, such as overnight processing of transactions, sequential access can be used efficiently. Data Warehousing and Data Mining: In data warehousing and mining operations where huge volumes of data are processed, sequential access is often used. Sequential Read/Write Media: For certain types of media, such as magnetic tapes, sequential access is the only viable method. You read from or write to the tape in a linear fashion, from one end to the other. Zero copy is a technique that reduces CPU usage and increases data processing speed by eliminating unnecessary data copying between user space and kernel space during network communication or file I/O operations. The data to be sent over the network is sent directly from the disk buffer cache to the network buffer without being copied. Pros: Increased Efficiency: Zero-copy can significantly speed up data transfer rates because it removes the overhead of copying data between user and kernel space. Reduced CPU Usage: As there's no need to copy data, zero-copy methods can reduce CPU usage, freeing up resources for other tasks. Reduced Memory Usage: Zero-copy techniques can lead to less memory usage because they avoid creating extra copies of data in memory. Lower Latency: By avoiding the overhead of data copying, zero-copy can lead to lower latency in network communication or file I/O operations. Cons: Complexity: Implementing zero-copy can be complex and may require a deep understanding of the operating system and network interfaces. This can increase development time and potentially introduce more bugs. Data Security: With zero-copy, the data stays in the kernel buffer and is directly accessible to user space. This could potentially lead to security vulnerabilities if not managed correctly. Buffer Availability: Zero-copy can lead to buffers being locked for longer periods, as the same buffer is used for reading data from the disk and sending it over the network. This could potentially impact other tasks that need to use these buffers. Non-Contiguous Memory Issues: If data is stored non-contiguously in memory, zero-copy can be challenging to implement effectively. The decision to use zero-copy would largely depend on the specific needs of the system and whether the benefits of increased data transfer speed, reduced CPU usage, and lower memory footprint outweigh the increased complexity and potential risks.
@vikram_saha7
@vikram_saha7 2 жыл бұрын
wow!! this channel is a goldmine for backend engineer
@jiajunc-yw3rn
@jiajunc-yw3rn 6 ай бұрын
You made me realize the importance of expressing thought in a clear and concise way. Thank you
@adamyatripathi2743
@adamyatripathi2743 2 жыл бұрын
My head exploded with the DMA. I had not idea! Great learning! :)
@catcoder12
@catcoder12 7 ай бұрын
Simple video without being a pretentious tech bro.
@ducquang980
@ducquang980 2 жыл бұрын
Short, concise and concrete. Very easy to understand. Thanks a lot
@Youvko
@Youvko Жыл бұрын
Wow, this one is super cool. No background music, cool minimalistic diagrams, calm voice!
@ShaluSharma-fu6bo
@ShaluSharma-fu6bo Ай бұрын
When knowledge calms your nerves!! Hats off to your delivery mechanism and apt data accumulation✌🏻
@DevNarayan
@DevNarayan 2 жыл бұрын
Amazing details about frequently used software. Lucky to bump into this page. Thanks
@tubenzr
@tubenzr 2 жыл бұрын
your video is very clear and on-point Sir, thanks a lot 👍👍
@vaibhavtyagi3805
@vaibhavtyagi3805 2 жыл бұрын
Not have any doubt , will be trending in top KZbin channel in system Design world wide, great start.
@suman14san
@suman14san 2 жыл бұрын
Stunning. It's not abt any topic related to computer science or tech, if anyone teach me anything like this, i will skip everything and learn. Thank you for changing lives of people.
@fripickbot4043
@fripickbot4043 2 жыл бұрын
Man this is gold. Saying thank you does not feel enough. Please keep it up.
@aryanrahman3212
@aryanrahman3212 2 жыл бұрын
Really great presentation! I was scared when I saw Kafka but you explained it really well.
@jesseinit
@jesseinit 2 жыл бұрын
Bridging the dearth of senior developer content on youtube. I'm here for it.
@Drdemiurge
@Drdemiurge 2 жыл бұрын
So glad the algorithm found this channel for me, the content is so clear and digestible, thank you please keep up the fantastic work
@MrRunchSlam
@MrRunchSlam 2 жыл бұрын
You guys are doing amazing work here. I love the aesthetics, pace, explanations, topics, and cadence of it all. Kudos!
@JisKriker
@JisKriker 2 жыл бұрын
wow. No BS, only content! Thank you!
@DotDager
@DotDager Жыл бұрын
First time I actually WANT to subscribe to a newsletter.
@GughaGSrinivasan
@GughaGSrinivasan 2 жыл бұрын
ASMR experience :) i have subscribed... Neat explanations... I am not curious about Kafka, but curious about the optimization techniques and strategies they have accomplished which I would like to learn... Please do more!
@jamesT008
@jamesT008 5 ай бұрын
USP of this channel is "No bla bla story...precise n to the point on topic "❤
@_Documentation
@_Documentation 2 жыл бұрын
Succinct. Precise. Educative. Excellent animation. Simply the best 💯
@mail2viveks
@mail2viveks Жыл бұрын
Simplicity the best. Your USP is to focus on Contextual knowledge with byte size videos with great graphics. Very valuable.
@learnersparadise7492
@learnersparadise7492 2 жыл бұрын
Hi Alex, Just a suggestion, please make some videos on different consensus algorithm (RAFT, PAXOS).
@TheAceEditor
@TheAceEditor Жыл бұрын
Essential collection of videos in this channel for a software developer
@fahuwayne8067
@fahuwayne8067 2 жыл бұрын
You have a extremely clear and nice way to talk and explain! Please make more videos like that. Awesome work!
@AnkitMalhotra
@AnkitMalhotra 2 жыл бұрын
Nice, I definitely learned something new about the Kafka internals today!
@jigneshnakhva1546
@jigneshnakhva1546 2 жыл бұрын
I love all the System-design Content posted by you! Thanks for sharing your knowledge! 🙏
@dronihack
@dronihack 2 жыл бұрын
me not having a clue what kafka is about
@sami9323
@sami9323 Жыл бұрын
Absolutely fantastic video - went over a lot of concepts like minimizing disk io, engineering constraints of kafka, different memory access patterns, with very good diagrams! Thank you :)
@playniuniu
@playniuniu 2 жыл бұрын
Great video, explain kafka design so clearly. Thanks very much
@MengMario
@MengMario 2 ай бұрын
I have been following your channel for a long time and I truly enjoy your videos. The animations and visual effects you create are absolutely stunning! I am a programmer by profession, definitely not in your field, but I am very interested in learning how to create such beautiful animations. Specifically, I am looking to transform flowcharts into engaging videos. I would be extremely grateful if you could share some tips, the names of the software you use, or any methods you recommend for achieving this. Thank you so much for your time and for the fantastic content you produce.
@gopalkrushnapattanaik3232
@gopalkrushnapattanaik3232 2 жыл бұрын
Short ,Crisp and To the point contents , Great work !!
@deadman746
@deadman746 2 жыл бұрын
Thank you. I have not _tried_ Kafka, but now that I am nominally out of _the penal colony_ I am trying to _metamorphose_ back into a geek with _a hunger artist's_ budget. KZbin has been invaluable.
@patrickdee7365
@patrickdee7365 2 жыл бұрын
Very cool channel you keep the most important stuff compact, not everyone can do that.
@siruitao
@siruitao 2 жыл бұрын
Thanks for the useful instruction!
@RunOfTheTrill
@RunOfTheTrill 2 жыл бұрын
A truly educational and concise video. Thank you.
@constantfear
@constantfear 2 жыл бұрын
Thanks, brilliant tutorial. My company are currently gearing up to adopt a data mesh architecture and It's gonna be fun moving from batch to this CDC stream methodology.
@weiguo6805
@weiguo6805 Жыл бұрын
Greatest video series with fluenent + clear + intuiative illustration ( master-quality ##) , can not thanku enough!
@mwaikul
@mwaikul 2 жыл бұрын
Amazing! Love the quality and getting straight to the point. Not a second wasted.
@andyserrato
@andyserrato 2 жыл бұрын
So simple yet so powerful explanation, thanks
@NuncNuncNuncNunc
@NuncNuncNuncNunc 2 жыл бұрын
Very clear explanation. Thank You!
@jamess5330
@jamess5330 Жыл бұрын
Thank you for putting up this tutorial! Study vidoes like this and then practice at Meetapro with mock interviews will help you land multiple offers.
@sallu94
@sallu94 2 жыл бұрын
I believe the reason why sequential access of data is fast is not just because of the physical hard disk arm. There is also cache preload which is speculative loading of data in cache buffer by the processor. It depends on access patterns and with sequential access its really fast.
@River-zo6ve
@River-zo6ve 2 жыл бұрын
Yeah, I haven't seen HDDs for actively used data in years.
@EverydayRoadster
@EverydayRoadster Жыл бұрын
What you describe is the only major reason, why Kafka is fast. Kafka is pure software, hardware implementation has no relevance to it. Additionally to the cache, the logic to access data is much simplified, as you just go through records one by one. There is no need for hash maps etc to look for specific data (with exceptions to recovery scenarios, where Kafka purposely is not so great).
@sherhy3689
@sherhy3689 2 жыл бұрын
i wanted to comment that i appreciate the level of detail in the explanations in the video. looking forward to more useful content!
@sultown4343
@sultown4343 Жыл бұрын
is there a risk of Kafka accessing other areas of the memory cache in which system calls could send wrong/private data?
@_rd_kocaman
@_rd_kocaman 2 жыл бұрын
those minimalistic graphics makes complicated topics easy to ingest. Subscribed!
@toukaK
@toukaK 2 жыл бұрын
excited to see Sahn on youtube! this is by far the best tech video I've watched. concise without losing any depth! looking forward to more videos like this. I've had the fortune to (indirectly) work with Sahn and review his code. one of the few top talents that any company is lucky to have. this video is as high quality as other production of his. 2 questions for Sahn: 1. there's a small disconnection between "sequential IO throughput vs random IO throughput" and "HDD vs SSD". is there any perf number difference on sequential IO throughput on HDD vs SSD? 2. is there any perf number difference(ops per sec or latency) for zero-copy vs traditional buffer copies?
@parthsarthisharma4163
@parthsarthisharma4163 2 жыл бұрын
Crisp yet complete info. Good content. Thank You.
@codygaurav6384
@codygaurav6384 2 жыл бұрын
concise and crisp clear... Thanks for making such amazing and valuable videos.
@lifessummerleaves
@lifessummerleaves 2 жыл бұрын
Very deep insight! Looking forward to your next videos, please keep going
@cryptomania3553
@cryptomania3553 2 жыл бұрын
3 videos in 14 days and 48k subs ,nice
@betims
@betims 2 жыл бұрын
Amazing explanation. Thank you sir.
@ChandraShekhar-by3cd
@ChandraShekhar-by3cd 2 жыл бұрын
Loved the animation and explanation. Keep enlightening us all!
@Metruzanca
@Metruzanca 2 жыл бұрын
This is explained so well. I've love to hear you speak more about kafka. EDIT: 100% ådding that newsletter to my rss.
@tomok284
@tomok284 2 жыл бұрын
Such a good content in just 5 minutes!
@earthling_parth
@earthling_parth Жыл бұрын
I recently found your channel and honestly think this is one of the best tech bagels on KZbin undoubtedly. Awesome work in such a short amount of time!
@0031400
@0031400 Жыл бұрын
love a good tech bagel.
@earthling_parth
@earthling_parth Жыл бұрын
@@0031400 lmao, I didn't even notice that. I use swipe typing so mistakes like these do occur from time to time. Honestly, wouldn't mind a tech bagel though 👀😂
@ouranhighhost
@ouranhighhost 2 жыл бұрын
Thanks a lot, finally are clear answer why kafka is everywhere now
@GiacomoPetronio
@GiacomoPetronio 2 жыл бұрын
5 minutes of high quality content, thanks!
@dansokolsky3963
@dansokolsky3963 2 жыл бұрын
We need so much more of this.
@ansitun
@ansitun Жыл бұрын
After going through the video and your explanation, I am decided to take a paid subscription in byte byte go! Your explanations are to the point and succinct to understand a topic ! Thank you for the video.
@tomislavkristianoliveirabi9873
@tomislavkristianoliveirabi9873 2 жыл бұрын
Exactly my kind of content. Interesting, insightful and to the point.
@dowlathbashag65
@dowlathbashag65 2 жыл бұрын
Awesome Explanation about Kafka is amazing...Thank you, Alex
@sakthikumar4721
@sakthikumar4721 2 жыл бұрын
I really appreciate your work. Excellent video. Superbly Articulated. Easy to grab the concepts. Great work. 😍
@vikingthedude
@vikingthedude 2 жыл бұрын
I love the format of these videos. Looking forward to more and to the newsletters too!
@ahmedmonire
@ahmedmonire Жыл бұрын
Once of the best channel , i came to know you from linkedin 😅
@TricoliciSerghei
@TricoliciSerghei 2 жыл бұрын
Very informative video, thank you so much!!
@mohimen1617
@mohimen1617 2 жыл бұрын
amazing video i love the animation so much , what application do you use to make such animation?
@victorhl69
@victorhl69 2 жыл бұрын
thanks you finally understood why DMA is so important.
@joshuatsui
@joshuatsui 2 жыл бұрын
So the question is, why before it had to first copy into socket buffer, and not anymore with Kafka?
@volodymyrliashenko1024
@volodymyrliashenko1024 2 жыл бұрын
Great video! BTW, how to create such kind of animations?
@thalathotitharunprabhakar3390
@thalathotitharunprabhakar3390 Жыл бұрын
Thank you for the wonderful explanation of Kafkas abilities.
@amaelftah
@amaelftah 2 жыл бұрын
really this is high quality videos and lovely animations ... thanks a lot for simplifying why kafka is fast
@prathibavijayasekaran4173
@prathibavijayasekaran4173 Жыл бұрын
Very simple with good animation to explain things clearly. Keep publishing these kinds of useful videos.
@distrologic2925
@distrologic2925 2 жыл бұрын
The "2" on cue was amazing
@safiuzkhan5463
@safiuzkhan5463 2 жыл бұрын
Very beautifully explained 👌
@tariqueansari3043
@tariqueansari3043 Жыл бұрын
Amazing video. This channel is so under rated. Thanks youtube algorithm to suggest me this channel.
@riadhgharbi7985
@riadhgharbi7985 2 жыл бұрын
Very simple and efficient execution, talking about both the video and Kafka. Really good material mate, keep up the good work
@TBadalov
@TBadalov Жыл бұрын
Thank you! Such a great delivery and explanation. Particularly, great choice of aspects to share.
@julianosanm
@julianosanm 11 ай бұрын
The index to the shards on the Businesses DB should be user_id or business_id? I think the latter makes more sense not sure if it was a typo on the video
20 System Design Concepts Explained in 10 Minutes
11:41
NeetCode
Рет қаралды 989 М.
Consistent Hashing | Algorithms You Should Know #1
8:04
ByteByteGo
Рет қаралды 302 М.
مسبح السرير #قصير
00:19
سكتشات وحركات
Рет қаралды 11 МЛН
He bought this so I can drive too🥹😭 #tiktok #elsarca
00:22
Elsa Arca
Рет қаралды 43 МЛН
So Cute 🥰
00:17
dednahype
Рет қаралды 43 МЛН
Apache Kafka in 6 minutes
6:48
James Cutajar
Рет қаралды 1 МЛН
Kafka vs. RabbitMQ vs. Messaging Middleware vs. Pulsar
4:31
ByteByteGo
Рет қаралды 101 М.
The World Depends on 60-Year-Old Code No One Knows Anymore
9:30
Coding with Dee
Рет қаралды 786 М.
10 years of coding in 13 minutes
13:28
Joma Tech
Рет қаралды 4,9 МЛН
Session Vs JWT: The Differences You May Not Know!
7:00
ByteByteGo
Рет қаралды 130 М.
Why do we need Kafka?
15:16
Piyush Garg
Рет қаралды 47 М.
Google system design interview: Design Spotify (with ex-Google EM)
42:13
IGotAnOffer: Engineering
Рет қаралды 1 МЛН
What is Kafka?
9:17
IBM Technology
Рет қаралды 459 М.
How the Internet Works in 9 Minutes
9:15
ByteByteGo
Рет қаралды 62 М.
مسبح السرير #قصير
00:19
سكتشات وحركات
Рет қаралды 11 МЛН