最近遇到了一個奇葩的需求,用springboot做的一個javaweb專案后面老板說要在斷網時也能使用,并且還要將資料傳到云端的資料庫里做,不知道各位大佬有什么辦法可以解決一下,最好使用java實作能夠帶原始碼,解決后私聊我可微信支付寶謝謝!
uj5u.com熱心網友回復:
這個需求做不了
uj5u.com熱心網友回復:
先說你們這個專案是不是要部署,部署的服務器如果出現斷網,那你這個請求根本就到達不了你的服務你又怎么在本地更新呢,你本地啟動專案,自己訪問自己可以存到本地資料庫,那就是將你的資料庫和云端資料庫做主從,算是滿足了你的這個需求,但是脫離你的電腦都不能實作。說白了就是只能給自己用。uj5u.com熱心網友回復:
專案是要部署的,我嘗試過做主從關鍵是主在本地從在云端導致無法實作,就是說所有的操作都在本地的資料庫中但是我云端上也必須要有同樣的資料
uj5u.com熱心網友回復:
我也覺得,可是沒辦法,人家是老板
uj5u.com熱心網友回復:
老板也可以給他說的,你讓比你高的人去和他說,找主管,你問主管說你給我提供方案或者有先例 我就可以搞,uj5u.com熱心網友回復:
這才是最難的,老板不懂技術,又是小公司就那么幾個人,每次提需求的時候想一出是一出,給個別人的的系統效果圖就讓你開始做
uj5u.com熱心網友回復:
你說的這個主在本地,從在云端沒有實作不太對啊,主從是沒有限制必須要在一個服務器上,你可以看一下是不是沒有配置好uj5u.com熱心網友回復:
老板也可以給他說的,你讓比你高的人去和他說,找主管,你問主管說你給我提供方案或者有先例 我就可以搞,
這才是最難的,老板不懂技術,又是小公司就那么幾個人,每次提需求的時候想一出是一出,給個別人的的系統效果圖就讓你開始做
不合理的需求你不懟回去然后搞的時候也搞不出來,到時候他會問你怎么沒有搞出來,你說不可能實作他會問你早干嘛去了。還是考慮一下懟回去吧,你問問同事,都覺得這個需求做不了你就有底氣了
uj5u.com熱心網友回復:
老板也可以給他說的,你讓比你高的人去和他說,找主管,你問主管說你給我提供方案或者有先例 我就可以搞,
這才是最難的,老板不懂技術,又是小公司就那么幾個人,每次提需求的時候想一出是一出,給個別人的的系統效果圖就讓你開始做
不合理的需求你不懟回去然后搞的時候也搞不出來,到時候他會問你怎么沒有搞出來,你說不可能實作他會問你早干嘛去了。還是考慮一下懟回去吧,你問問同事,都覺得這個需求做不了你就有底氣了
當時提出來的時候我就說過這個需要完成不了,硬是要我做什么斷網本地等聯網了在傳到服務器,還讓我去問問別人
uj5u.com熱心網友回復:
問過了,別人也說做不了,
uj5u.com熱心網友回復:
沒有做不了的東西... 你們是前端是什么 App 還是手機端h5?uj5u.com熱心網友回復:
如果你是手機端應用 說白了 就是離線操作而已.uj5u.com熱心網友回復:
如果應用也要部署到外網,那為啥不把庫和應用放同個內網?如果應用不部署到外網,那么為啥還要用云庫?
如果說云庫只是為了備份資料,那你本地(主)跟云庫(從)做個主從,滿足不了么?
uj5u.com熱心網友回復:
問過了,別人也說做不了,
uj5u.com熱心網友回復:
如果你是手機端應用 說白了 就是離線操作而已.
是一個javaweb
uj5u.com熱心網友回復:
前后端分離沒有 /uj5u.com熱心網友回復:
如果應用也要部署到外網,那為啥不把庫和應用放同個內網?
如果應用不部署到外網,那么為啥還要用云庫?
如果說云庫只是為了備份資料,那你本地(主)跟云庫(從)做個主從,滿足不了么?
應用在每個店里都要使用,而且每個店不可能在同一內網,關鍵是總部也要查詢的到每個店的操作資料所以才需要將庫放在云端上,主從試過了本地為主的話不行因為云端上無法連接到本地資料庫這樣的話本地為主就無法實作,如果云端為主的話那就無法實作斷網連接了
uj5u.com熱心網友回復:
前后端分離沒有 /
沒有,前端用的h5
uj5u.com熱心網友回復:
你說的這個主在本地,從在云端沒有實作不太對啊,主從是沒有限制必須要在一個服務器上,你可以看一下是不是沒有配置好
先說你們這個專案是不是要部署,部署的服務器如果出現斷網,那你這個請求根本就到達不了你的服務你又怎么在本地更新呢,你本地啟動專案,自己訪問自己可以存到本地資料庫,那就是將你的資料庫和云端資料庫做主從,算是滿足了你的這個需求,但是脫離你的電腦都不能實作。說白了就是只能給自己用。
專案是要部署的,我嘗試過做主從關鍵是主在本地從在云端導致無法實作,就是說所有的操作都在本地的資料庫中但是我云端上也必須要有同樣的資料
是可以不在同一服務器的,但是有個必要條件就是本地跟云端都能夠相互連接到另一端的資料庫,因為我這邊是要以本地為主的話,云端就必須要能連接我本地資料庫否則是無法實作的,關鍵是本地的資料庫是只有在內網才能連接,不行云端會給你個外網進行連接
uj5u.com熱心網友回復:
如果應用也要部署到外網,那為啥不把庫和應用放同個內網?
如果應用不部署到外網,那么為啥還要用云庫?
如果說云庫只是為了備份資料,那你本地(主)跟云庫(從)做個主從,滿足不了么?
應用在每個店里都要使用,而且每個店不可能在同一內網,關鍵是總部也要查詢的到每個店的操作資料所以才需要將庫放在云端上,主從試過了本地為主的話不行因為云端上無法連接到本地資料庫這樣的話本地為主就無法實作,如果云端為主的話那就無法實作斷網連接了
(1)本地做個內網穿透映射出去,
(2)要不然寫個執行緒(點),用來同步資料到云端用(也可以云端部署個同步資料的服務,各個店把資料發過去同步)
uj5u.com熱心網友回復:
如果應用也要部署到外網,那為啥不把庫和應用放同個內網?
如果應用不部署到外網,那么為啥還要用云庫?
如果說云庫只是為了備份資料,那你本地(主)跟云庫(從)做個主從,滿足不了么?
應用在每個店里都要使用,而且每個店不可能在同一內網,關鍵是總部也要查詢的到每個店的操作資料所以才需要將庫放在云端上,主從試過了本地為主的話不行因為云端上無法連接到本地資料庫這樣的話本地為主就無法實作,如果云端為主的話那就無法實作斷網連接了
(1)本地做個內網穿透映射出去,
(2)要不然寫個執行緒(點),用來同步資料到云端用(也可以云端部署個同步資料的服務,各個店把資料發過去同步)
用內網穿透的話會不會有有安全問題呢,之前也有人建議我使用內網穿透說是會將資訊全都呈現出去,
寫執行緒點是一個什么樣的概念,或者說是怎么樣的一個流程能說明一下嗎
uj5u.com熱心網友回復:
JavaWeb 專案,那就是BS架構!客戶端是用PC機的瀏覽器訪問的嗎,如果是的話,可以說是無解的,瀏覽器沒有權限直接訪問本地資源,想把資料存在本地,基本上只能用 cookie 了。但要把 cookie 打造成具備資料庫那樣的功能,還要進行本地和服務器上的資料同步,以便斷網時能繼續使用…… 想想都非常恐怖。不是做不到,而是開發成本太高,即使開發出來可能出現的問題也非常多,并且這個需求卻又不是很有必要!
另外,話說回來,老板天馬行空的想法,對企業來說是應該要有一點的,否則沒有創新精神,企業總是走別人原來的路子,成不了大事!
老板提出想法,樓主直接否掉也不太好!特別是如果當著很多人的面直接說 no 時,老板會折了面子,在員工面前威信有損;另一方面,老板可能也看樓主年輕,認為樓主經驗不夠,讓你再好好找找資料問問別人,這也屬于一種老成的做法,如果樓主是個有上十年作業經驗,做過很多成功專案的人,估計他直接就聽進去了。
所以,建議樓主把需求的可行性分析做好,準備好你的分析依據,丁是丁卯是卯的分析清楚,相信你老板會采納的。
uj5u.com熱心網友回復:
這需求怕是做不了的,我估計老板都沒想明白.這種就相當于單機游戲云存檔,客戶端必須擁有完整的資料,但web并不太適合這么玩吧.
uj5u.com熱心網友回復:
學習學到 學習學到 學習學到uj5u.com熱心網友回復:
用內網穿透的話會不會有有安全問題呢,之前也有人建議我使用內網穿透說是會將資訊全都呈現出去,
寫執行緒點是一個什么樣的概念,或者說是怎么樣的一個流程能說明一下嗎
安全問題取決于你使用的第三方內網穿透平臺了
寫個執行緒大概意思就是,開啟一個獨立的執行緒定時掃描你保存修改到本地的資料,然后更新云資料庫,簡單說就是先寫本地庫,然后定時執行緒掃描并寫到云庫
我括號里面說的方式也差不多這意思,一個是直接直連云資料庫過去改,另一個是先請求云服務再由改服務區寫入云資料庫
uj5u.com熱心網友回復:
JavaWeb 專案,那就是BS架構!
客戶端是用PC機的瀏覽器訪問的嗎,如果是的話,可以說是無解的,瀏覽器沒有權限直接訪問本地資源,想把資料存在本地,基本上只能用 cookie 了。但要把 cookie 打造成具備資料庫那樣的功能,還要進行本地和服務器上的資料同步,以便斷網時能繼續使用…… 想想都非常恐怖。不是做不到,而是開發成本太高,即使開發出來可能出現的問題也非常多,并且這個需求卻又不是很有必要!
另外,話說回來,老板天馬行空的想法,對企業來說是應該要有一點的,否則沒有創新精神,企業總是走別人原來的路子,成不了大事!
老板提出想法,樓主直接否掉也不太好!特別是如果當著很多人的面直接說 no 時,老板會折了面子,在員工面前威信有損;另一方面,老板可能也看樓主年輕,認為樓主經驗不夠,讓你再好好找找資料問問別人,這也屬于一種老成的做法,如果樓主是個有上十年作業經驗,做過很多成功專案的人,估計他直接就聽進去了。
所以,建議樓主把需求的可行性分析做好,準備好你的分析依據,丁是丁卯是卯的分析清楚,相信你老板會采納的。
uj5u.com熱心網友回復:
路過。。。。。uj5u.com熱心網友回復:
用內網穿透的話會不會有有安全問題呢,之前也有人建議我使用內網穿透說是會將資訊全都呈現出去,
寫執行緒點是一個什么樣的概念,或者說是怎么樣的一個流程能說明一下嗎
安全問題取決于你使用的第三方內網穿透平臺了
寫個執行緒大概意思就是,開啟一個獨立的執行緒定時掃描你保存修改到本地的資料,然后更新云資料庫,簡單說就是先寫本地庫,然后定時執行緒掃描并寫到云庫
我括號里面說的方式也差不多這意思,一個是直接直連云資料庫過去改,另一個是先請求云服務再由改服務區寫入云資料庫
這位兄臺
樓主說他的是 JavaWeb 專案,如果客戶端是在瀏覽器上跑的話,瀏覽器提供那么多功能給你開發了嗎!
寫執行緒,保存到本地資料,什么的都是不被瀏覽器允許的吧!
還有更新云資料,還要考慮跨域問題!哦不對,樓主的老板要求的是斷網情況下的事,如果可以訪問云資料庫,那不就要求沒斷網嗎!既然沒斷網,還考慮這些干嘛,原來咋樣還咋樣不就完事了!
uj5u.com熱心網友回復:
資料需要一致,設計好同步機制就好了,總部查詢下面的店鋪,每個店鋪只需要管理好自己的資料就行,可以分為兩步,一是每筆交易按店鋪按規則生成唯一id,考慮離線,建議使用雪花演算法,按一定規則劃分,方便后期做統計。二是實作資料同步邏輯,需要考慮兩個問題,一是網路例外處理,重試,可以參考rocketmq的重試機制,二是資料一致性保證,可以設計簡單的對賬邏輯,批次對賬。僅供參考,不確定是都對業務理解有偏差uj5u.com熱心網友回復:
我在想能不能不管是聯網或斷網的情況下都連接本地的資料庫,等網通了在上傳,這樣就先解決的斷網跑程式,這樣的話就剩下了聯網是怎么將資料同步到云端上,各位有什么解決的方案嗎uj5u.com熱心網友回復:
資料需要一致,設計好同步機制就好了,總部查詢下面的店鋪,每個店鋪只需要管理好自己的資料就行,可以分為兩步,一是每筆交易按店鋪按規則生成唯一id,考慮離線,建議使用雪花演算法,按一定規則劃分,方便后期做統計。二是實作資料同步邏輯,需要考慮兩個問題,一是網路例外處理,重試,可以參考rocketmq的重試機制,二是資料一致性保證,可以設計簡單的對賬邏輯,批次對賬。僅供參考,不確定是都對業務理解有偏差
現在的問題就是斷網后本地的資料跟云端的無法達成相同
uj5u.com熱心網友回復:
資料需要一致,設計好同步機制就好了,總部查詢下面的店鋪,每個店鋪只需要管理好自己的資料就行,可以分為兩步,一是每筆交易按店鋪按規則生成唯一id,考慮離線,建議使用雪花演算法,按一定規則劃分,方便后期做統計。二是實作資料同步邏輯,需要考慮兩個問題,一是網路例外處理,重試,可以參考rocketmq的重試機制,二是資料一致性保證,可以設計簡單的對賬邏輯,批次對賬。僅供參考,不確定是都對業務理解有偏差
現在的問題就是斷網后本地的資料跟云端的無法達成相同
uj5u.com熱心網友回復:
推薦大家一個靠譜的論文檢測平臺。重復的部分有詳細出處以及具體修改意見,能直接在文章上做修改,全部改完一鍵下載就搞定了。他們現在正在做畢業季活動, 贈送很多免費字數,可以說是十分劃算了!地址是:https://www.paperpass.com/uj5u.com熱心網友回復:
其實這個是資料庫同步功能。。所有操作都在本地進行,然后資料庫資料在有網的情況下,同步到云。。

