快凌晨了,也到了工作10年的尾巴,自從工作5、6年之後,有了家有了娃,啃技術的時間越來越少,技術專家這條路不好走。 經過幾次阿里面試,明顯感覺對於分布式或者大型網際網路平台開發認識的不足,但是回來研究一下cap zab tcc xa等知識點,也是現在大公司面試主要問題點,解答思路其實很簡單,是通過tcp協議保護(上層做協議封裝)在高併發環境下的區域網內部,保證系統設計平衡性,即從事務方面下手,兼顧效率的同時也要保證高可用性。其中並未有高深的演算法,更多的是邏輯上的若干層保護。在這裡要吐槽一下國內中小公司技術環境,基本是兩三年下來領導們富糧結餘不少,下面的工程狗技術學到的不多,再加上國內技術基本就是國外兩三年換一輪,國內搬過來改一輪。 當然中小公司初衷不是為了留下什麼開源星級、技術大牛、框架,而只是利益驅使。
commitprocessor類
queuedrequests和committedrequests 都是linkedlist,保證順序性;
public void processrequest(request request)
// request.addrqrec(">final");
long tracemask = zootrace.client_request_trace_mask;
if (request.type == opcode.ping)
if (log.istraceenabled())
processtxnresult rc = null;
synchronized (zks.outstandingchanges)
if (zks.outstandingchangesforpath.get(cr.path) == cr)
}if (request.hdr != null)
// do not add non quorum packets to the queue.
//將操作動作型別的請求存放提交佇列
if (request.isquorum(request.type))
}if (request.hdr != null && request.hdr.gettype() == opcode.closesession)
}if (request.cnxn == null)
servercnxn cnxn = request.cnxn;
string lastop = "na";
zks.decinprocess();
code err = code.ok;
record rsp = null;
boolean closesession = false;
try
keeperexception ke = request.getexception();
if (ke != null)
if (log.isdebugenabled())
switch (request.type)
case opcode.createsession:
} catch (ioexception e)
}
學習心得體會1
首先我定義了乙個類 sealed class usermodel set public string username set public usermodel string name,int32 age public void displaymember userage this.username...
angular學習心得體會
1 ionic的自定義服務factory,service,provide等.factory hots function hots 這個名字是自定義服務的名字,可以注入到不同controller裡面公用,一般邏輯處理,資料處理,都會放在自定義服務內,當你初試 angular 時,很自然地就會往 con...
陣列學習心得體會
這一章的主要內容是陣列,通過對陣列的學習,我能夠運用陣列解決更多複雜的問題,但是儘管用陣列解決問題,更加方便,但不得不承認,這一章的題目難度也明顯增高,挑戰性也隨之增強,下面是我對陣列這一章的主要內容的總結。一維陣列 一,一維陣列的定義 速度就是一堵相同的變數,他們往往都是為了表達同一批物件的統一屬...