Какию реализации RPC и Message Bus стоит рассмотреть для микросервисной архитектуры?
На мой взгляд у вас RabbitMQ является самым узким местом, мало того, что он сам по себе медленный, так он у вас ещё и избыточно перегружен. Необходимо максимально избавиться от него. 
Для выполнения удалённых процедур уже давно придуман RPC или более продвинутый его аналог GRPC, который гоняет данные в бинарном формате, что сокращает размеры запросов и увеличивает скорость передачи, что так же может пригодиться вам для реализации запроса за данными. Думается если вы первые два пункта уберёте, кролику станет значительно легче и возможно на этом можно будет остановиться, если нет, то возможно стоит отказаться от него в пользу Nats, посмотрите, он может вас сильно порадовать производительностью. Ну или можно посмотреть в сторону Redis, он так же превосходит кролика в реализации очередей и на мой взгляд отлично подходит для реализации событийно-ориентированной архитектуры.
Как вариант, не гонять через RabbitMQ весь запрашиваемый и отправляемый объем данных, а отправлять только идентификатор. Сами данные хранить в базе.