1. write the service specification in Thrift.
2. Generate the server and client stub with the framework.
3. Write the service functions.
4. Most probably you'd need to include some database/cache libraries. Poco project does a fairly good job.
5. Add some more logging and metric libraries.
6. General tools/libs are available in poco and folly.
7. If you are messing with REST, Microsoft Rest SDK and Facebook Proxygen is already providing a very solid foundation. High performance servers are already written. You just need to fill the call backs and configure the thread pools.
Why do you consider this more difficult than doing the same in Go? You just need some intermediate C++ knowledge for above tasks. No need to touch template programming, manually managing threads, ...