已采納回答 / 楓荇
@smarty 您好!在這個(gè)例子中金額字段使用了decimal類型,這里使用的decimal類型是由下面這個(gè)第三方庫(kù)提供的:
github.com/shopspring/decimal可以使用go get 進(jìn)行安裝:
go?get?-u?github.com/shopspring/...
2019-03-08
已采納回答 / 楓荇
@misaki_rain?很認(rèn)真的一位同學(xué),實(shí)際上通過這個(gè)bug,也可以更深刻的理解最小金額的意義。除了生成序列還進(jìn)一步對(duì)生成的結(jié)果做了一些驗(yàn)證,這些思考和驗(yàn)證方法可以進(jìn)一步使用自動(dòng)化測(cè)試來(lái)驗(yàn)證,實(shí)際上后洗牌算法在課程中沒有編寫自動(dòng)化測(cè)試來(lái)驗(yàn)證,沒有測(cè)試就有bug,也說了測(cè)試的重要性。非常感謝@misaki_rain的問題,非常棒!???
2019-03-07
講師回答 / 楓荇
@Q646448149?您好!這個(gè)案例中關(guān)鍵的邏輯是對(duì)數(shù)據(jù)版本字段的維護(hù)和使用數(shù)據(jù)版本字段進(jìn)行CAS。第一個(gè)問題:通過在where條件中添加數(shù)據(jù)版本字段的驗(yàn)證,來(lái)確定要更新的數(shù)據(jù)是最新的才能被修改;如果已經(jīng)被修改,數(shù)據(jù)版本就會(huì)被更新,那么當(dāng)前更新就要被更新失敗。第二個(gè)問題:這種方案不通用,但在很多場(chǎng)景中來(lái)代替鎖,簡(jiǎn)單說就是避免使用鎖來(lái)優(yōu)化性能。
2019-03-03
最新回答 / 慕夢(mèng)前來(lái)
分析得很有道理 ,不錯(cuò),good
講師回答 / 楓荇
@Q646448149?您好!悲觀鎖:簡(jiǎn)單說就是先占了我要使用的所有資源,強(qiáng)制絕對(duì)串行化,不允許我開始執(zhí)行時(shí),不管是否要真的執(zhí)行,涉及到的資源絕對(duì)的私有,絕對(duì)占有。用一個(gè)簡(jiǎn)單的案例講,我要去停車,進(jìn)停車場(chǎng)時(shí),系統(tǒng)給我分配一個(gè)停車位A201,告訴讓所有停車的人,并且A201車位上安裝了車位鎖,只有我的車過去才能打開;那么也就是說,我入場(chǎng)是就占了這個(gè)車位,不管這個(gè)時(shí)候不管我是否真的要停,A201車位是我的其他人不能停。樂觀鎖:不管資源是否能用,我先去嘗試,如果資源已經(jīng)被占了或者狀態(tài)變了,大不了失敗重來(lái)。用上面...
@文_氓
感謝您的支持和期待!
紅包系統(tǒng)是一個(gè)可大可小的系統(tǒng),以業(yè)務(wù)量的要求不一樣、并發(fā)和性能的要求不一樣、數(shù)據(jù)一致性的不一樣等可大可??;小可以用CRUD就能構(gòu)建,熟練的程序員2天就可以寫出來(lái)一個(gè);大就不僅僅是CRUD,考慮業(yè)務(wù)需求、擴(kuò)展性、性能、成本、數(shù)據(jù)一致性、穩(wěn)定性、可靠性等等可以構(gòu)建出一套微服務(wù)生態(tài)體系。后續(xù)的課程也是以架構(gòu)演進(jìn)的思路來(lái)構(gòu)建一個(gè)微服務(wù)生態(tài)體系的角度來(lái)講解和設(shè)計(jì),目前課程正在準(zhǔn)備中,看到大家這么期待,我會(huì)800里快馬加鞭和大家見面,非常感謝您的支持!
感謝您的支持和期待!
紅包系統(tǒng)是一個(gè)可大可小的系統(tǒng),以業(yè)務(wù)量的要求不一樣、并發(fā)和性能的要求不一樣、數(shù)據(jù)一致性的不一樣等可大可??;小可以用CRUD就能構(gòu)建,熟練的程序員2天就可以寫出來(lái)一個(gè);大就不僅僅是CRUD,考慮業(yè)務(wù)需求、擴(kuò)展性、性能、成本、數(shù)據(jù)一致性、穩(wěn)定性、可靠性等等可以構(gòu)建出一套微服務(wù)生態(tài)體系。后續(xù)的課程也是以架構(gòu)演進(jìn)的思路來(lái)構(gòu)建一個(gè)微服務(wù)生態(tài)體系的角度來(lái)講解和設(shè)計(jì),目前課程正在準(zhǔn)備中,看到大家這么期待,我會(huì)800里快馬加鞭和大家見面,非常感謝您的支持!
2019-03-01
@Alexdon
感謝您的意見和建議! 后續(xù)的課程設(shè)計(jì)中,會(huì)從實(shí)際出發(fā),動(dòng)手編碼來(lái)完成一本基本的單體紅包秒殺系統(tǒng),然后再根據(jù)不同階段不同要求,以架構(gòu)演進(jìn)的思路,帶著同學(xué)們以實(shí)際項(xiàng)目開發(fā)和發(fā)展的過程進(jìn)行講解,就如同真真實(shí)實(shí)的參與項(xiàng)目的架構(gòu)設(shè)計(jì)和研發(fā)工作,等學(xué)完整個(gè)課程后,就像實(shí)實(shí)在在研發(fā)經(jīng)歷一樣。也感謝大家能給我提出一起意見和期望,在后面的課程中改進(jìn)和優(yōu)化,同時(shí)我在和大家的交流中不斷學(xué)習(xí)和提升,帶來(lái)更好的課程。感謝!
感謝您的意見和建議! 后續(xù)的課程設(shè)計(jì)中,會(huì)從實(shí)際出發(fā),動(dòng)手編碼來(lái)完成一本基本的單體紅包秒殺系統(tǒng),然后再根據(jù)不同階段不同要求,以架構(gòu)演進(jìn)的思路,帶著同學(xué)們以實(shí)際項(xiàng)目開發(fā)和發(fā)展的過程進(jìn)行講解,就如同真真實(shí)實(shí)的參與項(xiàng)目的架構(gòu)設(shè)計(jì)和研發(fā)工作,等學(xué)完整個(gè)課程后,就像實(shí)實(shí)在在研發(fā)經(jīng)歷一樣。也感謝大家能給我提出一起意見和期望,在后面的課程中改進(jìn)和優(yōu)化,同時(shí)我在和大家的交流中不斷學(xué)習(xí)和提升,帶來(lái)更好的課程。感謝!
2019-03-01
講師回答 / 楓荇
@慕粉1428252144? 是二進(jìn)制么?剛剛試了一下十進(jìn)制表示為:2097151 ,實(shí)在是破解不了你的密碼信息,還望指教????
2019-03-01
希望老師可以把這個(gè)項(xiàng)目完整地講完呈現(xiàn)出真正的企業(yè)級(jí)應(yīng)用,可以考慮后續(xù)課程拆分為幾門,先來(lái)一個(gè)高可用、高并發(fā)、高性能的單體版(中級(jí)實(shí)戰(zhàn)),再將前面的單體改造成微服務(wù)版(高級(jí)實(shí)戰(zhàn)),其他(專家實(shí)戰(zhàn))
這樣每門都有足夠的時(shí)間完整的呈現(xiàn),不要老是因?yàn)闀r(shí)間限制不講完整!?。?br />
希望老師在注重業(yè)務(wù)的同時(shí),注重測(cè)試,我希望看到各種場(chǎng)景下的測(cè)試技巧——http,db,性能等等
另:可否換個(gè)框架,比如Gin因?yàn)镮ris已經(jīng)再別的課程中講了
這樣每門都有足夠的時(shí)間完整的呈現(xiàn),不要老是因?yàn)闀r(shí)間限制不講完整!?。?br />
希望老師在注重業(yè)務(wù)的同時(shí),注重測(cè)試,我希望看到各種場(chǎng)景下的測(cè)試技巧——http,db,性能等等
另:可否換個(gè)框架,比如Gin因?yàn)镮ris已經(jīng)再別的課程中講了
2019-03-01