簡體   English   中英

如何在兩個系統之間同步數據?

[英]How to synchronize data between two systems?

我有兩個應用程序:

  1. 一個ASP.NET MVC電子商務網站
  2. VB6應用程序管理產品,倉庫,客戶,供應商,訂單和發票。 它由實體商店使用。

目前,這兩個是非常緊密的耦合。

使用數據庫的操作:

  • 網站上有一個定期運行的任務,並檢查VB6應用程序的數據庫中是否有任何產品更改(主要是價格和庫存)。 如果存在任何差異,則將使用VB6應用程序中的信息更新網站的數據庫;
  • 同步訂單狀態和可用的禮品卡代金券也有類似的任務。

使用.NET中的VB6對象的操作:

  • 在網站上下訂單時,該訂單也會保存在VB6應用中。
  • 當產品由網站管理員(名稱,描述,父類別等)更新時,該產品也會在VB6應用中更新。
  • 當客戶更新其個人信息時,該信息也將保存在VB6應用程序中。
  • 當客戶在網站上注冊時,網站會詢問VB6應用程序該客戶是否有會員卡並獲得獎勵積分。

我開始將Web API用於最近開發的獎勵積分功能。 在VB6應用中為訂單開票后,客戶獲得/失去的獎勵積分將通過Web API發送到網站。

還有其他一些操作需要同步,目前還不需要:

  • 訂單更改(添加/刪除產品,折扣,運輸成本,產品數量更改等)
  • 設置更改(增值稅值,獎勵積分值,折扣值等)

問題是:用一種松散耦合的方式,在這些應用程序之間同步數據的更好的方法是什么? REST Services與Service Bus的優缺點是什么?

聽起來您正在使用WebAPI走上一條美好的道路。 從這兩個應用程序中提取您的持久層和域層,然后將它們向下推送到集中式WebAPI調用中,這意味着您可以獨立更改兩個應用程序,並且從數據角度來看,它們將始終保持同步。

在您的REST API之上添加服務總線將使您更加脫鈎,並使許多其他生產者/消費者模式可以自我干預。 它確實與您要解決的問題完全不同,僅為數據持久性添加WebAPI層將使您的生活變得更好。

暫無
暫無

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

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