It depends a lot on what you're doing. When we experimented with writing microservices in Rust, we struggled with various cloud libraries not really being in a production state, whereas they're often very mature in Go. I'm not a huge fan of Go in general, but since it shares some of the advantages of rust (e.g. tiny docker images, speed to some extent) but has much better library support and is easier in some sense, it often wins out. If speed, correctness, memory usage (we saw quite major differences here, with rust using a lot less memory), interfacing with rust crates etc are extremely important, rust might win out. For a simple CRUD application that interfaces with cloud services, Go is probably better. Answer from Electrical_Fly5941 on reddit.com
🌐
TechTarget
techtarget.com › searchapparchitecture › tip › Rust-vs-Go-A-microservices-based-language-face-off
Rust vs. Go: A microservices-based language faceoff | TechTarget
January 17, 2023 - When it comes to microservices development, programmers rely on fast execution, support for concurrency, service reliability and sophisticated error handling capabilities to create applications that satisfy business goals. These features enable teams to develop complex web applications and microservices. Rust and Go offer clear code structures and high-level programming features.
🌐
Reddit
reddit.com › r/rust › for microservices, is rust instead of go a bad choice?
r/rust on Reddit: For microservices, is Rust instead of Go a bad choice?
August 18, 2023 -

Actually, i am currently backend developer now but from the school years i am really wondered about system programming(e.g. operating system) but i do not have a why to develop.

On the job, i will rewrite a microservice for self-development purposes. As a side effect, i want to get rid of NodeJS applications (no offense, i could not like it). I will provide a Proof of Concept to demonstrate performance and maybe reliability difference.

As i explore, Go is better choice for my use case. For the last time, i want to ask to you: should i write in Go or Rust?

If you say Go, how can i join to Rust world? There may be open source projects but i need your words.

Top answer
1 of 19
79
It depends a lot on what you're doing. When we experimented with writing microservices in Rust, we struggled with various cloud libraries not really being in a production state, whereas they're often very mature in Go. I'm not a huge fan of Go in general, but since it shares some of the advantages of rust (e.g. tiny docker images, speed to some extent) but has much better library support and is easier in some sense, it often wins out. If speed, correctness, memory usage (we saw quite major differences here, with rust using a lot less memory), interfacing with rust crates etc are extremely important, rust might win out. For a simple CRUD application that interfaces with cloud services, Go is probably better.
2 of 19
31
Personally I think Rust is a much better language for services than Go. Especially when it comes to making changes to existing systems. However the learning curve is very real, and it really is very low with Go. Where I work I have about six years of Rust experience. I pair with people new to Rust, and get them to write services. I guide them to ignore the traps I’ve done in the past, pair when they encounter blockers, and help them get to working projects quickly. Including testing, logging, managing configs, deploying, etc. The stuff that makes a project more real. We have a second person at work with similar experience with another team. Do you have things like that? If not, then Rust can end up sucking up a lot of time trying to find solutions to problems that will come up. It’s difficult to recommend Rust on general services if all of the developers are inexperienced in it. (Although personally I’d consider sticking with TypeScript. It’s a great language when projects are done well.)
🌐
SCAND
scand.com › home › corporate blog › rust microservices: is choosing rust over go a bad idea?
Rust Microservices: Is Choosing Rust Over Go a Bad Idea, or Should You Choose Go?
January 15, 2026 - Rust outperforms Go in CPU-heavy tasks for high-throughput and low-latency microservices because it has zero-cost abstractions along with fine-grained control over memory management, thus making it possible to compose well-performing services ...
People also ask

Can Rust completely replace Go for microservices?
Not always. Rust is great for high-performance, memory-sensitive, or security-critical services, but it has a steeper learning curve and slower development speed. Go offers rapid software development, easy onboarding, and large-scale teams. Many companies use both languages depending on service needs.
🌐
scand.com
scand.com › home › corporate blog › rust microservices: is choosing rust over go a bad idea?
Rust Microservices: Is Choosing Rust Over Go a Bad Idea, or Should ...
Can Go and Rust work together in the same microservices architecture?
Absolutely. Many organizations use a hybrid approach: Rust for performance-critical services and Go for standard services that need faster development and easy scaling.
🌐
scand.com
scand.com › home › corporate blog › rust microservices: is choosing rust over go a bad idea?
Rust Microservices: Is Choosing Rust Over Go a Bad Idea, or Should ...
Is it expensive to use Rust instead of Go?
Rust can increase upfront development costs because of its complexity and smaller talent pool. However, it can reduce long-term operational costs by preventing operating phase errors, memory leaks, and security issues. Go usually costs less to develop and maintain initially.
🌐
scand.com
scand.com › home › corporate blog › rust microservices: is choosing rust over go a bad idea?
Rust Microservices: Is Choosing Rust Over Go a Bad Idea, or Should ...
🌐
Reddit
reddit.com › r/rust › which is better for web server microservices? rust or go? and why?
Which is better for web server microservices? Rust or Go? and why? : r/rust
August 8, 2022 - Go makes me want to swallow a brick whole with no water. So Rust is better ... Surprisingly explicit. ... Everything about it induces friction. I have tried so many times to use it. On personal projects, at work, with friends, etc. Every single time there’s something new ... If performance is the concern, Rust gives you much more headroom to optimize. See, for example, Why Discord is switching from Go to Rust from 2020, which discusses Discord's struggles with tuning Go's garbage collection, compared to what they could do in Rust.
🌐
Reddit
reddit.com › r/golang › go vs rust? need some suggestions.
r/golang on Reddit: Go Vs Rust? Need some suggestions.
January 23, 2018 -

