Что такое Круглый Робин?
В круговой схеме мы выберем все элементы с одинаковым рациональным порядком, то есть с одинаковой разницей между любыми двумя элементами в группе.
Если мы рассмотрим сценарий работы компьютера в режиме реального времени, различные процессы программы, использующие один и тот же метод, часто будут обрабатываться в течение определенного периода времени, а затем оставляют поток этого процесса для использования другим процессом этого метода.
Пример из реального мира:
Круглый Робин в MuleSoft:
Коммутатор Round Robin повторяет краткое изложение, по крайней мере, двух маршрутов, но при каждом выполнении он просто направляет на один из маршрутов. Он отслеживает недавно выбранный маршрут и никогда не выбирает аналогичный маршрут последовательно. Например, при первом запуске Round Robin выбирается основной маршрут. Всякий раз, когда он выбирает следующий маршрут. Если шанс, что недавно выбранный маршрут является последним в кратком изложении, Раунд Робин отскакивает к основному маршруту.
Как получить Круглый Робин в Муле 4:
Шаг 1:
В Anypoint Studio перейдите на вкладку Поиск в поддоне и введите имя модуля (циклический перебор).
Шаг 2:
Нажмите на модуль и перетащите его на холст.
Пример для Round Robin в Mule 4 :
Использование компонента планировщика для разработки циклического процесса на основе выражения cron.
Пожалуйста, выполните следующие шаги:
Шаг 1:
Создайте новый проект мула, как показано именно как Round_Robin.
Шаг 2:
Перетащите компонент планировщика, чтобы получить запрос на ваши серверы.
Шаг 3:
В этом планировщике мы можем выбрать любую из стратегий планирования, т.е.
1. Фиксированная частота
атрибут |
Описание |
По умолчанию |
частота |
Частота, с которой планировщик запускает поток |
1000 |
Задержка запуска |
Время ожидания до запуска потока в первый раз после запуска приложения |
0 |
Единица времени |
Единица времени для значений частоты и задержки запуска |
миллисекунда |
2. Крон
Cron — широко используемый стандарт для отображения информации о времени и дате. Планировщик следит за каждой секундой и дает особую возможность, когда артикуляция Кварцевого Крона координирует вашу настройку даты и времени. Вы можете вызвать событие только один раз или в обычное время.
Артикуляция даты и времени включает в себя шесть обязательных настроек и может включать усмотрение года. Вы указываете настройки в сопроводительном запросе:
- Секунды (0-59)
- Минуты (0-59)
- Часы (0-23)
- День месяца (1-31)
- Месяц (1-12 или январь-декабрь)
- День недели (1-7 или SUN-SAT)
- Год (пустой или четырехзначный год между 1970-2099, например, 2019)
Вот несколько примеров
выражение |
Поведение |
1/2 * * * *? |
Бегать каждые 2 секунды дня, каждый день |
0 15 10? * * |
Беги в 10:15 каждый день. 0 15 10 * *? * а 0 15 10 * *? произвести тот же эффект. |
Примечание:
Компонент Scheduler также поддерживает специальные символы Quartz Scheduler.
- *: Все значения
- ?: Нет конкретного значения
- -: диапазон значений
- ,: Дополнительные значения
- /: Добавочные значения
- L: последний день недели или месяца или последний конкретный день месяца (например, 6L для последней субботы месяца)
- W: день недели, который действителен в полях месяца и дня недели
- #: N-й день месяца. Например, № 3 — третий день месяца
В соответствии с примером я выбираю Cron Scheduling Strategy
Примечание:
Согласно выражению Cron (* * * * *?), Каждую секунду будет перезапуск службы
Шаг 4:
Теперь перетащите компонент Round Robin из палитры Mule на Designed Canvas.
Шаг 5:
Затем возьмите два регистратора для проверки техники кругового приема.
Logger1 как Маршрут-1
Logger2 как Маршрут-2
Теперь мы рассмотрим весь поток проекта, как показано ниже
Шаг 6:
Запустить проект
пример
XML
xxxxxxxxxx
1
<mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
2
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd">
4
<flow name="round-robinFlow" doc:id="d9f11a6d-a205-4905-9057-7b05bb966737" >
5
<scheduler doc:name="Scheduler" doc:id="007323e7-31df-42f1-ae76-4032a0e5b58a" >
6
<scheduling-strategy >
7
<cron expression="* * * * * ?" timeZone="Asia/Kolkata" ></cron>
8
9
</scheduling-strategy>
10
</scheduler>
11
<round-robin doc:name="Round Robin" doc:id="b831ff15-cf36-450f-ba64-f7cdd16b43a4" >
12
<route>
13
<logger level="INFO" doc:name="Logger" doc:id="347412e7-9028-4936-b11f-13624b3d9ab6" message="Route1"></logger>
14
</route>
15
<route>
16
<logger level="INFO" doc:name="Logger" doc:id="abd1b4cd-fdb9-497c-b8d3-8a21f8ac1acb" message="Route2"></logger>
17
</route>
18
</round-robin>
19
</flow>
20
</mule>
Примечание:
В модели закончен первый прогон по Круглому Робину, он печатает Маршрут-1. Всякий раз, когда это печатает Маршрут-2. В третий раз, поскольку есть только два маршрута, Round Robin снова начинается с основного маршрута и печатает Route-1.
Спасибо за прочтение!