Aktywne Wpisy
MurLand +115
Duch Kijowa, babcia stracajaca drony słoikami, wyspa węży, choroba Putina zostało 3 miesiące życia x99 times, w Rosji koniec rakiet już za miesiąc, wakacje na Krymie 2023, Rosjanie kradnący sedesy, zabici wszyscy generałowie w tym Tuszajew x999, babcia która otruła cały batalion zatrutymi pierogami. Fajnopolak łyka wszystko jak leci.
Nagranie z pobicia Polaków przez Ukraińców. Fajnopolak - to musi być prowokacja rosyjskich służb, trzeba zrobić badanie kształtu czaszki żeby sprawdzić pochodzenie xdd
Nagranie z pobicia Polaków przez Ukraińców. Fajnopolak - to musi być prowokacja rosyjskich służb, trzeba zrobić badanie kształtu czaszki żeby sprawdzić pochodzenie xdd

PonuryBatyskaf +104
Wyborcza znalazła swój target. Gdyby nie k0rwy nie byłoby już komu tego czytać.
#bekazlewactwa #bekazpodludzi #logikarozowychpaskow #lewackalogika #heheszki
#bekazlewactwa #bekazpodludzi #logikarozowychpaskow #lewackalogika #heheszki





Hej Mirasy, mam pewną zagwozdkę. Mam pewien system, w którym zarządzam wykonywanymi jobami gdzieś tam w chmurze. Te joby (Lambda/Cloud function) mi wysyłają przez kolejkę logi, statusy oraz inne informacje. Ja robię persystencję tego w Firestore (NoSQL od Google). I właśnie o to chciałbym zapytać - o operacje na bazie w rozproszonym środowisku.
Pojawiła się ostatnio potrzeba wyskalowania tego, bo backend nie wyrabia, dodatkowo jest za dużo operacji i jest to za drogie. Mam to w k8s, także samo skalowanie jest możliwe, zastanawiam się jak zrobić tak zapisy / odczyty do bazy, żeby przy wielu instancjach mi się dane nie zepsuły. Skala: Do 1000 zapisów /s, do 10000 odczytów/s.
Jak u Was to działa? Możecie coś podpowiedzieć?
Generalnie jeśli problemem jest read to robisz replikację i masz 1 master bazę tylko do zapisu i kilka baz tylko do odczytu (tu trzeba rozważyć consistency). Jeśli problemem jest write performance możesz użyć federation czyli więcej baz a w każdej zapisywany inny typ danych ( ale wtedy np joiny są bardziej problematyczne) albo sharding czyli porcjowanie danych wg klucza.
Przykład:
Obiekt w bazie ma stan X
Instancja A
Zapytanie leci do backendu i backend wrzuca dane na kolejkę bez żadnej obróbki, czyli tutaj jest szybko.
No I obrabiarka bierze z kolejki, przerabia i wrzuca do bazy. Zarówno część odbierającą możesz skalować za pomocą HPA w Kubernetesie,
Obiekt jest w bazie z timestampem 100
- Instancja A dostaje wiadomość z timestampem 105, patrzy sobie do bazy, ma 100, może zapisać
- Instancja B dostaje wiadomość z timestampem 102, patrzy sobie do bazy, ma 100 (ponieważ jest to praktycznie w tym samym czasie co instancja A), może zapisać
efekt -> obiekt powinien mie ćtimestamp
oraz, afaik, kolejki sie stawia tez przed db
https://firebase.google.com/docs/firestore/solutions/counters