Как организовать архитектуру Go микросервиса?
Если вы используете gRPC, то архитектура начинается с межсервисного общения. Вы на .proto языке описываете структуру сообщений и компилируете в структуры данных Go. Потом пишете обработчики логики для этих структур. То есть отправная точка - архитектура обмена сообщений. А микросервисы на то и микро, что внутренней архитектуры вобщем и не требуют.
Было удобно это зависит только то прямых рук. Можно до корки вызубрить всяких дядей бобов, эриков эвансев  и пр., но реализовать так, что кровь из глаз будет течь.

Определено точно можно сказать, что в go не нужно строить дизайн сервиса так же как в RR, Java или .Net. Лучше всего понять как должно быть устроено go приложение - это поизучать известные проекты, например: https://github.com/gomods/athens , https://github.com/google/exposure-notifications-server