Комментарии:
What if the Zookeeper goes down?
ОтветитьI'm still confused how zookeeper based approach solved two users calling the service for the same long url at the same time. Won't we generate the two different tinyurl?
ОтветитьThank you so much! This video was very helpful.
ОтветитьGreat lecture!
ОтветитьWhat if zoo keeper goes down. Doesn’t it makes it a single point of failure. .. ???
ОтветитьBest explanation on internet, Thanks a lot 🙂
Ответитьwhile this videos is very informative why the hell are you mixing indian and british accents in a every damn sentence.. while the subject matter seems quite easy my real difficulty is understanding your fake accent.
ОтветитьThanks for the Video. How counter range impacts the Short URL generation when we apply at the App server level.
Ответитьsuch good quality content, Hats off
ОтветитьReally really awesome video. Thank you for your great efforts!
ОтветитьIf we redeploy the server does it mean we get a new set of ranges from zookeeper? won't we exhaust the range very fast by that?
ОтветитьThere is still a collision problem. two counter outputs can have same b62 value or md5 hash output (at least the first 7 characters)
ОтветитьYou can save some storage by having the domain on the application properties from AS
ОтветитьVery good explanation, and solving by breaking problems to small level and solving is more good.
I see majority of problems were solved here but what about duplication, if the same long url is shortened by multiple users, the system is going to generate multiple short urls. This is redundant isnt it??
How can we solve this? Make a read once before we generate and write??
Isn't the ZooKeeper, a single point of failure?
Ответитьcan we run a replicate database (cassandra or dynamo db) for storing available range instead of using zookeeper.
ОтветитьI have one query, why we are going for hasing, simply get the unique id generated in the table and use that?
ОтветитьVery complex design
ОтветитьGreat !!!!!!!!!!!!!!!!!!!!!!! Awesome !!!!!!!!!!!!!!!
ОтветитьGreat job, Can you further explain why choosing no SQL over SQL for this design?
ОтветитьHow is counter ensuring that we get a unique short url everytime ?
ОтветитьThanks bud! Love your lectures.
ОтветитьWhat if the zookeeper fails?
ОтветитьWhile registering to zookeeper I would have added a unique string for different app service with the same range counter. I think that will also solve the mentioned issue.
ОтветитьAmazing explanation. But I've one question, what happens when all ranges in zookeper are exhausted? Is there a way to do some sort of compaction on ranges to reclaim them?
Ответитьi have a simple question ..let us say i am creating the Short URL and will reach the Server 1 (range 1L-2L) .. i may get first counter is 100000 .. its success. next request comes how do make sure we will get the next number ie i am trying to create the short url by tmw and reach out the server 1 again .here how do get the next number since first number is already used .we supposed to get the 100002 ...
Ответитьhi bro, can you keep updating vedio? can not wait your new shares
ОтветитьGreat video! Just one thing I don't understand. How can we be sure that base62 encoding will always produce string with length seven?
ОтветитьCan't we use something like (Timestamp (Per Nano Second) + Redis Counter) => This will make sure that we have a unique id??
Ответитьvery much clear. Thank you. If long url record already exists in database then you will simply fetch short url right?
ОтветитьHow do the databases scale out? If the table grows and grows lookup queries when you have cache misses will become a significant bottleneck. Replicas won’t help you here. Even if you sharded instances you’d still need a centralized table because you would need to lookup a specific instance in order to get the long URL given a short URL. Thoughts?
ОтветитьDidn't understand how counter works here and how it guarantees no collisions
Ответитьgreat video!
ОтветитьWe can do it in NoSQL like mongoDB - checking duplication using unique : true in mongoose which will be throwing us duplication error
ОтветитьIt is true that base62 won`t produce collisions with counter? I don`t think so.
ОтветитьWhy are you using the first 7 characters? Or did you arbitrarily decide that?
ОтветитьI wish you showed how to actually get the next available range of numbers from zookeeper
Ответитьincreible!!! gracias por compartir hermano!!! mis respetos, saludos desde Mexico.
ОтветитьQuestion about zookeeper here: Say zookeeper gives AppServer1 the counter range 1 to 10,000. Does AppServer1 constantly report to zookeeper what number it's currently up to? If not, then if AppServer1 goes down at counter 5,000, do we lose all ability to use values 5,001 to 10,000 for ever?
Also - great presentation I learnt a lot. Thank you so much for this!
Xin chào
ОтветитьWhat if Zookeeper goes down ?
Ответитьwhy cant we prefix the counter with some character to uniquely identify the server, like A1, A2, ... B1, B2, .... C1, C2,...
Ответитьnice explanation. many thanks. all the best. keep going !!!
Ответитьthis is a legit gold mine in terms of information. Really informative and you get to understand the details
Ответитьcan't we use, queue data structure instead of zookeeper to handle coordination?
ОтветитьI guess to ensure uniqueness across systems, we can append timestamp and system name to the random number
Ответить