I have a client sending around 500k requests (messages)/min. Each message will be around 200 bytes to 2KB. Each message will be saved in a database (like Couchbase).
What is the correct way to structure a Go TCP server in terms of cores, ports, connections and goroutines to handle this load?