For those who answered yes - 1) how many servers a...
# server
a
For those who answered yes - 1) how many servers are you using? 2) What framework? [spring/jboss etc] 3) How is the CPU/Memory looking on the servers? 4) Is the DB scaling well alongside the app?
d
It really depends on your workload
Doing something simple like static fetch of a hard coded string wont use same amount of resources as something computarion heavy
a
I am assuming that is a given - that most people won’t respond if they are serving static files
p
1) Many. (we have a microservice architecture with very different amounts of traffic for different services) 2) Ratpack 3) We autoscale as needed, so generally it’s “good” 4) The heaviest service we have doesn’t use a DB so very well. For the others, generally yes, but in different ways for different apps
m
Ratpack and Kotlin. Interesting choice. I thought Ratpack was Groovy focused, so didn't expect anyone to be using it with Kotlin. Curious what the motivation was to choose Ratpack over the other options available.
👍 1
p
@Mike Core ratpack is pure Java. The Groovy parts are a thin shell on top of it so you can use any JVM language you want. We started using Ratpack before we started using Kotlin. In fact, we became Ratpack users before Spring got good async support so we didn’t have many other options if we wanted to go async. Since then we’ve developed a bunch of internal libs(mostly in Java or Groovy) that depend on Ratpack so we are kind of tied to it now. We have discussed switching to Spring or Ktor, and we have some newer services that use Spring but we are still mostly ratpack. We use https://github.com/drmaas/ratpack-kotlin/tree/master/ratpack-kotlin-dsl to get a Groovy-like DSL for Ratpack with Kotlin
m
Ahh, good to know. I forgot Ratpack was Java underneath. It was definitely ahead of the pack. Thank you for sharing.
p
👍
f
@asad.awadia it's similar to Java, same advantages and disadvantages. There sure are various stdlib things that have poor performance but they exist in Java and many other libraries as well. I prefer Spring Boot with Webflux and Coroutines for maximum performance, reduces the load a lot.
s
It would be very interesting to see a performance comparison between coroutines ktor( with something like CIO) and Spring Webflux (project reactor) with coroutines support. Does anybody know if such a comparison already exists?
f
I'd say that the comparison would be complicated because Spring would need to be reduced in it's feature set, greatly. Otherwise it's apples and oranges.
🍺 1
a
@Stu Law tech empower gets thrown out everywhere — but Idk how reliable that is
I am not a big performance junkie - and care a lot more for nicer code base than a few extra 100 requests per second
👍 1
d
TEB is definitely not perfect, but it's probably the best long term public benchmark out there for the general use cases - Json, web template, plus dB actions. (Happy to be wrong on that though - please let me know if there's something better! 🙃)
👍 2