Redditers

I'm trying to write some microservices as well as core system modules, on top of which the said microservices will run.

Various posts on the internet suggest using GoLang at least for writing microservices, however, I'm inclined to use Rust as I'm planning to write my system modules in Rust.

If anyone has tried either of these languages, can you please share your experience of using Go / Rust

NOTE: I already know that learning curve for GOLANG is much shorter than Rust

Top answer
1 of 5
34

The choice between Go and Rust is all about memory management.

Rust assumes that you believe that GCs are sub-optimal, and provides you with a complete toolset to operate memory effectively.

Go assumes that you believe that GCs are optimal, and provides you with a toolset to manage pointers in a way that the GC can work effectively.

Therefore, you need to do some research on which of these two philosophies strikes your problem in some fundamental way.

For the sake of the example, let's assume that you have a microservice in your fleet that's a very hot spot. It takes lots of connections per second, some of then it just accept the connection and close it doing nothing.

Also, for the sake of the argument, let's assume you're a proficient programmer in both languages - so implementation problems won't hinder performance.

Coming from Rust, most likely you're going to structure your code around the opportunities to allocate and deallocate the memory and connection pointers. Probably you will take the lifetime of the pointer to the functions modifying the connection state. And manage its termination carefully so to avoid loss of time in some blocking call. So, every time you decide to use something, you will also decide if this same something could be deallocated or not (through lifetime management).

In Go, your experience will be dramatically different. Because you don't get to manually deallocate resources, you will be driven to think whether a certain resource is useful in some part of the code. If not, you will not use it, and it will be the GC's job to decide if the given resource is still used (through escape analysis for instance) - one badly written piece of code and GC will take longer to clean it up or the memory will leak. Go makes it very easy to write GC friendly code, so this shouldn't be an issue as long as you don't outpace the GC.

The trade-off is: you can choose to manually manage the memory, which is great if you know what you are doing and you are willing to pay the DX price in Rust; or, you can choose to give away the memory management to GC, lose control of how the memory looks to you, and you get a much easier DX experience.

The last but not the least. Both programming languages have been improving a lot lately. Rust is working out its ergonomic problems - and while I believe it will never be as easy as Go, it will be easy enough.

And Go has been improving a lot its runtime features (namely the GC) and its developer support toolset (observability tools - thanks @rakyll).

It means that any of these two choices are likely safe bets in long term.

2 of 5
18

Few things:

  • Rust does not have as many libraries as Go for talking to various services for server side things ( think cloud, gRPC, logging / tracing, database ect ...)

  • Same for frameworks

  • Rust needs nightly to build on a lot of recents projects

  • The Go standard lib has more packages to do anything backend related ( serialization, http, db, html template ect ... )

  • Concurrency is honestly better on Go for now, Tokio is not stable and there is no concensus on what to use and it's fairly complicated overall

  • Go tools are good, from the IDE to the various tools to debug, benchmark, profile Go code

  • Keep in mind that Go performance is pretty good, for micro services where IO is most likely the bottleneck you probably don't see that much difference with Rust

On the end if it's just a pet project to learn you should pickup anything you want. tbh I don't think Rust is well suited for micro services where Go is really good at it.

