{"id":1716144,"user_name":null,"score":0,"text":"> Czy instancje powinny zaczeka\u0107 na zapis danych i dopiero je odes\u0142a\u0107?\n\nTo raczej bez znaczenia dla nich, je\u015bli w evencie dostan\u0105 informacje o tym co si\u0119 zmieni\u0142o. Jak event zawiera informacje `user zmieni\u0142 maila na a@b.cd` to mo\u017cemy sobie t\u0105 zmian\u0119 \"wprowadzi\u0107\" gdzie\u015b do obiekt\u00f3w domenowych w pami\u0119ci niezaleznie od tego czy zmiana ju\u017c jest w bazie czy jej tam nie ma. \n\n> Nie rozumiem, po co te same dane pcha\u0107 przez logik\u0119 domenow\u0105 \"odczytuj\u0105ce\"\n\nJa tu nie m\u00f3wie o walidacji, albo nie tylko o walidacji, ale po prostu o \"wykonaniu akcji\". Tzn. user zmienia jaki\u015btam tryb dzia\u0142ania aplikacji, wi\u0119c chce sobie znale\u017a\u0107 tego usera, je\u015bli mam go za\u0142adowanego w pami\u0119ci, i zmieni\u0107 mu ten tryb, plus wykona\u0107 wszystkie operacje kt\u00f3re to za sob\u0105 poci\u0105ga. Tak \u017ceby kolejny request do tej instancji zwraca\u0142 poprawne wyniki. Pisa\u0142em gdzie\u015b wy\u017cej, \u017ce chce unikn\u0105\u0107 \"\u0142adowania od zera\" przy ka\u017cdym reque\u015bcie i chce trzyma\u0107 sp\u00f3jny stan w pami\u0119ci. Wyobra\u017a sobie \u017ce na \"stan\" sk\u0142ada sie nie tylko to co w bazie (bo to nie CRUD) ale te\u017c jakie\u015b dane p\u0142yn\u0105ce z innych serwis\u00f3w, wi\u0119c \"\u0142adowanie od zera\" jest ci\u0119\u017ck\u0105 operacj\u0105 i nie chce jej robi\u0107 co request.\n\n> jak jedna instalacja przejedzie je logik\u0105 to potem mo\u017cna jest wys\u0142a\u0107 w \u015bwiat\n\nTo jest szczeg\u00f3\u0142, ale websocket jest przecie\u017c po\u0142\u0105czony do konkretnej instancji wi\u0119c nie da si\u0119 mu nic wys\u0142a\u0107 w inny spos\u00f3b ni\u017c z tej\u017ce instancji :) Plus jw. ka\u017cda instancja musi sobie te zmiany \"zaaplikowa\u0107\".\n\n>  Tak na m\u00f3j prosty rozum to by si\u0119 przyda\u0142a jaka\u015b kolejka - jedna instancja przerabia dane pakuje w kolejk\u0119 a reszta odczytuje. Do tego DB zapisywacz - kt\u00f3ry tez jest zapi\u0119ty na kolejk\u0119.\n\nRaczej event stream ni\u017c kolejka ;) No i to jest to co opisa\u0142em jako drug\u0105 mo\u017cliwo\u015b\u0107, ale wymaga to do\u0142o\u017cenia drugiego serwisu kt\u00f3ry zajmuje si\u0119 \"pisaniem\", a tutaj zostawienia tylko \"czytania\" .","edit_count":0,"is_voted":null,"is_accepted":null,"is_subscribed":null,"user_id":4278,"deleter_name":null,"delete_reason":null,"orderingScore":0,"created_at":"2020-10-20T09:36:19+02:00","updated_at":"2020-10-20T09:36:19+02:00","deleted_at":null,"user":{"id":4278,"name":"Shalom","is_online":false,"location":"Space: the final frontier","allow_sig":1,"allow_count":1,"allow_smilies":1,"posts":26433,"visited_at":"2022-04-24T21:32:48.000000Z","created_at":"2004-01-30T20:49:25.000000Z","initials":"SH","is_verified":false,"is_deleted":true,"is_incognito":false,"is_blocked":false,"is_blocked_perm":false,"deleted_at":"2022-04-25T01:14:08.000000Z","photo":"\/uploads\/photo\/5f\/5fc270f156b49.png","sig":"\"Nie brookli\u0144ski most, ale przemieni\u0107 w jasny, nowy dzie\u0144 najsmutniejsz\u0105 noc - to jest dopiero co\u015b!\"\n"},"html":"<blockquote>\n<p>Czy instancje powinny zaczeka\u0107 na zapis danych i dopiero je odes\u0142a\u0107?<\/p>\n<\/blockquote>\n<p>To raczej bez znaczenia dla nich, je\u015bli w evencie dostan\u0105 informacje o tym co si\u0119 zmieni\u0142o. Jak event zawiera informacje <code>user zmieni\u0142 maila na a@b.cd<\/code> to mo\u017cemy sobie t\u0105 zmian\u0119 \"wprowadzi\u0107\" gdzie\u015b do obiekt\u00f3w domenowych w pami\u0119ci niezaleznie od tego czy zmiana ju\u017c jest w bazie czy jej tam nie ma.<\/p>\n<blockquote>\n<p>Nie rozumiem, po co te same dane pcha\u0107 przez logik\u0119 domenow\u0105 \"odczytuj\u0105ce\"<\/p>\n<\/blockquote>\n<p>Ja tu nie m\u00f3wie o walidacji, albo nie tylko o walidacji, ale po prostu o \"wykonaniu akcji\". Tzn. user zmienia jaki\u015btam tryb dzia\u0142ania aplikacji, wi\u0119c chce sobie znale\u017a\u0107 tego usera, je\u015bli mam go za\u0142adowanego w pami\u0119ci, i zmieni\u0107 mu ten tryb, plus wykona\u0107 wszystkie operacje kt\u00f3re to za sob\u0105 poci\u0105ga. Tak \u017ceby kolejny request do tej instancji zwraca\u0142 poprawne wyniki. Pisa\u0142em gdzie\u015b wy\u017cej, \u017ce chce unikn\u0105\u0107 \"\u0142adowania od zera\" przy ka\u017cdym reque\u015bcie i chce trzyma\u0107 sp\u00f3jny stan w pami\u0119ci. Wyobra\u017a sobie \u017ce na \"stan\" sk\u0142ada sie nie tylko to co w bazie (bo to nie CRUD) ale te\u017c jakie\u015b dane p\u0142yn\u0105ce z innych serwis\u00f3w, wi\u0119c \"\u0142adowanie od zera\" jest ci\u0119\u017ck\u0105 operacj\u0105 i nie chce jej robi\u0107 co request.<\/p>\n<blockquote>\n<p>jak jedna instalacja przejedzie je logik\u0105 to potem mo\u017cna jest wys\u0142a\u0107 w \u015bwiat<\/p>\n<\/blockquote>\n<p>To jest szczeg\u00f3\u0142, ale websocket jest przecie\u017c po\u0142\u0105czony do konkretnej instancji wi\u0119c nie da si\u0119 mu nic wys\u0142a\u0107 w inny spos\u00f3b ni\u017c z tej\u017ce instancji :) Plus jw. ka\u017cda instancja musi sobie te zmiany \"zaaplikowa\u0107\".<\/p>\n<blockquote>\n<p>Tak na m\u00f3j prosty rozum to by si\u0119 przyda\u0142a jaka\u015b kolejka - jedna instancja przerabia dane pakuje w kolejk\u0119 a reszta odczytuje. Do tego DB zapisywacz - kt\u00f3ry tez jest zapi\u0119ty na kolejk\u0119.<\/p>\n<\/blockquote>\n<p>Raczej event stream ni\u017c kolejka ;) No i to jest to co opisa\u0142em jako drug\u0105 mo\u017cliwo\u015b\u0107, ale wymaga to do\u0142o\u017cenia drugiego serwisu kt\u00f3ry zajmuje si\u0119 \"pisaniem\", a tutaj zostawienia tylko \"czytania\" .<\/p>\n","url":"http:\/\/static.175.128.202.116.clients.your-server.de\/Forum\/Inzynieria_oprogramowania\/345115-wiele_instancji_jedna_baza_eventy_i_odpowiedzialnosc_za_utrwalanie_danych?p=1716144#id1716144","is_locked":false,"permissions":{"write":false,"delete":false,"update":false,"accept":false},"moderatorPermissions":{"delete":false,"update":false,"accept":false,"merge":false,"sticky":false,"admAccess":false},"comments":[],"comments_count":0,"assets":[],"metadata":"eyJpdiI6Ik9nZHAzUko5SGp5bFZJa3g3eGVESHc9PSIsInZhbHVlIjoiekkxWFBpS2U5a3B5VUp5Vm5TRmY3blN3TmUydUZ2c1RBZGJJKys0K2JISVo2SnJsSjN4OUVNVEpPV05LbVdkTzA1SnBGOWlQbUpNaG1oelhJdTZZLzRDbnJiZWJYczFKcGNKYXorcVZTeGVjOElSSlY2SEttR0VZOE1WQ1hETnEiLCJtYWMiOiJjNGU0Mjk1Njk5OTc0OTcyNWIzOGRmZjc0YmU0ZTg3MDJhZDRjMzQ5MTM3YTM5MzM3Y2FiNDMxNzFhZTQxYjY5IiwidGFnIjoiIn0=","has_review":false,"review_style":"info","parentPostId":null,"childrenFolded":false,"type":"regular","highlighted":false}