Korlátozott párhuzamosság
Használjon korlátozott kliensoldali várólistát, és minden feladatot szokásos kompatibilis kérésként küldjön el. Így szerveroldali kötegvégpont feltételezése nélkül szabályozható a terhelés.
A szolgáltatás kötegelt módja külön API-szerződés: az útvonalát és törzsét csak akkor használja, ha azt közzétették a fiókbeállításokban vagy a specifikációban.
async function runWithLimit(items, limit, work) {
const results = [];
for (let offset = 0; offset < items.length; offset += limit) {
const group = items.slice(offset, offset + limit);
results.push(...await Promise.all(group.map(work)));
}
return results;
}A várólista vezérlése
- A belső feladatazonosító legyen determinisztikus és egyedi egy futáson belül.
- Osszon egy túl nagy halmazt kezelhető csoportokra.
- Egy elem hibáját tartsa külön a teljes várólista hibájától.
Eredmények összegyűjtése
Kapcsoljon egy eredményt belső azonosítóhoz, és őrizze meg minden feladat állapotát.
Ne próbáljon automatikusan újra minden feladatot: csak az átmeneti hibákat próbálja újra az idempotencia ellenőrzése után.