簡體   English   中英

Angular App/PHP - 同步本地和遠程數據庫的最佳方式

[英]Angular App/PHP - Best way to synchronize local and remote databases

我有一個 angular 應用程序,它在 IOS 和 Android 上可用,還有一個網站版本。 網站版本實時更新主數據庫。 應用程序當前調用我的 api 從主數據庫讀取,因此始終需要互聯網。

現在我還想為應用程序添加離線可用性。

所以我需要本地設備上的所有用戶數據,不管用戶有多少設備上的應用程序。 我的問題主要是關於如何以最佳方式同步 go。 用戶將能夠在離線時添加、編輯和刪除那里的數據,同時他們也可以在實時網站版本上做同樣的事情。

我想放一個時間戳,然后我可以接收帶有時間戳的數據,我可以將時間戳與每個數據條目進行比較,然后將信息更新或添加到我的本地數據庫中。

最好的方法是什么? 我應該在遠程和本地服務器中的每個條目上加上時間戳嗎? 或者有沒有人有這個問題的任何其他解決方案。 因為如果它定期發生,與時間戳同步可能會很好,但我的本質上需要實時同步,所以當用戶確實有連接時,本地和主服務器都會立即更新,並考慮我的一些用戶的同步速度超過 8000 行非常重要

對於上下文,應用程序/網站是一個記錄保存系統,因此用戶可以添加許多可以編輯刪除等的行。

主數據庫是 mysql 和我計划使用 SQLite 的應用程序

提前致謝

不總是與服務器聯系的分布式系統應該有一個 guid,它用唯一的 id 標識整個數據庫、分布式和主服務器中的每一行。

當客戶端再次連接時,您可以使用 REST Api 發送所有新數據。

此外,您還需要時間戳列,當然還有上次發送數據的時間,這樣您就可以只將新的和更改的數據發送到主服務器。

如果可以在服務器和本地使用 Mysql。 您可以使用 mysql 復制來保持所有數據同步,但開發自己的系統將保證只發送最低限度的數據。

一個小型的測試系統很快就建立起來了,但是你還需要對安全問題進行監控,以便每個人都可以更改或插入數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM