powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Внутреннее общение между микросервисами
25 сообщений из 106, страница 1 из 5
Внутреннее общение между микросервисами
    #39699813
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы не дергать их API по http. Как обычно делают? Смотрю на общение чз очереди сообщений (RabbitMQ и т.п.). или это не то?
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699865
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bachЧтобы не дергать их API по http. Как обычно делают? Смотрю на общение чз очереди сообщений (RabbitMQ и т.п.). или это не то?
по разному делают: http, tcp, net pipe, очереди...
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699872
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bachЧтобы не дергать их API по http. Как обычно делают? Смотрю на общение чз очереди сообщений (RabbitMQ и т.п.). или это не то?
только очереди. Какая конкретно зависит от платформы
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699881
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
love_bach,


Queue тебе в помощь!
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699897
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pattern: Remote Procedure Invocation (RPI)
Pattern: Messaging
Pattern: Domain-specific protocol

И всё это относится к inter-process communication .
А это и file, и socket, и pipe, и queue, и shared memory...


love_bach , есть какие-нибудь требования, SLO (service level objectives)? По производительности, надёжности?
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699903
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bachЧтобы не дергать их API по http. Как обычно делают? Смотрю на общение чз очереди сообщений (RabbitMQ и т.п.). или это не то?
"Не для флейма"
Микросервисы это хайп на время.
Пару годиков будет на слуху и уйдёт в небытие.
Т.к. слишком мелкое деление на кусочки системы.
Вот вы вопрос поэтому и задали.
Чем не устроил REST по HTTP с временем отклика 0, 1 сек?
Как раз что слишком часто спрашивать не надо)). Т.е. выкиньте микросервисы.
IMHO ))
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699905
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenfordтолько очереди. Какая конкретно зависит от платформы
+1
Только слово микросервисы тогда совершенно ни при чём.
Очереди были ещё при царе горохе.
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699907
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Пару годиков будет на слуху и уйдёт в небытие.
Неа, просто станут обыденностью.
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699920
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухPetro123Пару годиков будет на слуху и уйдёт в небытие.
Неа, просто станут обыденностью.
записал.
Закрыли тему.
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699924
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы в своей системе используем HTTP, TCP, Queue...
Выбор решения как обычно зависит от задачи. Плюс никто не мешает поддерживать несколько вариантов взаимодействия.
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699953
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
когда на основе очередей реализуется событийная модель взаимодействия, тут вроде разобрался.
но, когда эта модель не только событийная, а еще команды/запросы (внутри которых скрыта реализация на основе очереди), то тут возникает вопрос: как правильно подойти к реализации этих команд/запросов. может какой шаблон/подход посоветуете, или статейку с реализацией чего-то похожего?
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699954
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при использовании WebClient, чз который дергается API микросервисов по http, реализация команд/запросов очевидная. с очередями уже нет
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699958
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach,

в гугле наберите "microservices communication patterns" там полно статей
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699962
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bachможет какой шаблон/подход посоветуете, или статейку с реализацией чего-то похожего?
вы программист?
Если да, то давайте конкретнее.
Т.к. в веб проектах команды\запросы это роутинг по страницам(GET\POST\Redirect)+AJAX.
Если вы сделали микросервис, то давайте код и его архитектуру.
А то скоро вторая страница болтологии будет. Вам в ветку проектирование ИС. Там больше теории и рассуждений.
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699965
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123love_bachможет какой шаблон/подход посоветуете, или статейку с реализацией чего-то похожего?
вы программист?
Если да, то давайте конкретнее.
Т.к. в веб проектах команды\запросы это роутинг по страницам(GET\POST\Redirect)+AJAX.
Если вы сделали микросервис, то давайте код и его архитектуру.
А то скоро вторая страница болтологии будет. Вам в ветку проектирование ИС. Там больше теории и рассуждений.

а разве не конкретно задан вопрос? например, так выглядит запрос

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
internal async Task<IEnumerable<SomeDTO>> Get(long someId)
{
      return await Get<IEnumerable<SomeDTO>>($"{CONTROLLER}/List/{someId}");
}

protected async Task<T> Get<T>(string url)
{
    var client = new HttpClient { BaseAddress = new Uri(_baseUrl) };
    var response = await client.GetStringAsync(url);
			
    return JsonConvert.DeserializeObject<T>(response);
}



