Как правильно передать данные между микросервисами spring?
запустил два микросервиса (мс) по технологии Spring Boot - Eureka.
первый мс читает данные из бд1, второй пишет в бд2. планируется ещё один мс для трансформации/редактирования/анализа данных.
но я не могу понять, как организовать обмен данными м-у микросервисами.
допустим, я считал данные и оформил их как json. куда его отправлять ? через
model.addAttribute("json", json); на адрес второго мс ?
далее, объём получаемых данных известен оценочно, не факт, что они войдут в json.
в общем, прошу совета, как правильно организовать обмен данными м-у микросервисами.
По такому ТЗ совершенно невозможно сказать как правильно.
В принципе если лаг не важен - то можно использовать Kafka или любой из
модмножества JMS брокеров (Rabbit, ActiveMQ).
Непонятно что ты имел в виду когда говоришь про объем. Я не знаю ограничений на JSON.
Хоть терабайт толкай. Главное чтоб твоей памяти хватило его принять.
Вобщем твое ТЗ надо обсуждать и обсуждать. И главное - контаркты. Кто кому чего должен. Какие
бизнес кейсы.
Сама по себе задача обмена данными может быть реализована бесконечым числом способов : REST, SOAP,
RPC, GraphQL, но надо в первую очередь описать детально хотя-бы один кейс. И твой Json описать в виде
спецификации.
Орхан Гасанлы, спасибо, спасибо всем.
проект - учебный, и, как всегда нужно быстро.
Орхан Гасанлы, благодарю за ссылки. они не попадались мне в поисковиках, но, кажется, это то, что нужно.
микросервис (мс) мс1 читает данные из бд1. мс2 объявляется как клиент @FeignClient("name-ms1") и обращается с методу мс1.
камнем преткновения здесь было то, что не было явно сказано, что не нужно писать реализацию интерфейса клиента мс2. сказано только, что это декларативный клиент: "Feign is a declarative web service client".