Answer the question
In order to leave comments, you need to log in
How to write a highly loaded api server?
Good time of the day! Attention, connoisseurs, the question is: "If you were faced with the task of writing a highly loaded api (for now, it just accepts data from PC clients and puts it in MongoDB), which technology would you choose?". I have a few options:
Answer the question
In order to leave comments, you need to log in
Write in php - so there will be fewer errors that will interfere more than the performance of the PL
Authoritative benchmark .
In terms of personal preferences, now I write everything in Go, because I like it.))
Like is a serious factor, until the number of your PC clients is off scale, facebook was written in PHP.
Before writing a highly loaded application, it is important to think over the architecture correctly, choose metrics for measuring performance. Maybe you need to choose another DBMS altogether, having thought through how best to access the data. The DBMS should also be selected based on what the emphasis is more on: read or write operations.
The language ecosystem chosen may be of secondary importance.
Without questioning the credibility of the uvelichitel benchmark from techempower.com, I just want to remind you that this is a benchmark for frameworks . When the task is like this: "performance at any cost!", then all frameworks are better off moving aside and not getting in the way.
Just one example: these guys have achieved a processing speed of 2 microseconds per request-response, not even on bare metal, but under the JVM. All frameworks-champions of techempower-benchmark silently smoke on the sidelines.
From experience.
I highly recommend Go and nodejs. Go is terrible as a language (subjectively, it's just disgusting for me to write in it),
nodejs - requires a lot of effort and care when writing an application so that it behaves stably.
In the end, for myself, I chose clojure.
And you can pervert in C ++ if you wish (rutracker is almost completely written in it).
As a person who has solved a similar problem , I can say that they write in what they know better :)
And on Laravel and Sinatra and Golang and Flask.
Wise uncles keep high loads by horizontal scaling, not by changing the language :)
For heavy workloads, the architecture is critical, not the language. Write on what you know best.
Elixir. Lots of fans. From Go I had a feeling as if I had gobbled up a lemon, but here everything is just great.
It seems like Erlang, but everything seems to be human.
but I don't recommend taking on Scala+Akka just for fun, if time is important.
I somehow did a load-critical project and worked it out for 1 month.
Choose .NET Core.
One of the most convenient languages is C #, you carry runtime with you and it does not depend on anything.
The best IDE on the market with a free edition - Visual Studio
Go can be used when you need to write something that is basically impossible in .NET - create a lot of lightweight threads.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question