🌐
Quora
quora.com › What-do-experts-think-about-microservices-designing-in-Go-or-Rust-instead-of-Java-Spring-Boot
What do experts think about microservices designing in Go or Rust instead of Java (Spring Boot)? - Quora
Use Rust for: performance-critical ... safety is paramount. Use Go for: networked microservices, API gateways, control planes, sidecars, and developer-facing services where fast iteration matters....
🌐
Markaicode
markaicode.com › home › rust › rust vs go performance in 2025: comprehensive benchmark tests for microservices
Rust vs Go Performance in 2025: Comprehensive Benchmark Tests for Microservices | Markaicode
May 17, 2025 - Go offers faster development cycles, easier learning curve, and good-enough performance for most use cases. For performance-critical microservices handling high traffic or requiring minimal resource usage, Rust provides measurable advantages.
🌐
Endler
endler.dev › 2017 › go-vs-rust
Go vs Rust? Choose Go. | Matthias Endler
While it’s great for writing microservices and tooling around backend infrastructure, I would not want to write a kernel or a memory allocator with it. But with Go, you get things done — fast. Go is one of the most productive languages I’ve ever worked with. The mantra is: solve real problems today. The Rust learning curve over time, a bumpy ride.
Find elsewhere
🌐
Medium
medium.com › @trashhalo › microservice-comparison-63ed53a47a6c
Microservice Comparison. Build a simple microservice in three… | by Stephen Solka | Medium
August 23, 2018 - This is a very common pattern for microservices. Slightly bigger than a hello world and forces you to bump into some platform warts. Golang is in a sweet spot of simple syntax, fast compiled language, rich standard library and age of platform.
🌐
Prodsens
prodsens.live › home › rust microservices: is choosing rust over go a bad idea?
Rust Microservices: Is Choosing Rust Over Go a Bad Idea? - prodSens.live
December 17, 2025 - Rust outperforms Go in CPU-heavy tasks for high-throughput and low-latency microservices because it has zero-cost abstractions along with fine-grained control over memory management, thus making it possible to compose well-performing services ...
🌐
Atatus
atatus.com › blog › rust-vs-golang
Rust Vs Golang - When to use them?
June 18, 2025 - Thus, Go is a great fit for microservices architecture and easily serves the API developer’s needs. Thus, if you prefer syntax simplicity to performance and value development speed, Go is your option to choose.
🌐
LogRocket
blog.logrocket.com › home › go vs. rust: when to use rust and when to use go
Go vs. Rust: When to use Rust and when to use Go - LogRocket Blog
December 3, 2024 - This makes it great for building microservices · Scalability: Go is a great choice if you need to scale your application. You can leverage its built-in concurrency support and lightweight threads to scale apps · Simplicity and readability: ...
🌐
Medium
luci7.medium.com › why-go-and-not-rust-a8baeb3c55b
Why Go is good than Rust? - Luci Bro - Medium
April 19, 2021 - In this article, I’ll try to ... I think Rust is the ideal choice, and where I think Go is a better alternative. If you had to sit down and think of the programming languages which were best aligned with the motive to develop secure, microservice favoring frameworks and apps, you would again find yourself staring at the two languages. Even after being similar in some prominent ways like maturity, being open source, and being designed for microservice ...
🌐
WriterDock
writerdock.in › blog › go-vs-rust-for-microservices-a-2026-performance-benchmark
Go vs Rust for Microservices: 2026 Performance Benchmarks | WriterDock
January 19, 2026 - If your primary bottleneck is CPU or Memory, choose Rust. If your primary bottleneck is Developer Time, choose Go. For most teams building standard microservices, Go remains the default safe choice.
🌐
Bitfield Consulting
bitfieldconsulting.com › posts › rust-vs-go
Rust vs Go — Bitfield Consulting
February 15, 2026 - Go lets developers move fast, while staying flexible. ... Rust for high stakes, Go for low costs.
🌐
The New Stack
thenewstack.io › home › rust vs. go: why they’re better together
Rust vs. Go: Why They’re Better Together - The New Stack
March 6, 2023 - For most companies and users, Go is the right default option. Its performance is strong, Go is easy to adopt, and Go’s highly modular nature makes it particularly good for situations where requirements are changing or evolving.As your product ...
🌐
Medium
medium.com › @kanishks772 › rust-vs-go-i-built-the-same-microservice-twice-the-winner-surprised-me-a3a948d1d485
Rust vs Go: I Built the Same Microservice Twice — The Winner Surprised Me | by The Latency Gambler | Medium
May 5, 2025 - Curious about their real-world differences, I decided to build the same microservice twice — once in Go and once in Rust — and compare them head-to-head. What I found surprised me. In this article, I’ll share how the two languages compared across development speed, code simplicity, performance, and runtime behavior, with code snippets and benchmarks along the way. ... Both services were containerized with Docker and deployed locally. I used wrk for load testing.
🌐
C# Corner
c-sharpcorner.com › article › go-vs-rust-which-language-is-better-for-building-cloud-native-microservices
Go vs. Rust: Which Language is Better for Building Cloud-Native Microservices?
3 weeks ago - Its simplicity and performance make it ideal for microservices. ... Rust is a system programming language focused on safety, performance, and memory management without using a garbage collector.
🌐
Medium
medium.com › @harish852958 › how-i-built-the-same-microservice-in-go-and-rust-and-why-one-crashed-first-0204ddfc7c36
How I Built the Same Microservice in Go and Rust and Why One Crashed First | by ArchitectOfExperience | Medium
August 14, 2025 - Six months into retirement, I found myself missing the thrill of production debugging. So I built a simple order processing microservice twice once in Go 1.21 and once in Rust 1.75 to see which language’s promises held up under stress. ... Both implementations use identical architecture patterns and connect to PostgreSQL for persistence.