That does not sound like a scalable architecture! The number of simultaneous user connections the architecture can support is limited to the number of processes your server can run. The resources required by a process are orders of magnitude more than those required for a goroutine. And the Go runtime adds to that.
Three options: 1) rewrite third party app in Go to run in a single process with a goroutine per connection 2) don't use Go for your extension 3) Write a stub extension in C which talks over gRPC to a single Go server instance On Friday, 28 February 2020 15:39:21 UTC, Luke Mauldin wrote: > > The multiple instances are required to due to way the 3rd party > application works. In brief, it creates a new process for each user > connection and then each new process dynamically load the Go shared library > to provide C extension points. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/4e77316c-5d5f-44d4-968a-ae311ee685d8%40googlegroups.com.