а вот как что-то похожее сделать, используя очередь, а не HttpClient, сразу не соображу. Сделать то конечно сделаю, но хочется как-то красиво и просто чтобы было
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699968
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bachЧтобы не дергать их API по http. Как обычно делают? Смотрю на общение чз очереди сообщений (RabbitMQ и т.п.). или это не то?
Непонятно какую проблему вы этим решаете. Если "их API" протестирован и работает то подключайте его по localhost (он оптимизирован для ipc) и используйте.

По поводу RabbitMq. Не уверен что это аналог. Если речь идет о переходе от синхронного взаимодействия к асинхронному. Это архитектурный вопрос.
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699990
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach,
замечательно что начали код приводить.
Для вашего кода не нужна ни асинхронность, ни микросервисы, ни очередь.
DTO передают на толстый клиент в котором своя бизнес логика.
Если общение и взаимодействие тесное то берут протокол повыше.
В шарпе это SOAP MS в виде WCF .
- Кроме того вы ТЗ на информационную систему SomeDTO напишите?
- SomeDTO это микросервис?
- Бизнес логика у вас где?
ЗЫ
В интернете ржут, что микросервисы у всех наслуху но никто в живую их не видел).
У меня впечатление, что вы их тоже не писали).
love_bachно хочется как-то красиво и просто чтобы было
Делите информационную систему по функционалу и по ГОСТ 34
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699993
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо этого твоего:
love_bach
Код: c#
1.
 var response = await client.GetStringAsync(url);


на WCF:
Код: sql
1.
2.
Микросервис_A.SomeDTO someDTO  = client.GetSomeClassAsync();
someDTO.ПроверитьДолги();


только это нафиг не надо.
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699994
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЕсли "их API" протестирован и работает то подключайте его по localhost (он оптимизирован для ipc) и используйте.
Согласен. Т.е. там сетевое взаимодействие вообще моментально так?
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39699997
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123maytonЕсли "их API" протестирован и работает то подключайте его по localhost (он оптимизирован для ipc) и используйте.
Согласен. Т.е. там сетевое взаимодействие вообще моментально так?
Хороший вопрос. Он достоин отдельного топика.

Я не знаю как устроен localhost. Подозреваю что его перформанс сильно платформозависим.

Но нужно сначала прогнать задачу на макетах а потом уже искать ботлнек в localhost.

Нужен strong justification.
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39700003
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonХороший вопросна что отвечу, что я рад что вы как профи подключились).
Тема на грани технологий и ЯП.
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39700004
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНужен strong justification.так глубоко я не умею. Я прикладник по сути.
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39700018
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, я поражаюсь как MS смог упростить SOA / SOAP для прикладников.
Выше код есть. Ведь ничего по сути не надо делать и писать чтобы удаленный хост из Арктики не стал простейшим твои родным рядом.
Раньше я более скептически к soa относился.
Поэтому опять вопрос ТСу.
Занафига тут микросервисы?
Вы спутали межклассовое общение и микросервисы?
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39700020
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bachкогда на основе очередей реализуется событийная модель взаимодействия, тут вроде разобрался.
но, когда эта модель не только событийная, а еще команды/запросы (внутри которых скрыта реализация на основе очереди), то тут возникает вопрос: как правильно подойти к реализации этих команд/запросов. может какой шаблон/подход посоветуете, или статейку с реализацией чего-то похожего?
микросервисы не могут посылать команды и запросы друг другу непосредственно, все общение только через асинхронные очереди
...
Рейтинг: 0 / 0
Внутреннее общение между микросервисами
    #39700021
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenfordlove_bachкогда на основе очередей реализуется событийная модель взаимодействия, тут вроде разобрался.
но, когда эта модель не только событийная, а еще команды/запросы (внутри которых скрыта реализация на основе очереди), то тут возникает вопрос: как правильно подойти к реализации этих команд/запросов. может какой шаблон/подход посоветуете, или статейку с реализацией чего-то похожего?
микросервисы не могут посылать команды и запросы друг другу непосредственно, все общение только через асинхронные очереди
Да ладно не могут...

Synchronous Calls
The probably easiest communication pattern to implement is simply calling another service synchronously, usually via REST.
...
Рейтинг: 0 / 0
25 сообщений из 106, страница 1 из 5
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Внутреннее общение между микросервисами
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]