The complete guide to Ably presence
29:22
Ably Terraform Provider in Action
4:45
The WebSocket Handbook by Ably
1:33
2 жыл бұрын
Пікірлер
@isabelladavila3834
@isabelladavila3834 18 күн бұрын
So easy to follow and explained every step! Best cursor WebSocket video out there. Thank you!!!
@AblyRealtime
@AblyRealtime 13 күн бұрын
Thanks very much Isabella!
@hamidsalari5972
@hamidsalari5972 22 күн бұрын
i liked how you just keep the details away and talk the big picture . great video for the big picture
@AblyRealtime
@AblyRealtime 13 күн бұрын
Thanks very much Hamid 🫡
@JamesDoorbar
@JamesDoorbar Ай бұрын
hugely exciting and great to see!
@unpamprogramming4497
@unpamprogramming4497 2 ай бұрын
oke deh
@hehimselfishim
@hehimselfishim 2 ай бұрын
Need the scaling video! Great content of course.
@anonymouse276
@anonymouse276 2 ай бұрын
Hi, I am struggling with one concept... Ably allows data to be streamed.. but a lot of data is change in state (i.e, not the full snapshot). So ideally there should be a database which includes current status of each match and odds and this will be used to display all the relevant info regarding match and bets at the time of login/page reload. Any future changes/updates/new bets can be pushed via Ably channels. Have I got that right? or Have I missed something
@AblyRealtime
@AblyRealtime 2 ай бұрын
Hi! If your channel contains changes in state, for example with changing betting odds like spurs to win is now 5/1, then the original (already existing) state does come from a database, as you mentioned. Ably’s LiveSync is designed to deal with exactly this problem by merging together an existing database state with changing states communicated by Ably channels.
@haritpatel5001
@haritpatel5001 2 ай бұрын
Very insightful video indeed, great work.
@AblyRealtime
@AblyRealtime 2 ай бұрын
Thanks so much !
@ovna
@ovna 2 ай бұрын
Ty
@kishankumar-ze5pf
@kishankumar-ze5pf 2 ай бұрын
thank u buddy for creating this awsm content , easy to understand thanks again
@AblyRealtime
@AblyRealtime 2 ай бұрын
Thanks for commenting!
@richy3449
@richy3449 3 ай бұрын
*promo sm*
@emaayan
@emaayan 3 ай бұрын
what if your users are actually devices which need always be connected.
@AblyRealtime
@AblyRealtime 3 ай бұрын
This is often not possible with phones or tablets due to constraints from Apple and Android with apps not allowing background WebSocket connections. It is not even possible to send REST https requests to apps running in the background. The only way around is to send a push notification. If the app is running in the foreground indefinitely, the socket connection can stay open.
@anuragbisht1200
@anuragbisht1200 3 ай бұрын
thanks for the nice video. Could you share your thoughts of choosing redis over other Dbs and would you like to persist the state data to disk ?
@AblyRealtime
@AblyRealtime 3 ай бұрын
Hey there! Redis is used in this situation more as a cache, optimised brokering the messages with ultra low latency. The classic design to persist messages longterm is to have an additional relational DB as a layer after Redis (to the right in the diagram)
@taki9789
@taki9789 3 ай бұрын
Thank you for helpful video! I have a question regarding horizontal scaling websicket implementation. Is it possible to create a lookup table that maps roomId, which is often used in chat applications, and server id so that users having the same roomId are navigated to connect to the same server when load balancing?
@AblyRealtime
@AblyRealtime 3 ай бұрын
Yes, this would be a recommended design pattern, and has increased security benefits over navigating rooms and servers using naming patterns. Thanks for your question!
@taki9789
@taki9789 3 ай бұрын
@@AblyRealtime I appreciate your reply!
@sandipsarkar1702
@sandipsarkar1702 3 ай бұрын
could you please use dark theme! 😅
@AblyRealtime
@AblyRealtime 3 ай бұрын
we will next time 🥰
@aymanimtyaz8529
@aymanimtyaz8529 3 ай бұрын
Could you elaborate a bit on how the Redis based approach works when scaling out?
@AblyRealtime
@AblyRealtime 3 ай бұрын
You have to set-up a way to provision and shed Redis instances to match scaling demands. Some use-cases will demand a Kubernetes type service to manage the instances, and others a more homegrown solution.
@rickshawty
@rickshawty 3 ай бұрын
Thanks for the tutorial, I really appreciate the effort. One q tho, r u rly using white mode in vs code?
@AblyRealtime
@AblyRealtime 3 ай бұрын
Alex is just a VS code white-mode kinda guy 😎
@reyariass
@reyariass 4 ай бұрын
I had this exact question and I KNEW (felt it in my bones) that the answer wouldn’t be so simple as having just saying “yeah Only like 100”, thanks for the insight!
@StudioShop
@StudioShop 4 ай бұрын
Thanks for a great tutorial. Appreciate it.
@AblyRealtime
@AblyRealtime 4 ай бұрын
😁
@robcataus
@robcataus 4 ай бұрын
I’m the author of react-use-websocket, and stumbled on this video. Your kind words made my weekend!❤
@AblyRealtime
@AblyRealtime 4 ай бұрын
Great to hear from you, and thanks for commenting ❤️
@bookercodes
@bookercodes 4 ай бұрын
Haha, no way, amazing to see you here! Great work on react-use-websocket!
@beingmyself3706
@beingmyself3706 4 ай бұрын
Extremely useful, easy to understand, perfect ^)
@R0hanThakur
@R0hanThakur 4 ай бұрын
Amazing video....thanks But you still did not answer the question. How many active websocket connections can a an avg ec2 server hold... or please give a rough ball park estimate range .... This info can be used to decide how many servers we need right ?
@gabrielvaz8083
@gabrielvaz8083 4 ай бұрын
This is HIGH-level content, 10/10 quality, 10/10 content, I'm shocked by the low viewership, I wish you all the best on your journey as a content creator
@namjitharavind
@namjitharavind 4 ай бұрын
Why cant we use redis instead of websocket?
@AblyRealtime
@AblyRealtime 4 ай бұрын
Alex from the video here 👋🏻 That is a good question. WebSockets are a realtime communication protocol that provides a full-duplex communication channel between client and server over a long-lived connection, meanwhile Redis is an in-memory data structure store. Sometimes confusion can arise because Redis does support pub/sub, but that mechanism is primarily designed to handle communication between your app/services and Redis. It's not suitable for realtime interaction between your server and clients (end-users). For example, you'd be hard-pressed to connect to Redis from a browser in a a sensible way but that's exactly what Websockets are designed for.
@namjitharavind
@namjitharavind 4 ай бұрын
@@AblyRealtime Thank you for the reply. Websocket for the realtime experience.
@NoNamePerson18
@NoNamePerson18 5 ай бұрын
This guy is a monster, a psychopath, he uses light theme,
@AblyRealtime
@AblyRealtime 5 ай бұрын
🫣
@nxone9903
@nxone9903 5 ай бұрын
Underrated channel.
@latavish
@latavish 5 ай бұрын
I'm currently developing an app that highly uses websockets and you have really given me a few insights to think about. Thank you so much for this valuable info 😊
@SumitGouthaman
@SumitGouthaman 5 ай бұрын
Surprisingly this is one of the only videos I found that actually goes into specifics of this topic. 👍 All other videos and docs are kind handy-wavy.
@eduardocorreia1537
@eduardocorreia1537 5 ай бұрын
Is it possible to attach files to the chat?
@AblyRealtime
@AblyRealtime 5 ай бұрын
Hi Eduardo. It is possible to send messages with total data size of up to 64kb within an Ably message. Unfortunately, we do not by default support sending files larger than this over the WebSocket connection, but a common way to solve this problem is to send an access url in the Ably message which links to an external database. Would this work for you?
@zhonglin5985
@zhonglin5985 6 ай бұрын
I think this video would be much more valuable if you could talk more details about how the horizontally scaled system works for a chat app. Everybody knows horizontal scaling is the way to go.
@AblyRealtime
@AblyRealtime 6 ай бұрын
Thanks for your feedback! If you're interested, this is certainly the kind of content we'll consider delving deeper into in the future.
@twofacecore
@twofacecore 6 ай бұрын
Super!! Its a gamer changer now. Please make it for cakephp 5! Please provide package which easily integrate with cakephp 5
@tzuriteshuba2704
@tzuriteshuba2704 6 ай бұрын
If all your servers use a shared redis instance to communicate with each other, don't we just reintroduce the original problem of a single server handling all the load (defeating the purpose of the load balancer)? I see that it still helps, since non-websocket work is still distributed, but at scale, I dont see how anything is solved. Especially for apps like chat apps where the websockets carry a lot of the work. Great video though!
@bookercodes
@bookercodes 4 ай бұрын
You’re spot-on, except Redis is well-suited for clustering compared to your own WebSocket server.
@eddieaguilar4878
@eddieaguilar4878 6 ай бұрын
Awesome thing but my eyes are crying with this light IDE 😂
@janisbasisbasovsdev7147
@janisbasisbasovsdev7147 6 ай бұрын
Good video. I have one question - in you research, did you found a smooth way to pass data from client component to server component? Lets say, user click on an item in the table and a table footer pops up with more data about the row that was clicked in the table. I want the "more data" to be fetched and displayed in server component. But for the server component to know what data to fetch it need the row id which is stored in state management system Zustand (runs only on client).... So how can i pass the newly selected ID to server compoennt?
@AblyRealtime
@AblyRealtime 6 ай бұрын
Alex from the video here 👋🏻 Unfortunately, no. From what I learned, you can’t really pass data from client to server components, you have to fetch all of it upfront and only use the client component to control what gets displayed.
@AmmariMedAziz
@AmmariMedAziz 6 ай бұрын
High quality content! Looking for a real-life tutorial on horizontally scaling web sockets
@omatic7862
@omatic7862 6 ай бұрын
isnt this just web sockets......
@gideonjohnny8931
@gideonjohnny8931 7 ай бұрын
Please I need your assistance
@AblyRealtime
@AblyRealtime 7 ай бұрын
Hey, what do you need help with?
@KhaPiano
@KhaPiano 7 ай бұрын
Awesome video - clear and concise. 👏
@noelalfaro
@noelalfaro 7 ай бұрын
Great video! You broke down the topics well, I find myself understanding RSC and this new model well on one day and lost the next but I think you broke it down efficiently! Will definitely be rewatching 😁
@AblyRealtime
@AblyRealtime 7 ай бұрын
Thank you for your kind words! We're glad to hear you found our explanation helpful
@ihateorangecat
@ihateorangecat 7 ай бұрын
Such a quality content there! 👍 Websocket has been overwhelming for me as a socket io user, and this expalins a very decent way love it. I really hope to see more educational contents like this from this channel and alst but not least Ably looks really interesting to give a try too!
@arifulislamleeton
@arifulislamleeton 7 ай бұрын
Hi I'm Ariful Islam leeton im software developer and website developer and co founder open A. I
@lllllllllIIIIIIIIIIl
@lllllllllIIIIIIIIIIl Ай бұрын
Fucking spam
@incidentallygeeks
@incidentallygeeks 7 ай бұрын
You the man!
@GriffynGould
@GriffynGould 8 ай бұрын
10/10
@AblyRealtime
@AblyRealtime 7 ай бұрын
Thanks! Glad to hear you liked it!
@GuildOfCalamity
@GuildOfCalamity 8 ай бұрын
I think you should run a test with a single mid-tier server and see where the average limit of WS connections would be.
@AblyRealtime
@AblyRealtime 7 ай бұрын
Thanks for the suggestion! We'll keep this in mind for future videos.
@user-he5uv6ij7e
@user-he5uv6ij7e 8 ай бұрын
Many thanks ! Would also love to see how to implement Ably websockets in a Next.JS app :)
@AblyRealtime
@AblyRealtime 7 ай бұрын
Thanks for letting us know, a great suggestion!
@Wo_0NDeR
@Wo_0NDeR 8 ай бұрын
Ably is nice, we are just implementing now in one app to build chat and track realtime locations from drivers and sending data to backend with ably queues and work very well.
@AblyRealtime
@AblyRealtime 8 ай бұрын
Sounds like a perfect application for Ably! Glad to hear you're having a good experience - Alex
@wushupro
@wushupro 8 ай бұрын
Awesome tutorial! I think I’m missing something. You’ve added useref to stop it rerendering but why does it re render so much in the first place? I thought react components only re render if state or props change?
@AblyRealtime
@AblyRealtime 8 ай бұрын
React useWebSocket forces a render when lastJsonMessage is updated. In other words, the component renders every time a new WebSocket message is received - Alex
@uncledouglas1944
@uncledouglas1944 8 ай бұрын
It's a great strategy to shine the drawbacks of websocket so you can redirect the people to your managed services with hiding this purpose.