Если там какой-то из общепринятых gRPC сервер, то там TLS уже сделан скорее всего. Так что и нечего лезть. Разбирайся как в твоей клиентской библиотеке делать certificate pinning и вперёд
И на клиенте тоже) Использование единого языка, позволяет переиспользовать код как на сервере так и на клиенте
Это тебе повезло, и не надо мобильные клиенты скажем поддерживать. Попробуй посмотреть на https://capnproto.org/и его Го-реализацию https://github.com/capnproto/go-capnproto2 У него есть несколько приятных фич, например promise-based RPC (когда серверу можно послать запрос, и сразу следом второй, опирающийся на ещё не полученные данные из первого. И по сети только конечный результат принимать)
Это тебе повезло, и не надо мобильные клиенты скажем поддерживать. Попробуй посмотреть на https://capnproto.org/и его Го-реализацию https://github.com/capnproto/go-capnproto2 У него есть несколько приятных фич, например promise-based RPC (когда серверу можно послать запрос, и сразу следом второй, опирающийся на ещё не полученные данные из первого. И по сети только конечный результат принимать)
Пока не думал об этом. Но было бы неплохо для оптимизации
Тогда возьми просто https://github.com/lucas-clemente/quic-go для транспорта. Обрати внимание на tlsConfig в настройках клиента — именно там ты будешь прибивать гвоздями ключ от клиента
Это тебе повезло, и не надо мобильные клиенты скажем поддерживать. Попробуй посмотреть на https://capnproto.org/и его Го-реализацию https://github.com/capnproto/go-capnproto2 У него есть несколько приятных фич, например promise-based RPC (когда серверу можно послать запрос, и сразу следом второй, опирающийся на ещё не полученные данные из первого. И по сети только конечный результат принимать)
Тогда возьми просто https://github.com/lucas-clemente/quic-go для транспорта. Обрати внимание на tlsConfig в настройках клиента — именно там ты будешь прибивать гвоздями ключ от клиента
Я делал такую штуку, когда это ещё не было мейнстримом, и в итоге просто забил, потому как дебаг чуть сложнее, а выгоды никакие(когда ты сам контролируешь и клиент, и сервер).