在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 接口開發(fā), 當(dāng)別人把數(shù)據(jù)推送給我們以后, 我們反饋數(shù)據(jù)給對(duì)方的時(shí)候, 采用什么方

接口開發(fā), 當(dāng)別人把數(shù)據(jù)推送給我們以后, 我們反饋數(shù)據(jù)給對(duì)方的時(shí)候, 采用什么方式最合適?

我們公司是做物流的, 對(duì)方系統(tǒng)推送數(shù)據(jù)給到我們這邊, 就是發(fā)布一個(gè)訂單, 希望司機(jī)來接單運(yùn)送貨物.
而我們這邊反饋數(shù)據(jù)給到對(duì)方系統(tǒng), 就是告訴他們司機(jī)有沒有接單, 什么時(shí)候接單, 什么時(shí)候到達(dá)現(xiàn)場(chǎng)裝貨, 有沒有產(chǎn)生費(fèi)用, 費(fèi)用金額是多少等等.

數(shù)據(jù)反饋到對(duì)方系統(tǒng)的方式不外就是2種方式:
**1 我們系統(tǒng)主動(dòng)調(diào)用對(duì)方系統(tǒng)的接口把數(shù)據(jù)推送過去。
2 對(duì)方系統(tǒng)采用定時(shí)器的方式, 調(diào)用我們提供的接口來循環(huán)查詢數(shù)據(jù).**

我自己寫代碼, 考慮到跟多個(gè)公司對(duì)接, 為了減少代碼開發(fā), 所以考慮采用第2種方式, 這樣我自己編寫一次代碼, 以后就不用再考慮代碼開發(fā)的問題了.

可是公司的老板不同意, 他認(rèn)為這樣做會(huì)增加服務(wù)器無畏的開銷, 比如說訂單在6個(gè)小時(shí)內(nèi)還沒有司機(jī)接單, 采用第2種方式的話, 對(duì)方系統(tǒng)每10分鐘查詢一次, 這樣就做了N多次無畏的工作.

于是我就拿出支付寶接口來做例子, 提交交易數(shù)據(jù)的時(shí)候, 我們向阿里服務(wù)器推送數(shù)據(jù), 可是交易是否成功, 阿里服務(wù)器并沒有調(diào)用我們的接口將交易結(jié)果推送過來,而是讓我們自己用定時(shí)器循環(huán)查詢交易結(jié)果.

老板解釋說, 支付寶需要反饋的結(jié)果就只有一個(gè)結(jié)果, 因此我們服務(wù)器采用定時(shí)器循環(huán)查詢對(duì)阿里服務(wù)器來說開銷也不是很大。
可是我們現(xiàn)在對(duì)接的接口開發(fā), 需要反饋給對(duì)方系統(tǒng)的數(shù)據(jù)是多個(gè)結(jié)果數(shù)據(jù), 而且這些結(jié)果數(shù)據(jù)產(chǎn)生的過程是個(gè)動(dòng)態(tài)過程, 他根本就沒有一個(gè)準(zhǔn)確的結(jié)束時(shí)間點(diǎn), 或者說是結(jié)束標(biāo)志, 我想老板說得也有道理, 雖然司機(jī)什么時(shí)候完成訂單是有結(jié)束標(biāo)志, 但是什么時(shí)候不再添加修改費(fèi)用卻沒有一個(gè)結(jié)束標(biāo)志, 因此同意了老板的說法。
考慮到老板不是IT出身的, 害怕有可能會(huì)有遺漏的地方, 所以就在這里發(fā)帖求助.

我暫時(shí)的想法是, 為了跟多個(gè)公司對(duì)接, 如果采用第1種方式對(duì)接, 我們調(diào)用對(duì)方的接口主動(dòng)將數(shù)據(jù)推送過去的話, 我想讓我們自己來定義接口的標(biāo)準(zhǔn), 然后讓對(duì)方來開發(fā), 不知道可不可行?

或者有沒有其他更好的解決方式?

希望做過接口開發(fā)設(shè)計(jì)的前輩指導(dǎo)下??!

回答
編輯回答
野橘

我個(gè)人也是比較傾向于第1種。原因如你老板所說,減少服務(wù)器不必要的請(qǐng)求。同時(shí),及時(shí)性比第二種高。
至于和多個(gè)系統(tǒng)對(duì)接,工作量的問題,就得看你們公司是否足夠強(qiáng)勢(shì)了。
如果你們足夠強(qiáng)勢(shì),那么你們只需定義好要推送的數(shù)據(jù),對(duì)方根據(jù)你們數(shù)據(jù)格式來寫接收的接口;
如果你們不夠強(qiáng)勢(shì),那么即使是采取第2種方案,對(duì)方也會(huì)要求你們返回給他們想要的數(shù)據(jù)格式。

2018年5月13日 16:37
編輯回答
乞許

考慮對(duì)方對(duì)你數(shù)據(jù)反饋實(shí)時(shí)性的要求。

實(shí)時(shí)性低比如十分鐘你直接用sftp把這十分鐘的結(jié)果文件傳過去。txt, csv你自己定義,簡(jiǎn)單方便。

如果實(shí)時(shí)高,你就用消息隊(duì)列,比如Kafka,你自己是producer,其他廠商是comsumer。他們訂閱自己的topic。

分出了兩個(gè)模塊,計(jì)算處理和消息傳輸。

2017年2月26日 04:36