Oracle Cloud Infrastructure (OCI) Queue je služba asynchronního zasílání zpráv bez serveru určená ke zpracování velkých objemů dat s několika souběžnými producenty a konzumenty zpráv. Když několik výrobců a spotřebitelů zpracovává zprávy ve stejné frontě, mohou nastat problémy, jako jsou následující příklady:
- Agresivní producent nebo náhlý výpadek hlasitosti od jednoho producenta může ovlivnit výkon aplikace a způsobit značné zpoždění zpracování zpráv přicházejících od jiných producentů.
- Určité vzorce zasílání zpráv žádost-odpověď vyžadují pomíjivé cíle, což jsou fronty s krátkou životností a určené pro dočasné zpracování zpráv. Při hromadném zpracování těchto zpráv může vytváření a odstraňování těchto krátkodobých front výrazně zvýšit administrativní režii.
- Pokud má fronta více spotřebitelů, jednotliví spotřebitelé mohou mít zájem o konzumaci pouze určitých typů zpráv nebo zpráv pocházejících od konkrétního výrobce, což vyžaduje, aby vývojáři navrhli komplexní řešení s více frontami vyhrazenými pro každý typ spotřebitele.
Novinka: Kanály ve frontě OCI
Abychom tyto problémy překonali, oznamujeme novou funkci v OCI Queue: Queue Channels. Kanály umožňují pomíjivé cíle ve frontě a mohou zlepšit spravedlivost zpracování zpráv, umožnit výběr zpráv a vzorce zasílání zpráv žádost-odpověď.
Zprávy publikované na kanálu jsou k dispozici ke konzumaci z úrovně fronty i kanálu. Kanály nevyžadují explicitní vytvoření nebo odstranění. Při publikování zprávy můžete určit ID kanálu. Všechny zprávy vytvořené se stejným ID kanálu jsou publikovány na stejném kanálu. Kanály jsou pomíjivé, a pokud v určitém kanálu nejsou žádné zprávy, kanál se automaticky smaže. Kanály sdílejí stejná oprávnění, metodu šifrování a limity jako jejich nadřazená fronta, ale fronty mohou konfigurovat kapacitu kanálu a omezovat maximální množství celkové kapacity fronty, kterou může jeden kanál kdykoli využít.
Vytvoření fronty a přidělení kapacity kanálu
Při vytváření nebo aktualizaci fronty můžete určit procentuální přidělení pro kanál, abyste omezili maximální množství celkové kapacity fronty, kterou může kanál kdykoli použít. Ve výchozím nastavení je limit nastaven na 100 %, což znamená, že kanál může zabírat celou šířku pásma fronty. Pokud jej nastavíte na 50 %, může kanál zabírat pouze 50 % šířky pásma fronty.
Odesílání zpráv na konkrétní kanál
Můžete odesílat zprávy na konkrétní kanál. Pokud kanál ještě neexistuje, můžete vytvořit další kanál zadáním ID kanálu při odesílání zprávy. Pokud ID kanálu není zadáno, zpráva se odešle do nadřazené fronty.
Výpis kanálů
Zobrazte seznam kanálů na stránce Kanály.
Průzkum zpráv z kanálů
Na stránce Seznam kanálů vyvolejte zprávu z náhodného nebo konkrétního kanálu.
Vyčistit zprávy kanálu
Zprávy z konkrétního kanálu můžete vymazat pomocí nabídky Akce konkrétního kanálu.
Zdroj: Oracle