
Microservices in Java? Never - LaSombra
https://codeburst.io/microservices-in-java-never-a7f3a2540dbb
======
erik_seaberg
Fundamentally there's a set of facts you're going to need in memory while
you're working on a request, and those data structures should have a similar
footprint in any reasonable language. Java is only worse for people who have
ignored NIO and are still making blocking calls from huge thread pools (I
admit there are a lot of bad client libraries that are not async-first), or
people whose workload is so tiny that they don't want to spend code space to
gain speed (which the JIT tries hard to do).

 _Edit:_ and a deployment this strapped for cash should probably be hot-
reloading the services within a single JVM rather than paying for lots of
network marshalling across machine boundaries. Their platform has single
instances 30x as powerful as they've chosen.

------
wst_
Blog author in comments: "Deploying a compiled binary allows you to specify
incredibly low memory footprint containers whilst if I were to write a similar
“Hello World” style of application in Java it would require at minimum 512MB
of Memory in order to even start."

This must be some sort of provocation, because if it isn't... Takes my breath
away.

------
itronitron
In Java's defense, it's the APIs (3rd party typically) and not the language
that determine the performance criteria. It sure would be nice to hear what
APIs they were using in Java for their monolithic application and
microservices.

------
forgotpassagan
Python and Node use far more memory than Java. Golang uses less but not by
orders of magnitude, maybe 3x less. Sounds like your JVM GC settings were off,
Golang has GC just like Java.

Most Netflix and Google services are built in Java...

------
megamindbrian2
Ha
[https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...](https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition)

