







Concurrency breaks ordering by design, but sometimes we need both. Explore three methods to preserve order in concurrent Go applications, from standard ReplyTo channels to sophisticated permission passing, with benchmarks and real-world trade-offs.
Notes on structured concurrency, or: Go statement considered harmful — njs blog
Every concurrency API needs a way to run code concurrently. Here's some examples of what that looks like using different APIs:
Go sync.Map: The Right Tool for the Right Job
Go’s sync.Map isn’t a magic bullet for all concurrent map needs. It’s got some good tricks up its sleeve, like handling reads without locking, but it’s not always the best choice. This article dives into how sync.Map works under the hood, from its two-map system to the bottom line of expunged entries.

Optimizing Protocol Buffers in Go Applications
If you’ve ever wondered why your Go service is eating memory like it’s at an all-you-can-eat buffet, chances are you haven’t optimized your Protocol Buffers usage. I’ve been there, watching heap profiles with the kind of horror usually reserved for checking your bank account after a night out. But here’s the good news: Protocol Buffers in Go can be wickedly fast and memory-efficient when you know the tricks. Let me walk you through the optimization techniques that transformed my services from memory-hungry monsters into lean, mean, serialization machines.

Go Web Programming
Build scalable, high-performance web apps in Go with modern design principles.

A Conflict-Free Replicated JSON Datatype
Many applications model their data in a general-purpose storage format such as JSON. This data structure is modified by the application as a result of user input. Such modifications are well understood if performed sequentially on a single copy of the data, but if the data is replicated and modified concurrently on multiple devices, it is unclear what the semantics should be. In this paper we present an algorithm and formal semantics for a JSON data structure that automatically resolves concurrent modifications such that no updates are lost, and such that all replicas converge towards the same state (a conflict-free replicated datatype or CRDT). It supports arbitrarily nested list and map types, which can be modified by insertion, deletion and assignment. The algorithm performs all merging client-side and does not depend on ordering guarantees from the network, making it suitable for deployment on mobile devices with poor network connectivity, in peer-to-peer networks, and in messaging systems with end-to-end encryption.
Thorsten Ball - Why threads can't fork
There is an interesting thread on the Go issue tracker about daemonizing processes. Most of the thread is not about daemonizing processes though, but more about why Go has no Fork() function which you can call directly in your code. The first time I read through it I was wondering and saying to myself: “Yeah, why is there no Fork()? It surely can’t be that hard to implement.” After all you can already call system calls with the syscall package. As I read more and more I realized that the problem is not implementing Fork() per se, but rather implementing Fork() to work safely in a multi-threaded environment, which most Go programs are. So I tried to find out why.
Composio
Just-in-time tool calls, secure delegated auth, sandboxed environments, and parallel execution across 1,000+ apps.
Concurrency is not Parallelism by Rob Pike
The Go Programming Language
Go is an open source programming language that makes it simple to build secure, scalable systems.


Concurrency in Go
NEAR Intents | Simplifying Web3 Interactions
NEAR Intents let users and AI agents define what they want to do—NEAR handles the rest. A new framework for seamless, multichain execution without complexity, powered by solvers and Chain Signatures.
New iterators in Go 1.23
The Go language now supports standardized iterators. An iterator is an object that progressively provides access to each item of a…

GopherCon 2017: A Go Programmer's Guide to Syscalls - Liz Rice
Building a simple load balancer in Go
Load balancers are crucial in modern software development. If you've ever wondered how requests are...
