Keeping web clients synced to the same instance

Im working on a game where web clients will all be using the same EOSIO table data. I want to keep them synced up when one person makes a change to the table without everyone needing to poll the table. I figured the best way would be to have a server they connect to, the server will just be a middle man. If one person makes a change it will stop everyone else from trying and then push all the new data to the clients. Im new to web development and am unsure of the best way to go about it.
Should I just use SSE or websockets? Though it seems websockets are now kind of obsolete.
Im also unsure about how to go about the server part. Would I use node.js for that?
Or is there something really simple I’m missing?

Thank you. I appreciate any feedback.