我的問題是:
1、java有自己的資料庫a,php也有自己的資料庫b。
2、java和php的資料庫表結構不一樣
3、現在php要擷取java資料庫a裡面的資料來寫入到自己資料庫b裡面
4、如果java庫和php庫不在同一個伺服器或者在同一個伺服器(又該怎麼解決這個問題呢?)
5、(java有一條新資料就同時寫入到php資料庫,有兩條就寫入兩條)或者(不進行時時寫入,2小時、5小時這樣也可以) 不知道我的問題描述的清楚不清楚,請大俠幫我看看,謝謝了
回複內容:
我的問題是:
1、java有自己的資料庫a,php也有自己的資料庫b。
2、java和php的資料庫表結構不一樣
3、現在php要擷取java資料庫a裡面的資料來寫入到自己資料庫b裡面
4、如果java庫和php庫不在同一個伺服器或者在同一個伺服器(又該怎麼解決這個問題呢?)
5、(java有一條新資料就同時寫入到php資料庫,有兩條就寫入兩條)或者(不進行時時寫入,2小時、5小時這樣也可以) 不知道我的問題描述的清楚不清楚,請大俠幫我看看,謝謝了
JAVA有新資料插入就推送一條資訊到PHP中,PHP接收插入。。。
我最近做的項目也是對接一個JAVA商城.實現方式 採用HTTP 傳送JSON格式的資料..
JAVA方有資料修改或者增加--->調用PHP對外介面(驗證IP,驗證資料合法性等等........)
PHP同樣................
因為以前不想用java程式觸發php,主要不不太清楚具體如何弄,所以我處理類似的問題的時候是採取下面的方法,如果你對資料同步時間要求不是很高的話。
- java插入一條資訊,狀態為未被資料庫b調用
- php定時訪問一個java的rest api,java調出帶有狀態標記的資料(未被調用的資料josn)發送給php
- php插入成功後,將資料id json串再發回給java api
- java將這些id狀態標成已經被調用,再驗證一下兩次發送和接受回來的id號是否一致,如果有出入再把沒有insert成功的資料再發送回php,不然就是success。結束
中間把vaildation都考慮清楚,要是api都在內網會比較安全
php難道不能先連a,拿到資料後斷開a,再串連b,然後更新資料?似乎不存在跨語言問題,即便用的資料庫不同類型比如sql server和mysql,同樣可以使用pdo等擴充嘛。。
資料庫不存在語言的界限,都是通過網路通訊協定通訊的,java或php都可以串連資料庫a和b,同時連也可以。如果真的先java和php互動,可以考慮使用thrift RPC架構進行互動。
通過介面來互動,最好不要直連資料庫,發生錯誤時會導致調試困難。可以使用跨語言的RPC架構來進行互動,Thrift也是一個不錯的選擇