xspanger3770 / GlobalQuake

Experimental application for monitoring earthquakes world-wide in near real time. Capable of issuing its own earthquake early warnings (EEW).
MIT License
293 stars 44 forks source link

Server-Client infrastructure #158

Closed xspanger3770 closed 8 months ago

xspanger3770 commented 9 months ago

In order to make GlobalQuake scalable and capable of handling much more running instances at the same time, the creation of dedicated computing servers is one of the considerations. Those servers would have much higher computing power than average user's laptop and thus provide much more precise earthquake locations.

There are way more benefits of implementing this, like freeing up the demand on seedlink providers, because only the servers would need to be connected to them and in result significantly reducing data transfers, compared to the current situation where each GQ instance needs to connect to all the seedlinks individually and process the data locally.

BunnyTub commented 9 months ago

This sounds like another applet should be made specifically for this.

xspanger3770 commented 9 months ago

Yup, I will be working on the server-side app in different repository and over time this repository will turn into client-side application, containing just the UI and the API for server connection. That's the current plan, but it's gonna take a while.

BunnyTub commented 9 months ago

How will the program fallback? Will it start getting data from the monitors themselves? What I mean is that, what happens when the server is offline? Does the fallback mean having a local server?

Just some questions about this.

BunnyTub commented 9 months ago

Can you still have local seedlinks? Custom servers?

xspanger3770 commented 9 months ago

I believe there will be the possibility to run the server locally with custom seedlinks, but the main servers are going to use only the ones considered public. Fallback mechanisms remains to be designed later.

BunnyTub commented 9 months ago

Okay, thanks for clarifying.

xspanger3770 commented 8 months ago

While there are some last features remaining to be finished in the client-server design, I consider this feature as mostly finished.