Hej, od jakiegoś czasu zastawiam się jak najlepiej przetworzyć bazę danych w przypadku wielu instancji aplikacji.
Np. mam główną tabelę w której są dane które chciałbym przetworzyć w jakiś tam sposób.
I teraz problem jest taki że wiele replik może chcieć przetworzyć te same rekordy (a tego chciałbym uniknąć), pomyślałem że może warto by było dodać dodatkową kolumnę do tej tabeli i przypisać tam jakąś konkretną instancję (na zasadzie round robin czy coś) no i teraz mógłbym robić coś w stylu
SELECT * FROM MY_TABLE WHERE STATUS='NEW' and INSTANCE_ID='InstanceId1'
pobieranie by było wywoływanie shedulerem.
Powyższe rozwiązanie ma też zapobiec sytuacji kiedy instancja z jakiegoś powodu będzie off ( inny serwis będzie też zmieniał INSTANCE_ID dla takich sytuacji i będzie wybierał tylko te które są obecnie działające)
Co o tym sądzicie? Znacie lepsze sposoby?