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