Live data from Hacker News

How Netflix really uses Java

infoq.com

61–70 of 100 posts

Re: How Netflix really uses Java

#61

Meanwhile, if you're building something smaller than Netflix, I'm writing a book just about that ( https://opinionatedlaunch.com/ ). It's about mobile apps, but I talk about backend at great length, especially since my background is Java. The book is called "opinionated" because I cover Quarkus ( https://quarkus.io/ ), monolith, Fly.io, and no K8s. No fancy stuff to pad your CV, just to get things done the simplest w…

Why Fly.io if you want to build a monolith? Compared to Heroku or Render, to me Fly.io seems to be more aimed at edge computing.

Re: How Netflix really uses Java

#62

This is mostly off-topic I suppose but I recently noticed that Netflix, and Netflix on my TV(WebOS) specifically is absolutely spamming my router with DNS requests sometimes several times a minute, most of them for nrdp-ipv6.prod.ftl.netflix.com. I'm not blocking them btw, so it's not some buggy retry thing going on. Even if I do a hard reboot of my TV and don't start the app, my TV is still happily resolving away. I…

> absolutely spamming my router

Ah, how many k/second?

> sometimes several times a minute

WTF?

We're talking 0.00003 thousand requests/second? Most apps do several DNS queries per minute. Otherwise every DNS update would require >1 minute to propagate. Slow DNS updates is a massive pain in the ass.

FWIW, ISP DNS servers and cheap home routers are both capable of caching DNS responses, updating the cache when they get a query for something that's about to expire, and serving thousands of queries per second.

> then they told me to take it up with my ISP and immediately closed the chat

This is the correct response. DNS is usually provided by the ISP via DHCP. If their server can't handle "several times a minute", the ISP would be at fault 100% of the time

Re: How Netflix really uses Java

#63

Earlier quoted context omitted.

> ...the async/await mess that C# created What do you find messy about it? Seems fairly straight forward, IME.

Not sure what the poster above was thinking of, but it seems kinda the same as every other language that’s adopted it - powerful, but footguns abound. I ran some async C# in a debugger - in Rider - the other month, and the debugger just goes off the deep end. Does C# have the same issue Python does with accidentally calling blocking code? In async Python - which I mostly quite like actually - it’s terrifying to bring…

Python's async works on a single thread, C# uses a thread pool. Calling a blocking method is not ideal, but doesn't ruin everything, and it's easy to hand that work off to a separate thread by using Task.Run.

Re: How Netflix really uses Java

#64

I bought into the "RX Java/JS/etc.." years back. Everyone I showed the code couldn't handle it, and we just backed off to other methods, and things worked just fine. RX has some interesting ideas, but from a practical standpoint, at companies not netflix, it just doesn't work

If you're doing worker threads with multiple callbacks to listeners whose lifecycles are properly managed to avoid memory leaks then Rx will probably be simpler. If you're not doing threading or if your listeners only receive one callback then Rx might be overkill.

Re: How Netflix really uses Java

#65
post #15

I bought into the "RX Java/JS/etc.." years back. Everyone I showed the code couldn't handle it, and we just backed off to other methods, and things worked just fine. RX has some interesting ideas, but from a practical standpoint, at companies not netflix, it just doesn't work

RX definitely requires some non-standard thinking to do well, but any competent engineer can get it if they want to dedicate the time to it. But you're right, the same things can be accomplished in other ways with less up front effort. But where it really shines is when you hit massive scale. Having RX and its concepts in place ahead of growth makes the growth easier.

I think this is where things go wrong. I used RxJS plenty and tried even spearheading its usage at times in some of our apps since it could cleanly solve some problems in what I thought were elegant solutions. I quickly abandoned this after realizing that the upfront ask in terms of dedicating time to learning it for some people is just too much for them to handle.

I'd say a decent chunk of engineers just were not competent enough to get it in the first place and then there were those who just refused to put in the time to learn.

i.e. there are many engineers who I truly believe do not even want to put in the effort to be competent in the first place. That or false competence takes precedent as well.

Re: How Netflix really uses Java

#66

I bought into the "RX Java/JS/etc.." years back. Everyone I showed the code couldn't handle it, and we just backed off to other methods, and things worked just fine. RX has some interesting ideas, but from a practical standpoint, at companies not netflix, it just doesn't work

[deleted]

Re: How Netflix really uses Java

#67

This is mostly off-topic I suppose but I recently noticed that Netflix, and Netflix on my TV(WebOS) specifically is absolutely spamming my router with DNS requests sometimes several times a minute, most of them for nrdp-ipv6.prod.ftl.netflix.com. I'm not blocking them btw, so it's not some buggy retry thing going on. Even if I do a hard reboot of my TV and don't start the app, my TV is still happily resolving away. I…

[deleted]
Post reply on HN