這個需求,你需要問的是資料庫解決方案。
uj5u.com熱心網友回復:
同時開發本地端跟服務端,各自連接自己的庫本地記錄要同步的資料,等有網時打包推送到服務端服務端接收后保存到云資料庫
uj5u.com熱心網友回復:
你問問老板,他家不聯網能打開網頁嗎。uj5u.com熱心網友回復:
學到了,謝謝大佬uj5u.com熱心網友回復:
就是資料庫的同步功能uj5u.com熱心網友回復:
用內網穿透的話會不會有有安全問題呢,之前也有人建議我使用內網穿透說是會將資訊全都呈現出去,
寫執行緒點是一個什么樣的概念,或者說是怎么樣的一個流程能說明一下嗎
安全問題取決于你使用的第三方內網穿透平臺了
寫個執行緒大概意思就是,開啟一個獨立的執行緒定時掃描你保存修改到本地的資料,然后更新云資料庫,簡單說就是先寫本地庫,然后定時執行緒掃描并寫到云庫
我括號里面說的方式也差不多這意思,一個是直接直連云資料庫過去改,另一個是先請求云服務再由改服務區寫入云資料庫
這位兄臺
樓主說他的是 JavaWeb 專案,如果客戶端是在瀏覽器上跑的話,瀏覽器提供那么多功能給你開發了嗎!
寫執行緒,保存到本地資料,什么的都是不被瀏覽器允許的吧!
還有更新云資料,還要考慮跨域問題!哦不對,樓主的老板要求的是斷網情況下的事,如果可以訪問云資料庫,那不就要求沒斷網嗎!既然沒斷網,還考慮這些干嘛,原來咋樣還咋樣不就完事了!
這位兄臺,難道我就不能在客戶端服務端部署一個服務么??
而且人家場景大概說明了是店鋪
????
有問題???
uj5u.com熱心網友回復:
重構吧,C/S架構滿足
uj5u.com熱心網友回復:
請先厘清需求根據我的經驗, 老板想做的應該是, 斷腕以后依然能使用系統
這種需求不是沒有, 常見的超市的收銀系統都會有這種離線銷售的概念, 這個是有歷史背景的: 0幾年的時候那時候網路設施還沒現在那么好, 斷網概率比較高
另外, 提一下, 離線并沒有那么好做, 開發成本非常高
uj5u.com熱心網友回復:
這位兄臺,難道我就不能在客戶端服務端部署一個服務么??
而且人家場景大概說明了是店鋪
????
有問題???
OK!
It's a good idea!
但是如此一來,作業量會蠻大的,復雜度也高了很多,客戶端的部署、版本發布、版本更新也很麻煩!
剛開始聽樓主說的,以為這是老板腦袋一拍提出來的需求。不過,既然是門店的專案,這個功能還真不能少!
按兄臺的思路,本人感覺客戶端的Web服務應盡量簡單,以減少客戶端服務的版本更新次數。客戶端瀏覽器全部直接訪問本地服務,然后由本地服務進行轉發,即所謂的透明傳輸。如果轉發并且重試失敗,認為斷網,轉為進行本地邏輯處理。必須確定有些服務斷網后不能處理,比如門店無貨,需要從其他門店調貨,斷網后不可能知道其它哪些門店的庫存情況。
uj5u.com熱心網友回復:
哎。。客戶端做一個web服務,不管有網沒網,先寫到本地資料庫里。然后再做一個計劃任務,負責更新和同步就行了
uj5u.com熱心網友回復:
參考現在的手游模式吧,還有要考慮的資料校驗真實完整性uj5u.com熱心網友回復:
感謝分享!!uj5u.com熱心網友回復:
哎。。
客戶端做一個web服務,不管有網沒網,先寫到本地資料庫里。然后再做一個計劃任務,負責更新和同步就行了
就是這么個理念,現在就是不知道該怎么實作這個本地資料庫更新到云端
uj5u.com熱心網友回復:
其實這個是資料庫同步功能。。
所有操作都在本地進行,然后資料庫資料在有網的情況下,同步到云。。
這個需求,你需要問的是資料庫解決方案。
是的不知道大哥有什么解決的方案沒有
uj5u.com熱心網友回復:
請先厘清需求
根據我的經驗, 老板想做的應該是, 斷腕以后依然能使用系統
這種需求不是沒有, 常見的超市的收銀系統都會有這種離線銷售的概念, 這個是有歷史背景的: 0幾年的時候那時候網路設施還沒現在那么好, 斷網概率比較高
另外, 提一下, 離線并沒有那么好做, 開發成本非常高
是的,關鍵是一般能實作本地大部分都是不需要傳輸資料到云端的
uj5u.com熱心網友回復:
同時開發本地端跟服務端,各自連接自己的庫
本地記錄要同步的資料,等有網時打包推送到服務端服務端接收后保存到云資料庫
uj5u.com熱心網友回復:
如果門店的操作全都是自己的本地資料,這種沒有問題,如果用到了云資料庫的資訊,那就麻煩了。比如簡單的抽獎,如果是限制所有門店抽獎人數100人,這時候如果一個門店斷網了,他如何拿到剩余獲獎人數呢?如果沒有這樣的場景,寫執行緒同步任務也夠麻煩的,斷網的那一刻就得記錄系統作了哪些操作了,推薦你記錄斷網時間和恢復網的時間點,記錄這段時間的 bindlog,然后發送到云資料庫執行。但是呢,如果同時有1個以上的門店斷網,你就不能保證這多段 bindlog 執行后會不會產生臟資料咯。總之,奇怪的需求。
同時開發本地端跟服務端,各自連接自己的庫
本地記錄要同步的資料,等有網時打包推送到服務端服務端接收后保存到云資料庫
怎么說的話還是沒辦法解決這個問題,哪怕是萬分之一的可能性真的出現了一個以上的門店斷網那樣的話光是資料就夠頭疼的了
uj5u.com熱心網友回復:
你問問老板,他家不聯網能打開網頁嗎。
這個例子個老板舉過了沒用,人家就是要這效果
uj5u.com熱心網友回復:
本地肯定要獨立部署或內嵌資料庫,斷網才能使用,聯網再同步資料
資料需要一致,設計好同步機制就好了,總部查詢下面的店鋪,每個店鋪只需要管理好自己的資料就行,可以分為兩步,一是每筆交易按店鋪按規則生成唯一id,考慮離線,建議使用雪花演算法,按一定規則劃分,方便后期做統計。二是實作資料同步邏輯,需要考慮兩個問題,一是網路例外處理,重試,可以參考rocketmq的重試機制,二是資料一致性保證,可以設計簡單的對賬邏輯,批次對賬。僅供參考,不確定是都對業務理解有偏差
現在的問題就是斷網后本地的資料跟云端的無法達成相同
關鍵就是聯網后該怎么做才能保持資料的同步,而且門店不止有一個,四五個門店在上傳一個的時候還不能出現臟資料
uj5u.com熱心網友回復:
本地肯定要獨立部署或內嵌資料庫,斷網才能使用,聯網再同步資料
資料需要一致,設計好同步機制就好了,總部查詢下面的店鋪,每個店鋪只需要管理好自己的資料就行,可以分為兩步,一是每筆交易按店鋪按規則生成唯一id,考慮離線,建議使用雪花演算法,按一定規則劃分,方便后期做統計。二是實作資料同步邏輯,需要考慮兩個問題,一是網路例外處理,重試,可以參考rocketmq的重試機制,二是資料一致性保證,可以設計簡單的對賬邏輯,批次對賬。僅供參考,不確定是都對業務理解有偏差
現在的問題就是斷網后本地的資料跟云端的無法達成相同
關鍵就是聯網后該怎么做才能保持資料的同步,而且門店不止有一個,四五個門店在上傳一個的時候還不能出現臟資料
uj5u.com熱心網友回復:
怎么做不了?很簡單的一個事,你虛擬一個資料庫連接層,每過一秒向運端庫發送一個心跳,判斷是否連通,直正連接時根據剛才那個判斷就行了。如果還解決不了加q394767204uj5u.com熱心網友回復:
本地肯定要獨立部署或內嵌資料庫,斷網才能使用,聯網再同步資料
資料需要一致,設計好同步機制就好了,總部查詢下面的店鋪,每個店鋪只需要管理好自己的資料就行,可以分為兩步,一是每筆交易按店鋪按規則生成唯一id,考慮離線,建議使用雪花演算法,按一定規則劃分,方便后期做統計。二是實作資料同步邏輯,需要考慮兩個問題,一是網路例外處理,重試,可以參考rocketmq的重試機制,二是資料一致性保證,可以設計簡單的對賬邏輯,批次對賬。僅供參考,不確定是都對業務理解有偏差
現在的問題就是斷網后本地的資料跟云端的無法達成相同
關鍵就是聯網后該怎么做才能保持資料的同步,而且門店不止有一個,四五個門店在上傳一個的時候還不能出現臟資料
哎。。
客戶端做一個web服務,不管有網沒網,先寫到本地資料庫里。然后再做一個計劃任務,負責更新和同步就行了
就是這么個理念,現在就是不知道該怎么實作這個本地資料庫更新到云端
我原來做設備的,當設備在沒有網路的情況下本地記錄采集到的資訊等有網后再批量提交到服務器,服務器進行決議與保存
uj5u.com熱心網友回復:
本地肯定要獨立部署或內嵌資料庫,斷網才能使用,聯網再同步資料
資料需要一致,設計好同步機制就好了,總部查詢下面的店鋪,每個店鋪只需要管理好自己的資料就行,可以分為兩步,一是每筆交易按店鋪按規則生成唯一id,考慮離線,建議使用雪花演算法,按一定規則劃分,方便后期做統計。二是實作資料同步邏輯,需要考慮兩個問題,一是網路例外處理,重試,可以參考rocketmq的重試機制,二是資料一致性保證,可以設計簡單的對賬邏輯,批次對賬。僅供參考,不確定是都對業務理解有偏差
現在的問題就是斷網后本地的資料跟云端的無法達成相同
關鍵就是聯網后該怎么做才能保持資料的同步,而且門店不止有一個,四五個門店在上傳一個的時候還不能出現臟資料
哎。。
客戶端做一個web服務,不管有網沒網,先寫到本地資料庫里。然后再做一個計劃任務,負責更新和同步就行了
就是這么個理念,現在就是不知道該怎么實作這個本地資料庫更新到云端
我原來做設備的,當設備在沒有網路的情況下本地記錄采集到的資訊等有網后再批量提交到服務器,服務器進行決議與保存
不知道當時是用的是嗎技術做的?
uj5u.com熱心網友回復:
怎么做不了?很簡單的一個事,你虛擬一個資料庫連接層,每過一秒向運端庫發送一個心跳,判斷是否連通,直正連接時根據剛才那個判斷就行了。如果還解決不了加q394767204
在斷網的程序中所操作的資料保存在那,該怎么上傳到云端
uj5u.com熱心網友回復:
本地肯定要獨立部署或內嵌資料庫,斷網才能使用,聯網再同步資料
資料需要一致,設計好同步機制就好了,總部查詢下面的店鋪,每個店鋪只需要管理好自己的資料就行,可以分為兩步,一是每筆交易按店鋪按規則生成唯一id,考慮離線,建議使用雪花演算法,按一定規則劃分,方便后期做統計。二是實作資料同步邏輯,需要考慮兩個問題,一是網路例外處理,重試,可以參考rocketmq的重試機制,二是資料一致性保證,可以設計簡單的對賬邏輯,批次對賬。僅供參考,不確定是都對業務理解有偏差
現在的問題就是斷網后本地的資料跟云端的無法達成相同
關鍵就是聯網后該怎么做才能保持資料的同步,而且門店不止有一個,四五個門店在上傳一個的時候還不能出現臟資料
哎。。
客戶端做一個web服務,不管有網沒網,先寫到本地資料庫里。然后再做一個計劃任務,負責更新和同步就行了
就是這么個理念,現在就是不知道該怎么實作這個本地資料庫更新到云端
我原來做設備的,當設備在沒有網路的情況下本地記錄采集到的資訊等有網后再批量提交到服務器,服務器進行決議與保存
不知道當時是用的是嗎技術做的?
你要記錄你發送失敗的資料很簡單吧,如果發送服務器失敗就把發送失敗的資料記錄到本地資料庫,后臺開個job檢查網路狀態,當與云端是聯通的狀態就把存盤在本地的發送失敗過的資料批量發送過去
如果碰到是抽獎這種按照實際情況來做比如強制要求門店聯網
uj5u.com熱心網友回復:
請先厘清需求
根據我的經驗, 老板想做的應該是, 斷腕以后依然能使用系統
這種需求不是沒有, 常見的超市的收銀系統都會有這種離線銷售的概念, 這個是有歷史背景的: 0幾年的時候那時候網路設施還沒現在那么好, 斷網概率比較高
另外, 提一下, 離線并沒有那么好做, 開發成本非常高
是的,關鍵是一般能實作本地大部分都是不需要傳輸資料到云端的
不一定, 要做權衡, 比如上面的離線銷售就不得不做(銷售完資料是要上傳到服務器的), 因為當時的情況就是斷網概率高, 你不支持離線銷售, 難道讓結賬的客戶等你么
uj5u.com熱心網友回復:
功能上要實作是沒問題的,只是需要考慮實作的成本:方案1: 業務雙寫,復雜度在于怎么保障到云資料庫的資料不丟失? 同步還是異步? 同步需要實作tx事務,業務是否可以接受?異步方式資料肯定是有gap的
方案2: 單寫本地,定期離線同步,條件觸發切換并追到最新的本地資料,成本在于什么時機觸發同步?離線全量還是增量同步,切換到云資料庫時追加部分資料如何獲得(HA存盤設備/S3...),以及記錄offset斷點
uj5u.com熱心網友回復:
你跟老板說,都特么斷網了,應用都掛了,資料庫在哪還重要么轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/47817.html
標籤:Java EE
上一篇:idea問題,maven idea成功下載了包,可以編譯,執行,就是在方法上按Ctrl鏈接不進相關的源代碼,好像沒有源代碼,救命啊
