4 ms·
Do you know that your server will always have the extra capacity to wait? If so, you are probably correct. If you do not definitively know that, than your young
by codingdave 1y ago
Do you know that your server will always have the extra capacity to wait? If so, you are probably correct. If you do not definitively know that, than your younger co-worker's solution will scale better. I don't think anyone can generically say one answer is better than the other without knowing more information about your infrastructure.
It sounds like they do not respect your take on it, but you aren't respecting theirs, either.
- ninetyninenine 1y agoWe're a small company. Definitely significantly less then 10k concurrent connections. I would say like 100 concurrent connections at most, 20 concurrent connections on average. Even at 10k concurrent connections you don't have to spin up a lambda. There is almost no case where you do unless you are using that lambda CPU to do blocking computations. If your server is your typical crud server that hits a database, your database will be overwhelmed before your server gets hit to the point where it can't even wait. It's not about respect, I don't mind the disrespect. It's more about how they're wrong and they don't realize it and this over engineering is pervasive in the industry. I don't think you understanding how cheap it is on the CPU for a server to wait for an external IO call.
- codingdave 1y ago> It's not about respect, I don't mind the disrespect. But do they mind? Because so far you are saying anyone who doesn't agree with you doesn't understand. Sounds like while you might not mind being disrespected, you fail to realize that other people do mind. You also clearly have an over-sized server if you think 10K concurrent connections can be covered on it. If that is true, you could save a heap of money by downgrading that server and going to lambdas. The more you defend your position, the less tenable it becomes.
- ninetyninenine 1y ago>But do they mind? Because so far you are saying anyone who doesn't agree with you doesn't understand. Sounds like while you might not mind being disrespected, you fail to realize that other people do mind. Is that disrespect or is that just sensitivity? From my POV this is fact. Like 1 + 1 = 2. I'm stating that. Or should I be inclusive and say that 1 + 1 maybe equals 2 but I respect your alternative opinion? If I believe in something as a fact. I should be able to talk about it as a fact and talk about it as if the other person is wrong. You have that right as well. Same with my young coworker. They probably do mind. But I feel that's just life. He called my way of doing it using "assembly language" even, and I let it go. If someone is wrong, we shouldn't be afraid to slightly offend them and tell them they are wrong. That goes both ways. I don't want to live in society where we have to dance around everyone's feelings even when they're utterly wrong and borderline delusional. >You also clearly have an over-sized server if you think 10K concurrent connections can be covered on it. If that is true, you could save a heap of money by downgrading that server and going to lambdas. The more you defend your position, the less tenable it becomes. This is not true. Your laptop on a 10 year old intel chip can handle 10k concurrent connections. Some guy pushed it up to a million here: https://unetworkingab.medium.com/millions-of-active-websockets-with-node-js-7dc575746a01 https://unetworkingab.medium.com/millions-of-active-websocke... The lambda architecture doesn't work for our case because our server maintains long running websocket connections. We just need async non blocking tasks. So I'm saying, launch a concurrent coroutine (aka go routine) and call it a day. I think you're not aware of how much concurrency modern servers can handle. Back in the days of LAMP this would be a problem. But not anymore.