挨踢部落坐診第十七期:分布式事務(wù)處理及前后端分離部署問題
原創(chuàng) 活動(dòng)說明:挨踢部落是為核心開發(fā)者提供深度技術(shù)交流,解決開發(fā)需求,資源共享的服務(wù)社群?;诖松缛?,我們邀請(qǐng)了業(yè)界技術(shù)大咖對(duì)開發(fā)需求進(jìn)行一對(duì)一突破,解除開發(fā)過程中的絆腳石。以最專業(yè)、***效的答復(fù)為開發(fā)者解決開發(fā)難題。
話題關(guān)鍵詞:分布式/微服務(wù)框架/前端/iOS
部落陣容:51CTO社群智囊團(tuán)
面向?qū)ο?/strong>:Java開發(fā)工程師、PHP開發(fā)工程師、數(shù)據(jù)庫(kù)開發(fā)工程師、運(yùn)維工程師
參與方式:加入51CTO開發(fā)者QQ交流群(669593760),有任何技術(shù)問題,在群里提問,或發(fā)給群主小官。
活動(dòng)詳情:
java-老徐-北京:分布式系統(tǒng)中,事務(wù)是怎么解決的大佬們,分布式事務(wù)不是有很多補(bǔ)償方案嗎,我用的17.3。我本來那項(xiàng)目就是垂直架構(gòu)的,然后面試的大佬問我項(xiàng)目中事務(wù)是怎么解決的,我就按照我那項(xiàng)目說的,然后他就問我業(yè)務(wù)是怎么拆分的...我就說我是垂直架構(gòu)的,然后涼涼了就。
java-晨晨-上海:用redis的set原子特性,或者memmcache的add原子特性,redis和memmcache都可以分布式。我簡(jiǎn)單的寫一下方案,你是說事務(wù)一致性已經(jīng)解決了。
軟件開發(fā)-武漢-薛定諤的貓:想問下 ,有沒人做過網(wǎng)站前后端分離部署的,一般中小型網(wǎng)站,前后端代碼在一個(gè)服務(wù)器?,F(xiàn)在做武漢市發(fā)改委的項(xiàng)目,要求前后端,代碼分開部署。
1>北京-架構(gòu)師-二哥:可能我是傳統(tǒng)行業(yè),我們這邊一般都分開。
2>java-龐坤-上海:看情況,如果前后端不是同一個(gè)人做一般都會(huì)分開,即使對(duì)性能考慮也應(yīng)該分開。
3>PHP-廣州-i:...走json。
前端-小虎-北京:怎么從 A頁(yè)面跳到B頁(yè)面,并同時(shí)執(zhí)行B頁(yè)面的函數(shù),前端實(shí)現(xiàn)。
2>西安-steven-前端:window.open實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)、onpageshow執(zhí)行函數(shù)。
深圳-java-從志:各位大佬們問個(gè)問題啊,String類這個(gè)算法計(jì)算散列碼,為什么31* hash+ cahrat(i),為什么是乘以31,怎么不是乘以30,或者其他整數(shù)?
JAVA-格子襯衫°-北京:好像是質(zhì)數(shù)都可以,不是質(zhì)數(shù)哈希值會(huì)有重復(fù)的,但是為什么是31不是17我也不太清楚,你可以百度下,你可以乘以37或者61試試,來生一百個(gè)哈希值,看看會(huì)發(fā)生什么事。源碼可以直接拿來用,源碼滿足不了你可以直接改源碼,其他地方不受影響就可以,反正又不犯法,參考:
https://blog.csdn.net/tayanxunhua/article/details/20525251#10006-weixin-1-52626-6b3bffd01fdde4900130bc5a2751b6d1
JAVA-格子襯衫°-北京:有沒有人遇到過微信JSSDK注入權(quán)限,因?yàn)閕OS路由的原因獲取url錯(cuò)誤導(dǎo)致簽名校驗(yàn)失敗的問題,做公眾號(hào),需要在頁(yè)面注入權(quán)限來使用微信的JSSDK調(diào)起相機(jī)和相冊(cè),就那個(gè)wx.config方法,傳入得參數(shù)都是正確得,簽名也是用微信官方的簽名校驗(yàn)工具沒問題,但是實(shí)際使用得時(shí)候安卓可以,iOS顯示簽名錯(cuò)誤。后來發(fā)現(xiàn)是簽名里的URL與JSSDK在IOS里獲得參與校驗(yàn)的URL不一致,JSSDK在IOS得微信客戶端里獲取的URL總是當(dāng)前URL記錄得上一條歷史記錄,就是URL1--->URL2---->URL3(需要注入權(quán)限得頁(yè)面)。iOS微信客戶端得JSSDK總是取得URL2,而我們需要注入權(quán)限參與得URL卻是URL3,所以總是對(duì)不上,報(bào)簽名錯(cuò)誤。
1>廣州-小星星-PHP:呃,使用JSSDK,微信官方有文檔的不好用?
2>JAVA-格子襯衫°-北京:自己解決了,iOS微信客戶端JSSDK注入權(quán)限只需要給首頁(yè)地址注入就可以,不需要每個(gè)頁(yè)面都注入,因?yàn)椴徽撃闾侥膫€(gè)頁(yè)面,iOS微信客戶端的JSSDK獲取的校驗(yàn)URL只是***次進(jìn)去的主頁(yè)地址,跟安卓區(qū)別太大。當(dāng)保證注入權(quán)限時(shí)參與的字段與值正確,簽名正確,安卓和iOS效果不相同就要考慮對(duì)應(yīng)操作系統(tǒng)的差別。
北京-老米屋-Java:請(qǐng)教一下問題,像用Java那些微服務(wù)框架,是否支持集成由其它語言開發(fā)提供的RESTFUL 標(biāo)準(zhǔn)接口,支持的框架有那些?,如果你不知道,要是身邊有做Java幫我問問。
web全棧-Lee-濟(jì)南:restful是基于HTTP協(xié)議的,絕大多數(shù)的語言都支持(只要支持socket通訊)要實(shí)現(xiàn)的就是HTTP服務(wù)端與客戶端,好不好用,就看這個(gè)語言對(duì)應(yīng)的HTTP庫(kù)好不好用了。
java—凌亂—重慶:請(qǐng)教一個(gè)問題,為什么我訪問百度就行,訪問自己的服務(wù)就不行呢,沒有攔截test2可以直接訪問,用 restTemplate就訪問不了,我想做個(gè)restful風(fēng)格的資源訪問 + 處理業(yè)務(wù)邏輯的http接口結(jié)合,有證書但域名不對(duì),他會(huì)提示你訪問有風(fēng)險(xiǎn)。我試試取消https協(xié)議還是不行。取消了https,直接可以訪問,使用restTemplate不能訪問,使用restTemplate可以訪問百度。
北京-unicorn-數(shù)據(jù):用 Django restframework 搭建一個(gè)restful 環(huán)境試試:https://blog.csdn.net/rongyongfeikai2/article/details/50322769
http://www.django-rest-framework.org/ 官網(wǎng),restful與普通的http協(xié)議完全不同啊,你本地沒環(huán)境,自然測(cè)試不了哦。你是java,剛才給的是python,這個(gè)是java環(huán)境
https://blog.csdn.net/dfgrgegsezgzs/article/details/62427870
Linux~A00張江男~長(zhǎng)沙:請(qǐng)問下,那個(gè)戴爾的服務(wù)器怎么進(jìn)Raid卡?怎么進(jìn)Raid卡去查看里面的信息?Dcs6130型號(hào)的。主要是不曉得在哪個(gè)界面按,是開機(jī)就按嗎,還是有界面限制的?
1>服務(wù)器-泊頭-馮健:ctrl+r的居多,自檢的時(shí)候會(huì)有。
2>python-唐思雨-昆明:提問的時(shí)候適量配上圖文,將問題描述清楚,更有利于群友幫你解決問題哦。
廣州-小星星-PHP:父div限制了高度?是的話,設(shè)置父div的滾動(dòng)屬性看看。
云計(jì)算/運(yùn)維-昌平 :cloudstack和openstack有多大區(qū)別?
Java-向問天-北京:一個(gè)稍微輕量一些,一個(gè)比較全面一些,百度資料很多,給個(gè)鏈接吧, https://zhidao.baidu.com/question/938076178674573692.html
Java—長(zhǎng)沙—小劉:?jiǎn)栆幌翽ython可以作為膠水語言在JSP中運(yùn)行嗎?你們用Python與那個(gè)語言整合?
c++/py-taniey:應(yīng)該是有jython 可用,不過沒試過。我用的是CPython。
廣州-小星星-PHP:現(xiàn)在有個(gè)問題,git client都要求在***次commit的時(shí)候設(shè)置 user.name & user.email,commit的log能夠看到這個(gè)信息,問題來了,這里并不涉及push所用的賬號(hào),那能否在gitlab服務(wù)端看到是哪個(gè)賬號(hào)push的這些commit呢?
深圳-王明-后端開發(fā):gitLab顯示你自己設(shè)置的email,user.email 和 user.name,是賬號(hào)的email 在log點(diǎn)擊直接顯示gitLab相關(guān)的用戶 不是的話 name那會(huì)顯示你設(shè)置的郵箱。user.email 跟 push 代碼的賬號(hào) 相同 點(diǎn)擊的話 就是調(diào)到這個(gè)gitlab的對(duì)應(yīng)的用戶,不同的話 點(diǎn)擊就是發(fā)郵件。就這么點(diǎn)區(qū)別,你能不能push代碼 是你的ssh-key認(rèn)證決定的。
1>php-linux-Mr-北京:代碼不是從上到下運(yùn)行嗎, 這5秒中間的 是處理的時(shí)間呢。
2>運(yùn)維-本初網(wǎng)絡(luò)-西安:異步。
web開發(fā)-阿牛-北京:?jiǎn)杺€(gè)問題,@RequestMapping("/category")&@RequestMapping("category")這個(gè)注解里面,斜杠啥時(shí)候加?和這個(gè)斜杠有關(guān)系嗎?
1>后端-貓二爺?shù)穆眯?北京:spring mvc,一直都加。requestMapping是一個(gè)用來處理請(qǐng)求地址映射的注解, 表示類中的所有響應(yīng)請(qǐng)求的方法都是以該地址作為父路徑這個(gè)注解用于類或方法, 你可以理解為stringbuffer 拼接一個(gè)url字符串。
2>深圳-Richie-java:斜杠加不加都一樣,沒有關(guān)系,這個(gè)只是啟動(dòng)后跳轉(zhuǎn)的路徑。
碼工-TimFu-廣州:請(qǐng)教下: java.lang.IllegalStateException: No cache could be resolved for 'Builder[ ] caches=[] | key='' | keyGenerator='' | cacheManager='' | cacheResolver='' | condition='' | unless='' | sync='false'' using resolver 'org.springframework.cache.interceptor.SimpleCacheResolver@77376bcf'. At least one cache should be provided per cache operation. ehcache報(bào)錯(cuò)了。
spring boot 整理ehcache3 報(bào)錯(cuò),在程序demo里是正常的,但移到項(xiàng)目里,報(bào)這錯(cuò)了!
1>廣州-小星星-PHP:看字面意是緩存問題。
2>計(jì)算機(jī)-您好-湘:看在哪個(gè)環(huán)節(jié)出錯(cuò)仔細(xì)測(cè)試看看。
3>java-zero-北京:參數(shù)傳遞異常,看下是不是參數(shù)傳遞不合法, 有可能是jdk 和 spring 的版本 的問題。
4>北京-JAVA-牧:參數(shù)錯(cuò)了,重配緩存。
運(yùn)維-本初網(wǎng)絡(luò)-西安:有 angular 大神么? 問個(gè)動(dòng)態(tài)異步加載模塊的問題。通過systemjs加載遠(yuǎn)程umd規(guī)范的js模塊,如何注入到angular中。
Java_麥克_北京:在reque體里面定義angular即可,注意唯一性。
PHP-波仔-廣州:請(qǐng)教個(gè)問題,大家做支付借口時(shí)同步接口返回的數(shù)據(jù)需要做驗(yàn)簽嗎,另外支付結(jié)果接收同步返回的還是支付后用查詢接口去查詢?cè)敿?xì)信息好些?
濟(jì)南-抓娃娃-Lee:看下接口文檔吧。用戶端應(yīng)該有個(gè)回調(diào),用戶點(diǎn)擊后,返回系統(tǒng)。管理后臺(tái)是異步消息推送,寫個(gè)servlet接收下。我記得是這樣的,忘記是支付寶還是微信支付了,用戶端的回調(diào)路徑是在請(qǐng)求參數(shù)里配置的。
Linux&oracle-S.H.I-成都:各位親,有沒有人知道如何將ssh -V 的輸出結(jié)果保存在文件中的?或者通過其他方式查看openssh的版本的。linux下追加不到文件中,直接將輸出結(jié)果打印到屏幕上了。
產(chǎn)品~阿當(dāng)~上海: > d:\1.txt
北京-任煜烽-測(cè)試:QT究竟是不是跨平臺(tái)的好選擇?
1>web-老九-合肥:不一定是。這個(gè)可以,但是也有不少坑。
2>西安-本初-node:不是,electron 了解一下。vscode和釘釘桌面版就用這個(gè)。
廣州-小星星-PHP:按上文的字面意,你可以使用 String val = String.format("%s", numberOrStringVal);字面意是變量數(shù)據(jù)類型轉(zhuǎn)換錯(cuò)誤,那這一段是你業(yè)務(wù)代碼里的報(bào)錯(cuò)還是某個(gè)框架層面的,前者調(diào)整下,后者看看傳參有無錯(cuò)誤。自己寫的代碼,就調(diào)整一下,框架層面的,就調(diào)整一下傳參。
北京-小徐-java:有木有免費(fèi)的orc識(shí)別接口,eg:快遞單號(hào),識(shí)別快遞單的,個(gè)人玩的,掃描槍好像木有免費(fèi)的吧,PC上的圖片。
1>java-向問天-北京:ocr識(shí)別吧,看一下百度云的圖片識(shí)別接口,二維碼過條形碼掃描,二維碼的話,支付寶里的jsapi支持條形碼,但需要支付寶容器里操作,具體在支付寶開放平臺(tái)里搜jsapi。
2>深圳-王明-后端開發(fā):或者微信也可以,微信的JSSDK支持喚起掃一掃。
3>web全棧-Lee-濟(jì)南:orc的能力也是有限的。更何況手寫的(是任何人手寫的嗎),現(xiàn)在證件識(shí)別效果挺不錯(cuò)了。如果是特定人手寫的也可以,快遞單號(hào)是機(jī)打吧。
java-大神-北京:我遇到個(gè)問題,就是spring data使用postgresql數(shù)據(jù)源,怎么使用他的jsonb數(shù)據(jù)類型,有沒有弄過的,網(wǎng)上教程都搜了還是有問題?
Java_麥克_北京:百度是個(gè)好東西,https://blog.csdn.net/u014087707/article/details/62910638
Linux-shanghai-carol:請(qǐng)問一下,在 Linux上對(duì)于中小型企業(yè)自動(dòng)部署方面的軟件有沒有推薦的呀?自動(dòng)部署一些配置文件,用戶環(huán)境,這種日常管理,ansible類似,puppet。
1>西安+張愷+網(wǎng)絡(luò)工程師:你可以摸索著試試docker,好像有這方面功能。
2>java大數(shù)據(jù)_青島:zstack。
軟件開發(fā)-武漢-薛定諤的貓:有人遇到過嗎?阿里云說讓我上傳圖片,用二進(jìn)制方式,我就是用的普通 POST表單提交方式啊。我用的 uploadify。圖片應(yīng)該是,直接以臨時(shí)文件上傳到服務(wù)器的吧。難道 我在后臺(tái) 還要對(duì) 圖片 用程序轉(zhuǎn)碼?我現(xiàn)在是后臺(tái)上傳也會(huì)亂碼。
1>Java-漫-北京:enctype="multipart/form-data",這個(gè)寫了嗎?
2>北京-架構(gòu)師-二哥:binary,然后再傳。使用普通的ftp,運(yùn)行binary,然后扔進(jìn)去看看,如果沒問題你就研究你的工具,如果一樣有問題,那阿里給的信息就不對(duì)
3>PHP-廣州-i:排除法嘛,換個(gè)工具試一下。你換個(gè)工具,如果還會(huì)就看看后端接口。
軟件開發(fā)-武漢-薛定諤的貓:?jiǎn)柎蠹乙粋€(gè)問題 ,百度云啥的有沒有什么服務(wù),可以讓網(wǎng)頁(yè)播放的視頻不能被觀看者錄屏??
1>架構(gòu)師 周威 北京:沒有,錄屏盜取,目前沒聽說有呀。
2>云計(jì)算-廣州-嘿嘿:錄屏是本地行為,沒法制止的,除非像騰訊游戲一樣,檢測(cè)外掛裝置那種的。
重慶-運(yùn)維-無塵:請(qǐng)教運(yùn)維大佬一個(gè)問題呢。這個(gè)要求一個(gè)CA 一個(gè)證書,一個(gè)私鑰。但我在Godaddy上購(gòu)買的證書只有一個(gè)證書一個(gè)私鑰... ca證書這玩意兒從那里來?
1>Java-黑子-北京:Cfca。
2>重慶-運(yùn)維-無塵:已經(jīng)解決了,解決方案是購(gòu)買的域名證書里是二合一的證書,***段是關(guān)于域名的,第二段是關(guān)于ca的,分離出來就好。
北京-晶晶-lT:文件共享,我現(xiàn)在有臺(tái)電腦共享文件,讓其他的人只可以訪問,不能修改怎么設(shè)置?就是簡(jiǎn)單的局域網(wǎng)共享,幾個(gè)人,共享一個(gè)文件。我的電腦現(xiàn)在就是按照這個(gè)設(shè)置的,別的電腦還是可以隨意的更改我共享的文件。
1>c++/py-taniey:可以,當(dāng)然可以,要不就是你們網(wǎng)絡(luò)沒設(shè)置成可發(fā)現(xiàn),這樣設(shè)置,或者你搭個(gè)ftp 服務(wù)器。
2>北京-蜻蜓-java:人應(yīng)該就不能修改了吧,閑了可以再試試其他的方法,或者使用飛秋共享。
運(yùn)維-IT超哥-北京:請(qǐng)教個(gè)問題,我有6塊硬盤,其中一塊做了系統(tǒng)。剩下5塊做raid0然后想掛載根目錄下,但是掛載之后大小不增加。查看/etc/fstab有掛載的。能不能將它注釋掉?
1>運(yùn)維-赫-北京:更目錄要是掛在上了,數(shù)據(jù)都沒了啊,我覺得你掛載的目錄換一個(gè)試試比如 /data
2>Java-黑子-北京:不能掛根下,只能掛到某個(gè)目錄下,根在你創(chuàng)建系統(tǒng)的時(shí)候,相當(dāng)于有一個(gè)硬盤已經(jīng)掛在根下了。你新的硬盤。只能掛在其中某一個(gè)目錄下,這個(gè)目錄單獨(dú)擁有RAID 5的空間,掛到一個(gè)固定目錄吧。約定文件都往這個(gè)里面寫,掛到一個(gè)固定目錄吧。約定文件都往這個(gè)里面寫。
1>ERP-廣州-Bokit:把bios看看里面有個(gè)硬盤模式的換了試試。進(jìn)入BIOS,找到硬盤那個(gè)選項(xiàng),把那項(xiàng)改了??礃犹崾?,是你選擇了別的硬盤模式,但沒有對(duì)應(yīng)的驅(qū)動(dòng)。所以進(jìn)入BIOS更改回來。試試看。一般就這幾種情況,一一排查。偶安裝虛擬機(jī)碰到上面一樣的提示,所以就想到很有可能是這種情況。
2>java-晨晨-上海:看錯(cuò)誤是硬盤驅(qū)動(dòng),問一下,你電腦是不是只有一塊機(jī)械硬盤。內(nèi)存太小導(dǎo)致加載的時(shí)候要放一部分?jǐn)?shù)據(jù)到機(jī)械硬盤,機(jī)械硬盤反應(yīng)太慢,導(dǎo)致崩潰。
3>西安+張愷+網(wǎng)絡(luò)工程師:每天啟動(dòng)使用2個(gè)多小時(shí)就藍(lán)屏故障重點(diǎn)從顯卡驅(qū)動(dòng)方面排查。檢查一下顯卡驅(qū)動(dòng)程序是不是官方版本的驅(qū)動(dòng),調(diào)整一下硬盤虛擬內(nèi)存試試。有些ghost系統(tǒng)集成的顯卡驅(qū)動(dòng)會(huì)和計(jì)算機(jī)上安裝的某些軟件沖突也可能導(dǎo)致。如果是內(nèi)存問題導(dǎo)致藍(lán)屏,可以試著將虛擬內(nèi)存調(diào)大,看是否還藍(lán)屏,如果不行,有條件的話考慮更換內(nèi)存條試試。沒有條件換內(nèi)存的話,可以把機(jī)箱里面的線整理一下,有利于散熱并定時(shí)清理系統(tǒng)垃圾文件。也可以下載一個(gè)藍(lán)屏查看小工具,看是什么驅(qū)動(dòng)或者系統(tǒng)文件導(dǎo)致藍(lán)屏。這是藍(lán)屏故障查看工具下載地址,可以下載試試:
4>半個(gè)開發(fā)-小星星-廣州:除塵!不搞其他了,先做這個(gè)。另外留意下是否每次藍(lán)屏前都開了微軟的office,散熱引起的藍(lán),可能性很大,所以除塵先。
win系統(tǒng)藍(lán)屏分軟故障&硬故障
軟: 系統(tǒng)好壞、驅(qū)動(dòng)沖突、殺軟沖突等等
硬: 首要檢查磁盤是否壞道,啟動(dòng)加載系統(tǒng)前就藍(lán)屏就像上面說的看BIOS方面,加載系統(tǒng)之后藍(lán)屏除壞道之外,并且排除軟故障之后,硬件硬傷可能性很大,主要顯卡和主板
5>廣州-JAVA-xiao:試下就知道,把主機(jī)側(cè)蓋打開,運(yùn)行看看,至少能降10度,這種硬件引起的問題,這種硬件引起的問題,要么升級(jí)硬件,藍(lán)屏是系統(tǒng)的自我保護(hù)機(jī)制。我前天給我哥diy一個(gè)主機(jī),都要4g,他就是手機(jī)門店用的而已。
python-aa-成都:若將網(wǎng)絡(luò)192.168.0.0/22劃分為5個(gè)子網(wǎng),則可以劃分出的最小子網(wǎng)的子網(wǎng)掩碼是(),求告知答案,謝謝。
江西–Developer學(xué)生–Java:我有到云好像有筆記,我找下。是cidr還是vlsm呢,這是我自己總結(jié)的,可以看看https://wenku.baidu.com/view/25fbf52dcc22bcd126ff0cb6
您對(duì)這些解答方案是否仍有疑問?歡迎加51CTO開發(fā)者QQ交流群 669593760討論。
下期活動(dòng)預(yù)告:7月18日
關(guān)鍵詞:Java、前端、PHP
活動(dòng)回顧:
挨踢部落坐診第十四期:支付寶接口調(diào)用及小程序設(shè)計(jì)詳解
挨踢部落技術(shù)門診第十五期:解決PHP簽名失效 MySQL快速遷移問題
挨踢部落坐診第十六期:運(yùn)維人員忽略的那些細(xì)節(jié)