{"id":1716111,"user_name":null,"score":0,"text":"> Czy do wszystkich frontend\u00f3w czy do aplikacji - kto jest odbiorc\u0105 tego zdarzenia? \n\nNie no jak do frontend\u00f3w niby? Wiesz ty jak dzia\u0142aj\u0105 websockety? :D M\u00f3wie o emitowaniu event\u00f3w do innych instancji serwisu, bo tylko one maj\u0105 websocketowe po\u0142\u0105czenia z klientami.\nProblem z tym `oczywistym` rozwi\u0105zaniem jest taki, ze masz w aplikacji bardzo podobn\u0105 logik\u0119 w dw\u00f3ch miejscach (w obs\u0142udze requestu i w obs\u0142udze eventu) i to mi si\u0119 nie podoba. Korzy\u015b\u0107 z drugiego serwisu jest w\u0142a\u015bnie taka, \u017ce ta druga logika wylatuje w inne miejsce i ten dualizm znika. Nie ma to nic wsp\u00f3lnego z kwesti\u0105 wydajno\u015bci akurat, bo przecie\u017c bottleneck to i tak b\u0119dzie baza.\n\n> Je\u015bli do front-end\u00f3w to czy one na 100% nie dostan\u0105 go zanim zmiany zapisz\u0105 si\u0119 w bazie ?\n\nJakie to w og\u00f3le ma znaczenie? Przecie\u017c frontend nie czyta nic z bazy o_O Niemniej event leci do backendowego serwisu, wi\u0119c jak frontend dostanie informacje o zmianach to dana instancja ju\u017c b\u0119dzie mia\u0142a te zmiany \"zaaplikowane\" tak czy siak. Zreszt\u0105 te websocketowe informacje do frontu s\u0105 jako\u015b magicznie u\u017cywane przez graphql, tak ze on nie robi dodatkowego requestu do backendu, tylko modyfikuje sobie stan klienta na ich podstawie :)","edit_count":2,"is_voted":null,"is_accepted":null,"is_subscribed":null,"user_id":4278,"deleter_name":null,"delete_reason":null,"orderingScore":0,"created_at":"2020-10-20T01:14:22+02:00","updated_at":"2020-10-20T01:20:11+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 do wszystkich frontend\u00f3w czy do aplikacji - kto jest odbiorc\u0105 tego zdarzenia?<\/p>\n<\/blockquote>\n<p>Nie no jak do frontend\u00f3w niby? Wiesz ty jak dzia\u0142aj\u0105 websockety? :D M\u00f3wie o emitowaniu event\u00f3w do innych instancji serwisu, bo tylko one maj\u0105 websocketowe po\u0142\u0105czenia z klientami.<br \/>\nProblem z tym <code>oczywistym<\/code> rozwi\u0105zaniem jest taki, ze masz w aplikacji bardzo podobn\u0105 logik\u0119 w dw\u00f3ch miejscach (w obs\u0142udze requestu i w obs\u0142udze eventu) i to mi si\u0119 nie podoba. Korzy\u015b\u0107 z drugiego serwisu jest w\u0142a\u015bnie taka, \u017ce ta druga logika wylatuje w inne miejsce i ten dualizm znika. Nie ma to nic wsp\u00f3lnego z kwesti\u0105 wydajno\u015bci akurat, bo przecie\u017c bottleneck to i tak b\u0119dzie baza.<\/p>\n<blockquote>\n<p>Je\u015bli do front-end\u00f3w to czy one na 100% nie dostan\u0105 go zanim zmiany zapisz\u0105 si\u0119 w bazie ?<\/p>\n<\/blockquote>\n<p>Jakie to w og\u00f3le ma znaczenie? Przecie\u017c frontend nie czyta nic z bazy o_O Niemniej event leci do backendowego serwisu, wi\u0119c jak frontend dostanie informacje o zmianach to dana instancja ju\u017c b\u0119dzie mia\u0142a te zmiany \"zaaplikowane\" tak czy siak. Zreszt\u0105 te websocketowe informacje do frontu s\u0105 jako\u015b magicznie u\u017cywane przez graphql, tak ze on nie robi dodatkowego requestu do backendu, tylko modyfikuje sobie stan klienta na ich podstawie :)<\/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=1716111#id1716111","is_locked":false,"editor":{"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"},"permissions":{"write":false,"delete":false,"update":false,"accept":false},"moderatorPermissions":{"delete":false,"update":false,"accept":false,"merge":false,"sticky":false,"admAccess":false},"comments":{"642169":{"id":642169,"text":"niestety nie wiem co dok\u0142adnie robi graphql st\u0105d moje by\u0107 mo\u017ce naiwne pytania bo podchodz\u0119 do niego jedyni jako do \"protoko\u0142u\" komunikacji.","html":"niestety nie wiem co dok\u0142adnie robi graphql st\u0105d moje by\u0107 mo\u017ce naiwne pytania bo podchodz\u0119 do niego jedyni jako do \"protoko\u0142u\" komunikacji.\n","post_id":1716111,"created_at":"2020-10-20T01:31:56+02:00","updated_at":"2020-10-20T01:31:56+02:00","user":{"id":66770,"name":"katakrowa","is_online":false,"initials":"KA","is_verified":null,"is_deleted":true,"is_incognito":false,"is_blocked":false,"is_blocked_perm":false,"deleted_at":"2023-02-20T08:33:38.000000Z","photo":"\/uploads\/photo\/5d\/5dfa7b3bef85a.jpg"},"url":"\/Forum\/Inzynieria_oprogramowania\/345115-wiele_instancji_jedna_baza_eventy_i_odpowiedzialnosc_za_utrwalanie_danych?p=1716111#comment-642169","metadata":"eyJpdiI6InFpdmtnRTJDWm5QNzRBRmZzNGJUcHc9PSIsInZhbHVlIjoiY1JWZDNCTDRWdmhuRG45WHJTYUtwZzNQWnA0RTQyVzczZUI4NE8vZW5OVUtXcVpqUWNSUWlibmNOa1ZqR3Zzd0FzeXhFcGtrZURTRHo2dEliM2grdkxYS2dFY3dFdzUzVGQ4QncvWEIwV1ErREFoTW53MUpEQU9xc3lqTUQ2THZtdWp5b0hIOW9ZZXJxTldWSmIzY3ZOeGFRZUlQMDdkQUtxNHhqNjVvTjhzPSIsIm1hYyI6IjUwYmI2Mjc0ZTkxZWY0ZTM1NDUyY2EwNzFhMThjMWFlMmE5ZGIyMjdjNzNhYjJmNzUyYWJmZTI5ZmExMjRkNWUiLCJ0YWciOiIifQ==","votes":0,"ownVote":false,"voters":[]}},"comments_count":1,"assets":[],"metadata":"eyJpdiI6ImtZd1YwV2ZJWVp0bnZCSWdEWmZlWUE9PSIsInZhbHVlIjoiZEFsRldBaVpDRzNFRGF4MnpPc1VRTHduaW5Vb2Q3dzFpOS8xR3ArZE9ZeVZsNm9teTlDNlFsSjZhQmp2YmlpZ3JuWGtpRk50NVBCV0FURnNiUE5YOHJXRlpVN2V2K2tpMW9rb0NBVzgxUWkvcVQyWFJmUktoN1VLWnAvQXJ0ZWgiLCJtYWMiOiJkYmMwYzI3YjJjMTJiZWQ4MzMxMjMxMWU1MmYzMjVmZmQzMjlkY2RiMWEwNTc1MmVmYjlkMmY2NjMwMDczNDZiIiwidGFnIjoiIn0=","has_review":false,"review_style":"info","parentPostId":null,"childrenFolded":false,"type":"regular","highlighted":false}