一、提交代碼寫到一起
例如:
文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
C# code文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
?文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
1文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
2文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
3文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
4文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
5文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
6文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
7文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
8文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
9文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
10文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
using(varconn1=reateConnection(str1))文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
using(varconn2=CreateConnetion(str2))文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
using(varconn3=CreateConnetion(str3))文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
{文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
..............................文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
..............................文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
conn1.Commit();文章源自網(wǎng)吧系統(tǒng)維護-http://www.strong-digital.cn/3999.html
conn2.Commit();
conn3.Commit();
}
這樣Commit階段都是簡單地信號,之前都已經(jīng)更改了數(shù)據(jù)庫事務(wù)日志數(shù)據(jù),只是還沒有提交而已,同時失敗的可能性會比較小。這種方案不是正規(guī)解決方案,只是說失敗的可能性減小了。
二:設(shè)計“自動撤回、沖銷”流程,并且為每一個分事務(wù)動做都寫一個額外的“確認”步驟。
當(dāng)執(zhí)行確認時,校驗當(dāng)前進程隨機會話編號,如果事務(wù)發(fā)生會話的編號跟確認會話編號一致則記錄確認成功,如果不一致(例如進程失敗而重啟了)則執(zhí)行沖銷流程。
這種方案是正規(guī)的“最終一致性”解決方案。最終一致性是業(yè)務(wù)方案,業(yè)務(wù)就是這么明確的——任何業(yè)務(wù)都需要異步確認一遍,確認時判斷當(dāng)前進程會話編號跟業(yè)務(wù)發(fā)生時的進程會話編號是否一致。
在比較現(xiàn)代的高性能系統(tǒng)中,實際上講究的通常是“最終一致性”而不是純技術(shù)的一致性。所以糾結(jié)數(shù)據(jù)庫事務(wù)保護,可以看作是性能殺手,是不了解大數(shù)據(jù)平臺編程設(shè)計的,流程設(shè)計傾向于高并發(fā)電信級處理理念,跟那種入門者喜好“數(shù)據(jù)庫事務(wù)技術(shù)”是根本相反的算法選擇??!所以在程序上是負載均衡、真正分布式的。干某件事情的進程負責(zé)異步地確認任務(wù),否則假設(shè)進程失敗了、或者事務(wù)超時了(例如5秒鐘還沒有完成事務(wù)),不得不由其它進程事后處理,就開啟業(yè)務(wù)數(shù)據(jù)沖銷動做了。
評論