3 ms·
> linkerd is written in Scala [1] and linkerd is written in Rust [2] Though your links are correct your statement isn't. Linkerd is written in Scala, but the R
by daenney 10y ago
> linkerd is written in Scala [1] and linkerd is written in Rust [2]
Though your links are correct your statement isn't. Linkerd is written in Scala, but the Rust bit is linkerd-tcp, a TCP loadbalancer, which linkerd (the Scala one) doesn't handle as that covers HTTP and gRPC with optionally encrypting connections between linkers using TLS.
> If he is optimizing for other people’s contributions, is this really the best way to go?
But is he optimising for other people's contributions? Using a C/Rust for something like a TCP proxy makes a lot more sense to me than having a JVM do that. And if he perceives Scala as "not for everyone", maybe adding Rust means he might get more contributions to those components?
I think that statement actually refers to Finagle itself being written in Scala, so if you want to use it you have to at least hoist your own apps on the JVM and integrate Finagle in them. Finagle is essentially client-side and requires integration into your app tightly coupling the two. By spinning it out as a standalone component that acts as a proxy, like linkerd is doing, Scala doesn't get in the way and what Finagle offers can be used with a mesh of microservices written in a myriad of languages.
- alpb 10y agoSorry, not typing -tcp on linkerd-tcp was completely a typo on my end. > I think that statement actually refers to Finagle itself being written in Scala, so if you want to use it you have to at least hoist your own apps on the JVM and integrate Finagle in them. Finagle is essentially client-side and requires integration into your app tightly coupling the two. Thanks, this is the answer I have been looking for.
- olix0r 10y agoYep! That is exactly what I meant by that ;)