---
# System prepended metadata

title: Propozycja rozwiązania dzielenia ruchu między instancje rezerwowane a nierezerwowane

---

# Propozycja rozwiązania dzielenia ruchu między instancje rezerwowane a nierezerwowane

Proponowana wycena czasowa pracy: **5MD**
Proponowana wycena czasowa na testy: **5MD**

Łącznie: **10MD**

Z punktu widzenia architektury, to rozwiązanie można przygotować na zasadzie takiej:
- zeskalowane proxy do dwóch instancji (balancing),
- oba proxy mają dostęp do tej samej tabeli w bazie,
- w tabeli są skonfigurowane odgórnie relacje: source - instancja,
- w tej samej tabeli lub w cache możemy odnotowywać, która instancja dla danego source została już zajęta,
- w przypadku "zajęcia" instancji, system bierze następną przypisaną do tego source.

Takie rozwiązanie pozwoli skonfigurować np. dwie instancje zarezerwowane, oraz trzeci nierezerwowany, który pozwala dużej ilości osób się "wbić" na streaming.

Dodatkowo, proponuję odznaczać w bazie: 
- datę zajęcia konkretnej instancji, a w przypadku nierezerwowanych odznaczać każdy kolejny "request" zaalokowania,
- limit (quotę) po naszej stronie można dla instancji nałożyć, aby nie puszczało renderowania iframe'a jeśli nie ma to i tak sensu,
- odznaczać, kiedy, która sesja z jakim resp_id zakończyła pracę na danej instancji Furioosa.

Poniżej przedstawiony jest proponowany flow rozwiązania:

![Proponowany flow rozwiązania](https://i.imgur.com/5ul0QMD.png)

Proponowany flow obsługi kodów zwrotnych oraz nagłego zamknięcia sesji na instancji zarezerwowanej:

![Proponowany flow obsługi kodów zwrotnych oraz nagłego zamknięcia sesji na instancji zarezerwowanej](https://i.imgur.com/3ao4ANf.png)


