锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久国产色AV免费看,色综合久久夜色精品国产,久久国产亚洲精品http://m.shnenglu.com/yangsf5/archive/2014/04/26/206724.htmlSheppard YSheppard YSat, 26 Apr 2014 08:05:00 GMThttp://m.shnenglu.com/yangsf5/archive/2014/04/26/206724.htmlhttp://m.shnenglu.com/yangsf5/comments/206724.htmlhttp://m.shnenglu.com/yangsf5/archive/2014/04/26/206724.html#Feedback0http://m.shnenglu.com/yangsf5/comments/commentRss/206724.htmlhttp://m.shnenglu.com/yangsf5/services/trackbacks/206724.html
2016-07-12 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>
http://blog.clawz.me/2014/04/26/14-docker-usage-research/

 涓銆佽儗鏅?
     欏圭洰閲岀紪璇戞墦鍖呭鎴風紼嬪簭鏃剁粡甯稿嚭鐜伴棶棰橈紝鏈夌幆澧冧笉涓鑷撮棶棰樻垨鑰呬唬鐮佸啿紿侀棶棰樸?/div>
     涔嬪墠浜嗚В榪?a >docker鍙互搴旂敤鐜浣滀負涓涓竴浣撳寲鐨勬湇鍔℃潵浣跨敤錛屾墍浠ユ兂鐪嬬湅docker鏄惁鑳界粰鎴戜滑瀹㈡埛绔悓瀛︽彁渚涗簺鏂逛究銆?/div>
浜屻佷富瑕佸叧娉ㄧ偣
錛堜竴錛塪ocker鑳借繍琛屽湪鍝簺鎿嶄綔緋葷粺錛宮ac銆乴inux銆亀indows錛?/div>
     閮藉彲浠ワ紝docker鐜板湪release鍒?.10.0鐗堜簡錛岃繕娌″埌1.0鐨勬寮忕増銆傚畼鏂逛笉鎺ㄨ崘灝嗗綋鍓嶇殑docker榪愮敤鍦ㄧ敓浜х幆澧冧腑銆?/div>
     docker鍐呴儴寮鍙戞槸鍦╱buntu涓婅繘琛屼簡錛屾墍浠buntu涓婃敮鎸佹渶濂姐俶ac鍜寃indows榪欎簺鐨刣ocker榪愯鏂瑰紡錛岀幇鍦ㄦ槸鍦ㄦ搷浣滅郴緇熶笂瑁呰櫄鎷熸満錛堝VirtualBox錛夛紝鍐嶅湪铏氭嫙鏈洪噷榪愯浣跨敤docker銆?/div>
錛堜簩錛塪ocker瀹瑰櫒閲岃兘榪愯浠涔堢幆澧冿紝mac銆乴inux銆亀indows錛?/div>
     docker閲岃兘榪愯鐨勭郴緇熺О涓篿mage錛岀洰鍓峣mage澶у鏄痩inux銆傝繖涔熸尯姝e父鐨勶紝mac os x鍜寃indows閮芥槸鍟嗕笟鏀惰垂鐨勶紝鎬庝箞鍙兘闅忎究璁╂惌寤篿mage銆?/div>
     鎵浠ユ垜鎯崇敤docker鏉ユ湇鍔℃垜浠鎴風鐜鎼緩鐨勮瘽錛宨mage鐨勪簨鎯呰繕寰楄嚜宸辨悶涓嬨?/div>


]]>claw璁捐鑽夌ǹhttp://m.shnenglu.com/yangsf5/archive/2014/03/31/206404.htmlSheppard YSheppard YMon, 31 Mar 2014 03:09:00 GMThttp://m.shnenglu.com/yangsf5/archive/2014/03/31/206404.htmlhttp://m.shnenglu.com/yangsf5/comments/206404.htmlhttp://m.shnenglu.com/yangsf5/archive/2014/03/31/206404.html#Feedback0http://m.shnenglu.com/yangsf5/comments/commentRss/206404.htmlhttp://m.shnenglu.com/yangsf5/services/trackbacks/206404.html
2016-07-12 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?br />
http://blog.clawz.me/2014/03/31/14-claw-design/

涓銆佺洰鏍?/span>
     鍙傝冧簯椋巗kynet錛屽疄鐜癵o鐗堟湰鐨勫紑婧愭湇鍔″櫒寮曟搸銆?/div>
浜屻佺粏鑺?/div>
錛堜竴錛夋湇鍔?/div>
     鎸夋湇鍔℃潵鎷嗘ā鍧楃殑濂藉涓嶈浜嗐傚彧璇磄o鏉ョ殑瀹炵幇鏂瑰紡銆俫o閲屾湁channel鍜実oroutine銆傛秷鎭槦鍒楀拰杞婚噺綰х嚎紼嬮兘澶╃劧瑙e喅浜嗐?/div>
錛堜簩錛夋湇鍔¢棿鐨勯氫俊
     鍚岃繘紼嬪唴鐨勬湇鍔′箣闂撮氫俊錛岀洿鎺ュ線瀵規柟channel鍙戞秷鎭嵆鍙備笉鍚岃繘紼嬮噷闈犲悇榪涚▼鑷繁鐨刪arbor鏈嶅姟鏉ヨ漿鍙戙俬arbor鏈嶅姟鏉ヨ礋璐i泦緹ら棿鐨勯氫俊銆?/div>
     闆嗙兢閲岃緗竴涓猰aster鏈嶅姟鏉ュ仛鍏ㄥ眬鐨勫悕瀛楁湇鍔★紝涓昏鐢ㄤ簬鐧昏鍜屽悓姝ラ泦緹ら噷鍚勪釜榪涚▼寮鍚殑鍚勪釜鏈嶅姟銆傛墍鏈塰arbor鍚姩鍚庡悜master娉ㄥ唽鑷繁錛宮aster鍚戞墍鏈塰arbor騫挎挱鍚屾鏂板姞鍏ョ殑榪欎釜鏈哄櫒銆?/div>
錛堜笁錛夌粍鎾?/div>
     緇忓父闇瑕佸悜鏌愬嚑涓湇鍔″箍鎾竴涓秷鎭紝緇勬挱闂銆俶ulticast鏈嶅姟鏉ョ鐞嗙粍鎾?/div>
錛堝洓錛夋棩蹇?/div>
     浣跨敤glog銆?/div>
涓夈佸凡瀹炵幇鐨勬湇鍔?/div>
錛堜竴錛塵aster鍜宧arbor
     鏆傛椂master鍋氫負harbor鐨勪腑蹇冩帶鍒跺櫒鐨勩傚悗緇細鏀硅繘錛屽仛鎴恏arbor涔嬮棿涓や袱閫氫俊錛屽噺灝戝master鐨勫崟鐐逛緷璧栥?/div>
錛堜簩錛塯ate
     gate鐢ㄦ潵鍋氶氬父鐨勭綉緇滅洃鍚敤銆傜洰鍓嶇殑寰堢畝鍗曪紝鐢ㄦ埛闇瑕佸悜榪欎釜鏈嶅姟鍣ㄦ敞鍐岃嚜宸辯殑鍖呰В鏋愬拰澶勭悊鍣ㄣ?/div>
錛堜笁錛墂eb
     web璐熻矗http鐨勭洃鍚紝template鐨勫姞杞絚ache錛屽嚑涓氱敤鍑芥暟鐨勬彁鍙栥?/div>
鍥涖乸s
     欏圭洰鍦板潃錛?a >https://github.com/yangsf5/claw


]]>express鐨剆ession涓棿浠秙essionID闂http://m.shnenglu.com/yangsf5/archive/2014/02/28/205993.htmlSheppard YSheppard YFri, 28 Feb 2014 07:35:00 GMThttp://m.shnenglu.com/yangsf5/archive/2014/02/28/205993.htmlhttp://m.shnenglu.com/yangsf5/comments/205993.htmlhttp://m.shnenglu.com/yangsf5/archive/2014/02/28/205993.html#Feedback0http://m.shnenglu.com/yangsf5/comments/commentRss/205993.htmlhttp://m.shnenglu.com/yangsf5/services/trackbacks/205993.html
2016-07-12 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>
http://blog.clawz.me/2014/02/28/14-express-session-id-problem/

     session涓棿浠墮噷鐨剆essionID錛堜互涓嬬畝縐皊id錛夌殑綆楁硶涓?4byte鐨勫叏闅忔満銆俿id閲嶅鐨勫彲鑳芥ф瘮杈冨皬錛屼絾鐞嗚涓婅繕鏄湁閲嶅鐨勫彲鑳姐?/span>
     session涓棿浠剁殑session緇存姢嫻佺▼涓猴細
錛堜竴錛夋柊session鐨勫垱寤?/div>
錛?錛夊皢option閲岄厤鐨剆essionStore鎸傚埌req涓婏紱
錛?錛変慨鏀箁es.end鍑芥暟錛屽湪鍘熷嚱鏁板熀紜涓婂姞鍏eq.session.save鎿嶄綔錛堝氨鏄線sessionStore閲屽瓨session錛夛紱
錛?錛夋柊session鐨勬帴鍏ワ紝鍥犱負鏄柊session錛屾墍浠ookie閲屾病鏈塻id淇℃伅銆傞殢鏈轟竴涓猻id錛屼互姝id鏉ュ垱寤簊ession錛岀劧鍚庡皢session緇戝埌req涓婏紱鐒跺悗灝唕eq鍜宺es浜ょ粰涓嬩釜涓棿浠舵垨嫻佺▼澶勭悊銆?/div>
錛堜簩錛夋棫session鎺ュ叆
錛?錛夊悓涓婅竟鐨勭錛?錛夋錛?/div>
錛?錛夊悓涓婅竟鐨勭錛?錛夋錛?/div>
錛?錛塩ookie閲屾湁sid錛屾牴鎹繖涓猻id鍘籹essionStore閲屽彇鍥瀞ession淇℃伅錛涘鏋渟ession榪囨湡灝卞彇涓嶅埌session浜嗭紝灝卞儚涓婅竟鐨勶紙3錛夐噷閭f牱閲嶆柊鍒涘緩涓涓猻ession銆?/div>
     涓轟簡瀹屽叏娑堥櫎sid鐨勯噸澶嶆у甫鏉ョ殑褰卞搷錛屽氨瑕佹鏌ユ柊鍒涘緩鐨剆id鏄惁宸茬粡瀛樺湪涓巗essionStore閲屼簡銆?/div>
     session涓棿浠剁殑緇撴瀯鍦╡xpress鐨勪互鍚庣増鏈腑榪樹細淇敼錛屾墍浠ユ垜涓嶆兂鍔╯ession涓棿浠剁殑婧愮爜銆備簬鏄彧鑳藉湪鏂皊ession鍒涘緩鍚庣殑鎴戣嚜宸辯殑閫昏緫嫻佺▼涓潵澶勭悊銆傞昏緫嫻佺▼涓紝褰揾ttp鍖呬負鐧婚檰楠岃瘉鍖呮椂錛屽皢session涓棿浠剁粰鍒涘緩鐨剆ession鐨剆id鎷垮埌sessionStore閲屽幓鏌ヤ笅鏄惁宸茶浣跨敤錛屽鏋滀嬌鐢ㄥ氨騫叉帀褰撳墠session錛屽茍閫氱煡褰撳墠瀹㈡埛绔噸璇曘?/div>
     騫叉帀褰撳墠session鏈変釜鎶宸э紝灝辨槸鐩存帴錛坮eq.session=null;錛夎繖鏍峰嵆鍙紝鍥犱負淇敼鍚庣殑res.end閲岋紝鍒ゆ柇濡傛灉req.session鏈畾涔夛紝灝變笉浼氬啀鍘昏皟鐢╮eq.session.save浜嗐傚綋鍓峴ession鏄竴瀹氫笉鑳借浠杝ave鐨勶紝鍚﹀垯灝辨嬁褰撳墠鐢ㄦ埛鐨勪俊鎭鐩栦簡涔嬪墠鐢ㄦsid鐨勭敤鎴鳳紝閫犳垚閭d釜鐢ㄦ埛鍚庣畫閫昏緫娣蜂貢銆?/div>


]]>浜嗚В浜戦鐨剆kynethttp://m.shnenglu.com/yangsf5/archive/2014/01/16/205413.htmlSheppard YSheppard YThu, 16 Jan 2014 03:25:00 GMThttp://m.shnenglu.com/yangsf5/archive/2014/01/16/205413.htmlhttp://m.shnenglu.com/yangsf5/comments/205413.htmlhttp://m.shnenglu.com/yangsf5/archive/2014/01/16/205413.html#Feedback0http://m.shnenglu.com/yangsf5/comments/commentRss/205413.htmlhttp://m.shnenglu.com/yangsf5/services/trackbacks/205413.html
2016-07-11 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>
http://blog.clawz.me/2014/01/16/14-cloudwu-skynet-research/



錛圥S寮濮嬪簲鐢ㄣ婃殫鏃墮棿銆嬮噷鎻愬埌鐨勭悊璁猴紝灝唖kynet鐢ㄨ嚜宸辯殑璇濇潵鎬葷粨騫跺啓涓嬫潵錛岃繖鏍瘋兘鍏呭垎鎬濊冨茍杞堪涓鴻嚜宸辯殑璁板繂綰跨儲錛?/p>


涓銆乻kynet璁捐鐨勭悊瑙?/p>

錛堜竴錛夊崟涓猻kynet鑺傜偣

錛?錛夋効鏅?/p>

    鍏呭垎鍒╃敤澶氭牳銆傛渶鍒濇兂娉曟槸澶氳繘紼嬨傚儚鍜變滑nodejs閲屽鏍稿氨鍙兘鏄榪涚▼浜嗭紝鍥犱負姣忎釜nodejs榪涚▼鏄崟綰跨▼鐨勩?br />

    澶氳繘紼嬫槸閬靛驚unix璁捐鍝插錛屽伐鍏烽摼褰㈠紡錛屽垎鎷嗚繘紼嬬殑褰㈠紡鏉ュ垎鎷嗘ā鍧楋紝鍑忓皯澶嶆潅搴﹀拰鑰﹀悎鎬э紝鏂逛究緙栫▼鍙婄淮鎶ゃ?br />

    鍚庢潵浜戦浠栦滑鍙戠幇lua鍋氫負宓屽叆寮忚剼鏈紝鍐欓昏緫鏃跺緢濂界敤鐨勶紝鍙嶆濡備綍閮借鐢╨ua錛岃屼笖lua鎻愪緵浜嗘矙鐩掞紝榪欐牱澶氳繘紼嬪彲浠ュ彉涓哄崟榪涚▼澶氫釜娌欑洅錛岃繖鏍風患鍚堜簡澶氳繘紼嬪拰鍗曡繘紼嬪綰跨▼鐨勪紭鍔褲傚綰跨▼閲屽叡浜祫婧愶紝鍦ㄥ悓涓榪涚▼鍦板潃絀洪棿錛岃闂洿楂樻晥銆?br />


錛?錛夋牳蹇冨姛鑳斤紙闂ㄦ埧錛燂級

    寰堢簿綆錛屼粎瑙e喅涓涓棶棰樸?/p>

    skynet閲屼笉瀹炵幇鍏蜂綋娓告垙閫昏緫錛屽悗鑰呬簺鏀懼埌涓涓竴涓姩鎬佸簱閲岋紙so鏂囦歡錛夈俿kynet灝嗚繖浜泂o娉ㄥ唽鍒拌嚜宸遍噷杈癸紝姣忎釜so涓涓案涓嶉噸澶嶇殑id錛岀被浼間簬鏁版嵁搴撶殑autoincreament銆傜湅鎻忚堪榪欎釜id鏄痵kynet鑷繁榪愯鏃跺綋嬈$淮鎶ょ殑錛岃屼笉鏄ā鍧楅厤緗ソ緇堣韓鐨刬d銆傛ā鍧楃殑姘鎬箙鏈夋晥鍞竴鏍囩ず涓哄悕瀛楋紝skynet鎻愪緵浜嗗悕瀛楁湇鍔★紝鍙互緇欐瘡涓ā鍧楀彇涓涓槗璇葷殑鍚嶅瓧銆?br />


錛?錛夋牳蹇冧笉瑙e喅浠涔堥棶棰?/p>

    skynet涓誨紶鎵鏈夋湇鍔″湪鍚屼竴OS榪涚▼鍗忎綔瀹屾垚銆傛牳蹇冮噷灝辨病綆¤法鏈洪氳錛屽崟涓湇鍔$殑宕╂簝鍜岄噸鍚篃娌$錛屼簯椋庤〃紺鴻繖浜涘簲璇ョ敱涓婂眰澶勭悊錛屼粬鏈夎矗浠繪毚闇查敊璇紝鑰屼笉鏄殣钘忋?br />

    榪欎釜璁捐鐨勫師鍥狅紝娓告垙鍜屾搷浣滅郴緇熶笉涓鏍鳳紝鎿嶄綔緋葷粺榛樿涓嶄俊浠諱換浣曡繘紼嬶紝鍚勮繘紼嬪穿婧冧粈涔堢殑涓嶅簲褰卞搷鍏朵粬榪涚▼錛屾墍浠ユ煇涓繘紼嬫寕浜嗭紝浠栧氨瀹夎懍瀹冿紝鑰屽叾浠栬繘紼嬬編濂界殑鐢熸椿銆傚崟娓告垙鏄負鐜╁鏈嶅姟鐨勶紝鏌愪釜鐜妭鍑洪敊閮芥湁鍙兘閫犳垚鐜╁鍒╃泭娣蜂貢錛屾墍浠ラ偅閲岄敊浜嗗氨鏁翠釜嫻佺▼錛堟湇鍔″櫒錛夋寕鎺夊惂銆傛病鏈夊繀瑕佽鍑洪敊妯″潡琚殧紱誨紑錛岃屽叾浠栨ā鍧楀嵈緇х畫鎻愪緵鏈嶅姟瀵煎嚭鏈鐭ヨ涓恒?br />

    涓婅竟璇寸殑涓滆タ搴旇涓婂眰鑰冭檻錛屼嬌鐢╨ua鐨勬矙鐩掑氨鑳藉仛絳栫暐闅旂銆?br />


錛?錛塻kynet榪愯鏃墮昏緫嫻?/p>

    skynet璐熻矗涓斿彧璐熻矗灝嗕竴涓暟鎹寘浠庝竴涓湇鍔″彂閫佸埌鍚屼竴榪涚▼鐨勫彟涓涓湇鍔¢噷銆傚彂閫佹湇鍔$洿鎺ヨ皟鍙戦丄PI錛宻kynet鏀跺埌鏁版嵁鍖呭悗錛岃皟鐢ㄦ帴鍙楄呮湇鍔$殑娉ㄥ唽鐨刢allback錛屽嵆鍙戠粰浜嗘帴鍙楄呮湇鍔°?br />

    skynet淇濊瘉鍦ㄥ悇妯″潡鍒濆鍖栨椂銆佹瘡涓嫭绔嬬殑callback璋冪敤鏃訛紝閮芥槸鐩鎬簰綰跨▼瀹夊叏鐨勩傝繖鏍風紪鍐欐湇鍔$殑浜哄氨涓嶉渶瑕佽冭檻澶氱嚎紼嬬殑浠諱綍闂浜嗭紝鍙渶涓撳績澶勭悊緇欎粬鐨勪竴涓釜鏁版嵁鍖呫?/p>

    PS錛氬ぉ榫欑殑鍦烘櫙lua鏈夌偣鍍忚繖閲岀殑鍗曚釜鏈嶅姟銆備笉鐭ュぉ榫欑殑璺ㄧ嚎紼嬪垏鍦烘櫙鎯呭喌鍦ㄨ繖閲屼篃鍙互緇欑畝鍖栦負鍗曠嚎紼嬶紵錛堝洖澶寸湅婧愮爜鍐嶇爺絀惰繖涓棶棰橈級


錛?錛夋秷鎭皟搴?/p>

TODO


錛?錛塯ate鍜宑onnection

TODO


錛堜簩錛塻kynet闆嗙兢

    闆嗙兢閲屾渶澶氭敮鎸?55涓猻kynet鑺傜偣錛屾瘡涓猻kynet鑺傜偣鏈変竴涓猧d錛屾垚涓篽arbor id銆傝繖涓猧d鏄泦緹ゅ眰闈㈡寚瀹氾紝鍙互浜轟負鍒嗛厤錛屼篃鍙互鐢變竴涓腑澶湇鍔″櫒鍗忚皟鍒嗛厤銆?/p>

錛?錛夐泦緹ら棿閫氫俊

    skynet鏍稿績灞傜焊璐熻矗鍦ㄥ線澶栧彂娑堟伅鏃跺湪source瀛楁涓婂姞涓婅嚜宸辯殑harbor id銆傝岄泦緹ら棿鐨勯氫俊錛屾槸鐢卞崟鐙殑harbor鏈嶅姟鏉ュ仛鐨勩俿kynet灝嗘槸寰闆嗙兢鍏朵粬鑺傜偣鍙戠殑娑堟伅錛屽氨杞彂鍒癶arbor鍐呫俬arbor浼氳窡闆嗙兢鍐呰窡鑷繁緇撹瘑鐨剆kynet鐨刪arbor綆鍘唗cp閾炬帴銆俬arbor鎶婃秷鎭彂緇欑洰鏍噃arbor銆?br />

    harbor闂寸殑閫氫俊涓哄崟鍚戠殑tcp綆¢亾銆?br />

    master鏈嶅姟鏉ュ悓姝ュ叏灞鐨勫悕瀛楁湇鍔°傛瘡涓猻kynet閮戒細鐭ラ亾鍏朵粬鑺傜偣涓婅閰嶄簡鍝簺鏈嶅姟錛屽ソ璺敱榪囧幓銆?br />


錛?錛夌粍鎾?/p>

    TODO



]]>浜嗚ВMongoDBhttp://m.shnenglu.com/yangsf5/archive/2013/12/05/204608.htmlSheppard YSheppard YThu, 05 Dec 2013 11:07:00 GMThttp://m.shnenglu.com/yangsf5/archive/2013/12/05/204608.htmlhttp://m.shnenglu.com/yangsf5/comments/204608.htmlhttp://m.shnenglu.com/yangsf5/archive/2013/12/05/204608.html#Feedback0http://m.shnenglu.com/yangsf5/comments/commentRss/204608.htmlhttp://m.shnenglu.com/yangsf5/services/trackbacks/204608.html
2016-07-11 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>
http://blog.clawz.me/2013/12/05/13-mongodb-research/

 


    ​MongoDB涓簁-v鏁版嵁搴擄紝浠栦滑瀛樺偍鏂瑰紡涓築SON錛屾搷浣滄帴鍙e熀鏈兘鏄疛SON錛屾煡璇紝鎼滅儲閮藉緢鏂逛究銆?/p>

    ​渚嬪mysql閲屼竴涓〃錛宨d鍜宒ata錛宒ata涓鴻繖鏉¤褰曠殑鏁版嵁錛屾暟鎹負浜嗘墿灞曪紝渚嬪涓嶅悓鐨勮褰曠殑data鍙兘鍖呭惈寰堝瀛楁錛屼笖瀛楁涓嶄竴瀹氱浉鍚岋紝浠ュ悗涔熶細鏈変笉灝戠被鍨嬬殑瀛楁銆傝繖鏃舵垜鎶婅繖浜涗笉紜畾鐨勫瓧孌礶ncode鎴愪竴涓獂ml鎴栬卝son鎴栬卲rotobuf涔嬬被鐨勬暟鎹祦瀛樺埌data閲屻?/p>

    ​榪欎箞鍋氳褰曠殑鍏蜂綋鏁版嵁鍏寵仈鐨勮緇嗘暟鎹墿灞曞緢鐏墊椿浜嗐備絾鏄兂鎼滅儲data閲岀殑鍚勫瓧孌墊椂錛屽湪mysql鏁版嵁搴撻噷灝變笉閭d箞鏂逛究浜嗭紝鍩烘湰瑕侀亶鍘嗐?/p>

    ​榪欎釜鏃跺欏皢榪欎釜data澶囦喚涓浠藉埌MongoDB閲岋紝灝卞緢鏂逛究浜嗐侻ongoDB閲岀殑姣忔潯璁板綍涓轟竴涓猭ey-value錛寁alue鍗沖瓨鍌ㄦ垜浠笂杈圭殑data銆傝繖鏃舵垜浠彇data閲岀殑瀛楁鍋氭潯浠舵煡璇㈡槸MongoDB鐩存帴鏀寔鐨勩?/p>

    ​鍙﹀MongoDB鏀寔鑷姩鍒囩儹澶囷紝鑷姩鍒嗙墖絳夐珮綰у姛鑳?#8230;…

    ​浣嗘槸鍙︿竴鏂歸潰錛岃繖涓笢瑗垮嚭鏉ョ殑涓嶄箙錛岀幇鍦ㄨ繕涓嶆暍灝嗕粬浣滀負鎸佷箙鍖栫殑DB銆備笂杈圭殑渚嬪瓙鏄痬ysql閲屾湁浠芥暟鎹負鐢熶駭鐜鐨勪緷璧栨暟鎹紝澶囦喚鍒癕ongoDB鐨勬暟鎹彧鏄負浜嗘煡璇€侻ongoDB閲屾暟鎹嚭闂鏄病鍏崇郴鐨勩?/p>

]]>pomelo婧愮爜鍒嗘瀽錛?錛?pomelo-synchttp://m.shnenglu.com/yangsf5/archive/2013/12/04/204582.htmlSheppard YSheppard YWed, 04 Dec 2013 06:28:00 GMThttp://m.shnenglu.com/yangsf5/archive/2013/12/04/204582.htmlhttp://m.shnenglu.com/yangsf5/comments/204582.htmlhttp://m.shnenglu.com/yangsf5/archive/2013/12/04/204582.html#Feedback0http://m.shnenglu.com/yangsf5/comments/commentRss/204582.htmlhttp://m.shnenglu.com/yangsf5/services/trackbacks/204582.html
2016-07-11 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>
http://blog.clawz.me/2013/12/04/13-pomelo-read-source-3/

 


    鐜板湪鍒嗘瀽鐨勭増鏈負0.7鐗堛俻omelo-sync錛宲omelo閲岀敤浜庤В鍐蟲父鎴忚繘紼嬩腑闇瑕佹寔涔呭寲鐨勬暟鎹湪鍐呭瓨涓庡瓨鍌ㄧ郴緇熶箣闂寸殑鍚屾闂銆?/p>

 

涓銆乸omelo紼嬪簭濡備綍浣跨敤pomelo-sync

    鏂扮増鏈殑pomelo閲屽寮轟簡鏀寔鐢ㄦ埛鑷鎵╁睍鐨勮兘鍔涖傜敤鎴峰彧鐢ㄥ湪app.use(plugin, opts)灝卞彲浠ヤ簡錛屽叿浣撹鐪媝omelo鐨刟pplication.js閲岀殑use鍑芥暟銆傞渶瑕佽繖涓猵lugin閲屾湁components鎴愬憳銆倁se鍑芥暟閲岋紝pomelo灝唒lugin鐨刢omponets鎵鎸囩殑緇勪歡load璧鋒潵錛屽茍灝唎pts浼犵粰榪欎釜plugin鐨刢omponents銆?/p>

    pomelo-sync鑷韓鍙礋璐e疄鐜癲b鏁版嵁涓庡唴瀛樻暟鎹棿鐨勫畾鏃跺悓姝ワ紝鎵浠ュ彟涓涓」鐩畃omelo-sync-plugin灝卞皢pomelo-sync灝佽鎴愪簡涓涓猚omponet銆俛pp.use(require('pomelo-sync-plugin', opts)灝卞畬鎴愪簡鏁版嵁鍚屾鎻掍歡鐨勮杞姐?/p>

 

浜屻乸omelo-sync

    pomelo-sync鍦ㄦ瀯閫犵殑鏃跺欙紝灝嗗弬鏁伴噷鐨刢lient錛堜笌鎸佷箙鍖栧眰鐨勯摼鎺ワ級銆乵apping錛堝鍚勭鎿嶄綔鐨剆ql璇彞鐨勬槧灝勮〃錛夌瓑璧嬪肩粰鑷繁鐨勭浉搴旀垚鍛樸傛渶鍚庡紑鍚畾鏃跺埛鍐呭瓨鏁版嵁鍒版寔涔呭寲灞傜殑璁℃椂鍣⊿yncTimer銆?/p>

    瀵瑰鎺ュ彛涓嶅彧鍦╠bsync.js閲岋紝榪樺垎甯冨湪lib/commands涓嬬殑鍑犱釜鏂囦歡閲屻傚叾涓璭xec/flush/sync絳夊湪commands/server.js閲屻?/p>

    

錛堜竴錛塸omelo-sync.exec

    pomelo-sync.exec鍑芥暟錛岃鐢ㄦ埛紼嬪簭璋冪敤銆傚皢鐢ㄦ埛鐨勬暟鎹斁鍏omelo-sync.flushQueue鎴栬卲omelo-sync.mergerMap銆?/p>

 

錛堜簩錛塸omelo-sync.flush

    pomelo-sync.flush鍑芥暟錛屽皢鍗曟寫鏁版嵁绔嬪嵆鎸佷箙鍖栥?/p>

 

錛堜簩錛塸omelo-sync.sync

    pomelo-sync.sync鍑芥暟錛岃SyncTimer璋冪敤錛屼篃鍙互琚敤鎴風▼搴忚皟鐢紝绔嬪嵆灝嗗叏閮ㄥ唴瀛樻暟鎹寔涔呭寲銆俿ync鍑芥暟閲岃皟鐢ㄧ殑鏄痳ewriter.js閲岀殑sync銆俽ewriter.sync閲屽皢pomelo-sync.flushQueue鍜宲omelo-sync.mergerMap閲岀殑鏁版嵁閫氳繃rewrite.tick鍒瘋繘鎸佷箙灞傘俽ewriter.tick閲屾槸閫氳繃pomelo-sync.mapping閲岀殑鏄犲皠璋冨搴旂殑sql璇彞鏉ュ疄鐜扮殑銆?/p>

]]>top閲屾樉紺虹殑cpu鐧懼垎姣旇綆楁柟寮?/title><link>http://m.shnenglu.com/yangsf5/archive/2013/11/07/204148.html</link><dc:creator>Sheppard Y</dc:creator><author>Sheppard Y</author><pubDate>Thu, 07 Nov 2013 11:20:00 GMT</pubDate><guid>http://m.shnenglu.com/yangsf5/archive/2013/11/07/204148.html</guid><wfw:comment>http://m.shnenglu.com/yangsf5/comments/204148.html</wfw:comment><comments>http://m.shnenglu.com/yangsf5/archive/2013/11/07/204148.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/yangsf5/comments/commentRss/204148.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/yangsf5/services/trackbacks/204148.html</trackback:ping><description><![CDATA[<pre style="font-family: Consolas, 'Liberation Mono', Courier, monospace; font-size: 12px; margin-top: 0px; margin-bottom: 0px; color: #333333; line-height: 17.99715805053711px;"><div class="c2oaac4" id="LC1" style="padding-left: 10px;"><div></div><fieldset><legend><span style="color: #ff0000; line-height: 17.9972px;">2016-07-11 鏃ユ洿鏂?/span></legend><div><span style="color:red;">姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span><br /><div></div></div><a ><div><div><span style="color:red;">http://blog.clawz.me/2013/11/07/13-top-source/</span></div></div></a></fieldset><a ><div><div></div></div></a><br /><br /> top鐪嬪埌鐨刢pu淇℃伅瑙i噴鐨勪笉鏄緢娓呮櫚錛屽氨鐪嬩笅婧愮爜鎬庝箞鍐欑殑鍚с?/div><div class="mg4g0es" id="LC2" style="padding-left: 10px;">        紼嬪簭寰堢畝鍗曪紝鍩烘湰閮藉湪top.c閲屻?/div><div class="mgc4iiu" id="LC3" style="padding-left: 10px;">        load閲岀殑cpu璇︾粏淇℃伅浠g爜濡備笅錛?/div><div class="g8w4ue4" id="LC4" style="padding-left: 10px;"></div><div class="aaawwqi" id="LC5" style="padding-left: 10px;"><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; "> 1</span> <span style="color: #000000; ">smpcpu </span><span style="color: #000000; ">=</span><span style="color: #000000; "> cpus_refresh(smpcpu);<br /></span><span style="color: #008080; "> 2</span> <span style="color: #000000; "><br /></span><span style="color: #008080; "> 3</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (CHKw(Curwin, View_CPUSUM)) {<br /></span><span style="color: #008080; "> 4</span> <span style="color: #000000; ">        </span><span style="color: #008000; ">//</span><span style="color: #008000; "> display just the 1st /proc/stat line</span><span style="color: #008000; "><br /></span><span style="color: #008080; "> 5</span> <span style="color: #008000; "></span><span style="color: #000000; ">        summaryhlp(</span><span style="color: #000000; ">&</span><span style="color: #000000; ">smpcpu[Cpu_tot], </span><span style="color: #000000; ">"</span><span style="color: #000000; ">Cpu(s):</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; "> 6</span> <span style="color: #000000; ">} </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> {<br /></span><span style="color: #008080; "> 7</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> i;<br /></span><span style="color: #008080; "> 8</span> <span style="color: #000000; ">        </span><span style="color: #0000FF; ">char</span><span style="color: #000000; "> tmp[SMLBUFSIZ];<br /></span><span style="color: #008080; "> 9</span> <span style="color: #000000; ">        </span><span style="color: #008000; ">//</span><span style="color: #008000; "> display each cpu's states separately</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span> <span style="color: #008000; "></span><span style="color: #000000; ">        </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> (i </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">; i </span><span style="color: #000000; "><</span><span style="color: #000000; "> Cpu_tot; i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">) {<br /></span><span style="color: #008080; ">11</span> <span style="color: #000000; ">                snprintf(tmp, </span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(tmp), </span><span style="color: #000000; ">"</span><span style="color: #000000; ">Cpu%-3d:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, smpcpu[i].id);<br /></span><span style="color: #008080; ">12</span> <span style="color: #000000; ">                summaryhlp(</span><span style="color: #000000; ">&</span><span style="color: #000000; ">smpcpu[i], tmp);<br /></span><span style="color: #008080; ">13</span> <span style="color: #000000; ">        }<br /></span><span style="color: #008080; ">14</span> <span style="color: #000000; ">}</span></div></div><div class="s4ysqqc" id="LC21" style="padding-left: 10px;">        </div><div class="ksi6s6a" id="LC22" style="padding-left: 10px;">        Cpu_tot涓篶pu鏁伴噺銆?/div><div class="wc64wgk" id="LC23" style="padding-left: 10px;">        cpus_refresh鍑芥暟閲屼粠/proc/stat鏂囦歡閲岃鍏pu淇℃伅錛岀劧鍚庤鍏mpcpu閲屻俿mpcpu涓哄ぇ灝忎負Cpu_tot+1涓狢PU_t鎴愬憳鐨勬暟緇勩?/div><div class="ssyaguq" id="LC24" style="padding-left: 10px;">        /proc/stat鏂囦歡鐨勫ご鍑犺涓猴細</div><div class="c4yqosa" id="LC25" style="padding-left: 10px;"><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">cpu </span><span style="color: #000000; ">%</span><span style="color: #000000; ">d </span><span style="color: #000000; ">%</span><span style="color: #000000; ">d <img src="http://m.shnenglu.com/Images/dot.gif" alt="" /><br />cpu0 </span><span style="color: #000000; ">%</span><span style="color: #000000; ">d </span><span style="color: #000000; ">%</span><span style="color: #000000; ">d <img src="http://m.shnenglu.com/Images/dot.gif" alt="" /><br />cpu1 </span><span style="color: #000000; ">%</span><span style="color: #000000; ">d </span><span style="color: #000000; ">%</span><span style="color: #000000; ">d <img src="http://m.shnenglu.com/Images/dot.gif" alt="" /><br /><img src="http://m.shnenglu.com/Images/dot.gif" alt="" /></span></div></div><div class="a4yui4q" id="LC29" style="padding-left: 10px;">        絎竴琛岀殑cpu淇℃伅瑁呭叆smpcpu[Cpu_tot]錛屼箣鍚庣殑cpu0\cpu1\...瑁呭叆smpcpu[0]\smpcpu[1\...銆?/div><div class="y4s666u" id="LC30" style="padding-left: 10px;">        View_CPUSUM榪欎釜鐢?閿潵鎺у埗鐨勯偅涓紑鍏籌紝寮鍏沖叧闂椂鍙樉紺簊mpcpu鐨凜pu_tot錛屽紑鍏沖紑鍚椂鏄劇ず鐨勬槸smpcpu鐨勪笅鏍?~Cpu_tot-1鐨勬垚鍛樸傚嵆錛宼op鐨勯粯璁ゅ湪寮澶存樉紺虹殑cpu璇︾粏淇℃伅鏄劇ず鐨勬槸/proc/stat鐨勭涓琛屽鐞嗗悗錛屾寜涓?閿紝鏄劇ず鐨勬椂/proc/stat鍚庣畫鍚刢pu鏁版嵁銆?/div><div class="46saiou" id="LC31" style="padding-left: 10px;">        /proc/stat閲岄兘鏄暟瀛楋紝涓嬭竟鐪嬬湅top閲屾樉紺虹殑鐧懼垎姣旀庝箞綆楃殑銆?/div><div class="246ie4g" id="LC32" style="padding-left: 10px;"></div><div class="cmemue6" id="LC33" style="padding-left: 10px;">        CPU_t鐨勫畾涔夛細</div><div class="swuskya" id="LC34" style="padding-left: 10px;"><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; "> 1</span> <span style="color: #008000; ">//</span><span style="color: #008000; "> These typedefs attempt to ensure consistent 'ticks' handling</span><span style="color: #008000; "><br /></span><span style="color: #008080; "> 2</span> <span style="color: #008000; "></span><span style="color: #000000; ">typedef unsigned </span><span style="color: #0000FF; ">long</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">long</span><span style="color: #000000; "> TIC_t;<br /></span><span style="color: #008080; "> 3</span> <span style="color: #000000; ">typedef          </span><span style="color: #0000FF; ">long</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">long</span><span style="color: #000000; "> SIC_t;<br /></span><span style="color: #008080; "> 4</span> <span style="color: #000000; "><br /></span><span style="color: #008080; "> 5</span> <span style="color: #000000; "></span><span style="color: #008000; ">//</span><span style="color: #008000; "> This structure stores a frame's cpu tics used in history<br /></span><span style="color: #008080; "> 6</span> <span style="color: #008000; "></span><span style="color: #008000; ">//</span><span style="color: #008000; "> calculations.  It exists primarily for SMP support but serves<br /></span><span style="color: #008080; "> 7</span> <span style="color: #008000; "></span><span style="color: #008000; ">//</span><span style="color: #008000; "> all environments.</span><span style="color: #008000; "><br /></span><span style="color: #008080; "> 8</span> <span style="color: #008000; "></span><span style="color: #000000; ">typedef </span><span style="color: #0000FF; ">struct</span><span style="color: #000000; "> CPU_t {<br /></span><span style="color: #008080; "> 9</span> <span style="color: #000000; ">        TIC_t u, n, s, i, w, x, y, z; </span><span style="color: #008000; ">//</span><span style="color: #008000; "> as represented in /proc/stat</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span> <span style="color: #008000; "></span><span style="color: #000000; ">        TIC_t u_sav, s_sav, n_sav, i_sav, w_sav, x_sav, y_sav, z_sav; </span><span style="color: #008000; ">//</span><span style="color: #008000; "> in the order of our display</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">11</span> <span style="color: #008000; "></span><span style="color: #000000; ">        unsigned id;  </span><span style="color: #008000; ">//</span><span style="color: #008000; "> the CPU ID number</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">12</span> <span style="color: #008000; "></span><span style="color: #000000; ">} CPU_t;</span></div></div><div class="iew42oc" id="LC48" style="padding-left: 10px;">        姣忔浠?proc/stat鍙栫殑鏁版嵁縐頒負涓甯х殑鏁版嵁錛屼細浠庡埌CPU_t緇撴瀯浣撶殑絎竴琛屾垚鍛橀噷錛屼笂嬈$殑鏁版嵁鍗充笂涓甯х殑鏁版嵁灝辨嫹鍒癈PU_t鐨勭浜屾帓甯sav鍚庣紑鐨勬垚鍛橀噷錛屼竴涓瀵瑰簲銆?/div><div class="wwmic6s" id="LC49" style="padding-left: 10px;">        summaryhlp鍑芥暟閲岃綆楁垜浠兂鐪嬬殑cpu鍚勮緇嗘寚鏍囩殑鐧懼垎姣斻傚彧鍙栭儴鍒嗕唬鐮佹垨浼爜鍋氭紨紺猴細</div><div class="s4egg6c" id="LC50" style="padding-left: 10px;"><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; "> 1</span> <span style="color: #000000; ">SIC_t u_frme, s_frme, n_frme, i_frme, w_frme, x_frme, y_frme, z_frme, tot_frme, tz;<br /></span><span style="color: #008080; "> 2</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">float</span><span style="color: #000000; "> scale;<br /></span><span style="color: #008080; "> 3</span> <span style="color: #000000; ">u_frme </span><span style="color: #000000; ">=</span><span style="color: #000000; "> cpu</span><span style="color: #000000; ">-></span><span style="color: #000000; ">u </span><span style="color: #000000; ">-</span><span style="color: #000000; "> cpu</span><span style="color: #000000; ">-></span><span style="color: #000000; ">u_sav;<br /></span><span style="color: #008080; "> 4</span> <span style="color: #000000; ">s_frme </span><span style="color: #000000; ">=</span><span style="color: #000000; "> cpu</span><span style="color: #000000; ">-></span><span style="color: #000000; ">s </span><span style="color: #000000; ">-</span><span style="color: #000000; "> cpu</span><span style="color: #000000; ">-></span><span style="color: #000000; ">s_sav;<br /></span><span style="color: #008080; "> 5</span> <span style="color: #000000; "><img src="http://m.shnenglu.com/Images/dot.gif" alt="" /><br /></span><span style="color: #008080; "> 6</span> <span style="color: #000000; ">tot_frme </span><span style="color: #000000; ">=</span><span style="color: #000000; "> u_frme </span><span style="color: #000000; ">+</span><span style="color: #000000; "> s_frme </span><span style="color: #000000; ">+</span><span style="color: #000000; "> n_frme </span><span style="color: #000000; ">+</span><span style="color: #000000; "> i_frme </span><span style="color: #000000; ">+</span><span style="color: #000000; "> w_frme </span><span style="color: #000000; ">+</span><span style="color: #000000; "> x_frme </span><span style="color: #000000; ">+</span><span style="color: #000000; "> y_frme </span><span style="color: #000000; ">+</span><span style="color: #000000; "> z_frme;<br /></span><span style="color: #008080; "> 7</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (tot_frme </span><span style="color: #000000; "><</span><span style="color: #000000; "> </span><span style="color: #000000; ">1</span><span style="color: #000000; ">) tot_frme </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; "> 8</span> <span style="color: #000000; ">scale </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">100.0</span><span style="color: #000000; "> </span><span style="color: #000000; ">/</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">float</span><span style="color: #000000; ">)tot_frme;<br /></span><span style="color: #008080; "> 9</span> <span style="color: #000000; "><br /></span><span style="color: #008080; ">10</span> <span style="color: #000000; ">us</span><span style="color: #000000; ">%</span><span style="color: #000000; "> </span><span style="color: #000000; ">=</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">float</span><span style="color: #000000; ">)u_frme </span><span style="color: #000000; ">*</span><span style="color: #000000; "> scale;<br /></span><span style="color: #008080; ">11</span> <span style="color: #000000; ">sy</span><span style="color: #000000; ">%</span><span style="color: #000000; "> </span><span style="color: #000000; ">=</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">float</span><span style="color: #000000; ">)s_frme </span><span style="color: #000000; ">*</span><span style="color: #000000; "> scale;<br /></span><span style="color: #008080; ">12</span> <span style="color: #000000; "><img src="http://m.shnenglu.com/Images/dot.gif" alt="" /><br /></span><span style="color: #008080; ">13</span> <span style="color: #000000; ">cpu</span><span style="color: #000000; ">-></span><span style="color: #000000; ">u_sav </span><span style="color: #000000; ">=</span><span style="color: #000000; "> cpu</span><span style="color: #000000; ">-></span><span style="color: #000000; ">u;<br /></span><span style="color: #008080; ">14</span> <span style="color: #000000; ">cpu</span><span style="color: #000000; ">-></span><span style="color: #000000; ">s_sav </span><span style="color: #000000; ">=</span><span style="color: #000000; "> cpu</span><span style="color: #000000; ">-></span><span style="color: #000000; ">s;<br /></span><span style="color: #008080; ">15</span> <span style="color: #000000; "><img src="http://m.shnenglu.com/Images/dot.gif" alt="" /></span></div></div><div class="kace6y4" id="LC67" style="padding-left: 10px;"></div><div class="ia6yac6" id="LC68" style="padding-left: 10px;">        姣忎釜榪涚▼鍗燾pu鐧懼垎姣旇綆楋細</div><div class="4i2aw22" id="LC69" style="padding-left: 10px;"><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span> <span style="color: #000000; ">Frame_tscale </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">100.0f</span><span style="color: #000000; "> </span><span style="color: #000000; ">/</span><span style="color: #000000; "> ((</span><span style="color: #0000FF; ">float</span><span style="color: #000000; ">)Hertz </span><span style="color: #000000; ">*</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">float</span><span style="color: #000000; ">)et </span><span style="color: #000000; ">*</span><span style="color: #000000; "> (Rc.mode_irixps </span><span style="color: #000000; ">?</span><span style="color: #000000; "> </span><span style="color: #000000; ">1</span><span style="color: #000000; "> : Cpu_tot));<br /></span><span style="color: #008080; ">2</span> <span style="color: #000000; "></span><span style="color: #0000FF; ">float</span><span style="color: #000000; "> u </span><span style="color: #000000; ">=</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">float</span><span style="color: #000000; ">)p</span><span style="color: #000000; ">-></span><span style="color: #000000; ">pcpu </span><span style="color: #000000; ">*</span><span style="color: #000000; "> Frame_tscale;</span></div></div><div class="iy6ys6q" id="LC73" style="padding-left: 10px;">        綆楃殑鏄袱甯т箣闂存繪椂闂寸墖鏁伴噺錛屽悇榪涚▼鍗犵殑鏃墮棿鐗囨暟閲忕櫨鍒嗘瘮銆?/div></pre><img src ="http://m.shnenglu.com/yangsf5/aggbug/204148.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/yangsf5/" target="_blank">Sheppard Y</a> 2013-11-07 19:20 <a href="http://m.shnenglu.com/yangsf5/archive/2013/11/07/204148.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>pomelo0.5.5婧愮爜鍒嗘瀽錛?錛?閫氫俊http://m.shnenglu.com/yangsf5/archive/2013/09/05/203041.htmlSheppard YSheppard YThu, 05 Sep 2013 15:09:00 GMThttp://m.shnenglu.com/yangsf5/archive/2013/09/05/203041.htmlhttp://m.shnenglu.com/yangsf5/comments/203041.htmlhttp://m.shnenglu.com/yangsf5/archive/2013/09/05/203041.html#Feedback0http://m.shnenglu.com/yangsf5/comments/commentRss/203041.htmlhttp://m.shnenglu.com/yangsf5/services/trackbacks/203041.html
2016-07-11 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>
http://blog.clawz.me/2013/09/05/13-pomelo-read-source-2/

 


涓銆佸鎴風涓庢湇鍔″櫒鐨勯氫俊

    瀹㈡埛绔殑閫氫俊鍦╬omelo-client閲屽皝瑁呬簡銆?/p>

    鏈嶅姟鍣ㄤ笌瀹㈡埛绔殑閫氫俊鍦╟onnector閲屻傚簳灞傛彁渚泈ebsocket銆乼cp鍜宻ocket.io涓夌鏂瑰紡鐨勯氫俊銆?/p>

錛堜竴錛塩onnector緇勪歡錛坈omponents/connector.js錛?/p>

    緇勪歡鏋勯犲嚱鏁伴噷浼歵his.connector浠巓pts閲屽彇connector錛屾垨鑰呴粯璁や負connectors/sioconnector.js銆傦紙connector鐨勫疄鐜皊ioconnector鍜宧ybridconnector錛?/p>

    緇勪歡鐨剆tart閲屼細灝唗his.server\this.session\this.connection鍒嗗埆鏄犲皠鍒癮pp鐨勫搴旂殑緇勪歡涓娿?/p>

    緇勪歡鐨刟fterStart閲宼his.connector.start錛屽茍鐩戝惉this.connector鐨?connection'浜嬩歡銆?/p>

        'connection'浜嬩歡澶勭悊涓猴細

        灝哻onnection鍏寵仈涓涓猻ession錛岀洃鍚瑂ocket鐨刴essage浜嬩歡錛屾帴鍙楀埌message鏃禿ecode message錛屽啀灝唌essage浜ょ粰server緇勪歡鐨刪andle錛屽鐞嗗畬鍥炶皟閲屽啀灝嗚繑鍥炰俊鎭湪connector緇勪歡鐨剆end閲屽鐞嗐?/p>

        鍙﹀鐩戝惉session鐨?bind'浜嬩歡錛屽鐞嗗嚱鏁頒負錛岃皟鐢╟onnection.addLoginedUser銆?/p>

    緇勪歡閲岀殑send錛宔ncode reponse鐨刴essage錛岀劧鍚庝氦緇檚chedule緇勪歡鐨剆chedule銆?/p>

 

錛堜簩錛塰ybridconnector鐨勫疄鐜?/p>

    connectors/hybridconnector.js浠ュ強connectors/hybird銆俬yrbird瀹炵幇浜嗗師鐢焥ocket鍜寃ebsocket涓ょ銆?/p>

    hybridconnector.start閲屼細this.tcpServer=net.createServer錛岀劧鍚庢妸浠ヨ繖涓猼cpServer涓哄弬鏁板垱寤轟竴涓猻witcher銆備箣鍚庡湪switcher鐨?connection'浜嬩歡閲屽皢tcpsocket瑁呰繘hybridsocket銆?/p>

錛?錛塰ybrid/switcher.js

    switcher鏋勯犲嚱鏁版帴鍙椾竴涓猻erver鍙傛暟錛屽茍鍒涘緩this.wsprocessor鍜宼his.tcpprocessor銆?/p>

    switcher鐩戝惉鍙傛暟server鐨?connection'浜嬩歡錛屼簨浠跺鐞嗗嚱鏁伴噷鐩戝惉鍘熺敓socket鐨?data'浜嬩歡錛屽垽鏂璬ata鏄惁鏈塰ttp澶達紝濡傛灉鏈夛紝鍒欒皟鐢╳sprocessor.add錛岃繖涓猘dd浼氬悜澶杄mit 'connection'錛堜簨浠跺弬鏁頒負鍘熺敓socket錛夛紝騫跺悜socket emit 'data'浜嬩歡錛涘惁鍒欓潪http錛屽垯璋冪敤tcpprocessor.add錛岃繖涓猘dd浼氫互鍒氭墠鐨勫師鐢焥ocket涓哄弬鏁板垱寤轟竴涓猼cpsocket錛屽悓鏃跺悜tcpprocessor emit 'connection'錛堜簨浠跺弬鏁頒負鍘熺敓tcpsocket錛夈佸悜榪欎釜鍘熺敓socket emit 'data'浜嬩歡銆?/p>

    switcher涔熺洃鍚簡this.wsprocessor鍜宼his.tcpprocessor鐨?connection'浜嬩歡錛屽鐞嗕負鍚憇witcher鑷繁emit 'connection'銆傛葷粨錛宻witcher鐨勮亴璐o紝灝唖ocket鐨勫瓧鑺傛祦data鎷兼垚鍖咃紝浠?message'浜嬩歡鍚戝emit涓涓釜鐨勫畬鎴愬寘msg銆?/p>

    鍒氭墠鎻愬埌鐨則cpsocket.js榪欓噷澶勭悊鍘熺敓socket鐨勬搷浣溿傜洃鍚簡鍘熺敓socket鐨?data'銆?end'銆?error'銆?close'浜嬩歡銆備緥濡傚湪'data'澶勭悊鏃訛紝褰撹鍏ョ殑嫻侀暱搴﹀涓涓寘鐨刡ody鍚庡氨鍚憈cpsocket emit 'message'銆?/p>

錛?錛塰ybridsocket.js

    灝唖ocket鍜寃ebsocket灝佽涓虹粺涓鎺ュ彛銆傛瀯閫犲嚱鏁伴噷鎺ュ彈涓涓猧d鍜宻ocket鍙傛暟銆?/p>

    hybridsocket鐩戝惉tcpsocket鐨?message'浜嬩歡錛屽皢msg decode錛屼箣鍚庡鐞嗐備緥濡侾ackage.TYPE_DATA綾誨瀷鐨刴sg錛屽氨灝嗚繖涓猰sg鍐嶅悜hybridsocket鑷繁emit涓涓?message'浜嬩歡錛屽叾浠栧彲鑳芥槸'handshake'鎴?heartbeat'浜嬩歡銆?/p>

 

錛堜笁錛塻erver緇勪歡

    瀹樻柟鎻忚堪濡備笅“妯″潡浣挎湇鍔″櫒鍏峰澶勭悊瀹㈡埛绔姹傜殑鑳藉姏銆傝妯″潡涓昏瀹炵幇浜唂ilter鏈嶅姟錛屾牴鎹綋鍓嶆湇鍔″櫒綾誨瀷錛屽姞杞藉搴攈andler/鐩綍涓嬬殑浠g爜錛屽茍鍐沖畾涓涓姹傚簲璇ユ槸鍦ㄥ綋鍓嶆湇鍔″櫒澶勭悊榪樻槸搴旇璺敱緇欏叾浠栨湇鍔″櫒澶勭悊銆?#8221;錛屼笅闈㈢湅鐪嬩唬鐮佹祦紼嬨?/p>

    緇勪歡鐨剆tart閲屽垵濮嬪寲filter鍜宧andler銆?/p>

 

浜屻佹湇鍔″櫒涔嬮棿鐨勯氫俊

 

 

涓夈佹鏋惰皟鐢?/p>

 

鍥涖乻ession

錛堜竴錛塻ession緇勪歡錛坈omponents/session.js錛?/p>

    session緇勪歡鐩存帴鐢ㄧ殑common/service/sessionService銆?/p>

錛堜簩錛塻essionService

錛?錛塖ession錛坥bject錛?/p>

    Session閲岀淮鎶ょ殑socket鍜寀ser淇℃伅鐨勪箣闂寸殑瀵瑰簲鍏崇郴銆傛瘡涓猻ocket鏈変釜瀵瑰簲鐨凷ession錛岄獙璇佺敤鎴瘋韓浠藉悗灝卞皢浠栦滑緇戝畾銆?/p>

    Session鏋勯犲嚱鏁版帴鍙楀弬鏁皊ocket id\frontendId\socket\service銆?/p>

    Session閫氳繃bind\unbind鍑芥暟灝唘id緇戝埌this.uid閲岋紝騫秂mit 'bind'\'unbind'浜嬩歡銆?/p>

    Session鐨剆et\get鍑芥暟鏉ョ粰Session璁懼彇鍊鹼紝鐢眛his.settings緇存姢銆?/p>

    Session鐨剆end\sendBatch閮芥槸鐩存帴閫氳繃鏋勯犳椂浼犲叆鐨勯偅涓猻ocket鏉ユ搷浣溿?/p>

錛?錛塎ockLocalSession錛坥bject錛?/p>

錛?錛塖essionService錛坥bject錛?/p>

    璐熻矗瀵筍ession鐨勭鐞嗐傛瀯閫犲嚱鏁伴噷灝唗his.sessions鍜宼his.uidMap鍒濆涓虹┖琛ㄣ?/p>

    SessionService鐨刢reate璐熻矗new Session錛屽茍鏀懼埌this.sessions閲屻?/p>

    bind\unbind鍑芥暟璐熻矗灝嗕紶鍏ョ殑sid\uid瀵瑰簲緇戝畾鍒皌his.sessions\this.uidMap閲屻倁idMap閲屾瘡涓厓绱犳槸涓暟緇勶紝鎵浠ユ瘡涓猽id鍙互瀵瑰簲澶氫釜session錛燂紙榪欎釜浠ュ悗鍐嶅叿浣撲簡瑙d笅錛?/p>

    sendMessage\sendMessageByUid鏍規嵁sid\uid寰瀵瑰簲鐨剆ession鎴杝essions鍙戞秷鎭?/p>

    鍏朵粬鍑芥暟涓嶄竴涓鍒椾婦浜嗐?/p>

 

錛堜笁錛塻ession鐨勪嬌鐢?/p>

    鐪嬩簡涓媍hatofpomelo閲岋紝鏄湪connector/handler/entryHandler.js閲岀殑enter鍑芥暟錛岀洿鎺ョ敤浜唖ession.bind銆傜畝鍗曠敤娉曞氨鏄湪鑷繁欏圭洰鐨勯獙璇乽id鍚庤嚜宸辯粦瀹氥?/p>

 

浜斻乸omelo-rpc

錛堜竴錛塺pc-client

    client.create\mailstation.create\mailstation.mailboxFactory鎸傝澆mailbox\

    client.start(callback)\mailstation.start&callback

    client.addProxies(remote-calls)\proxy.create\

錛堜簩錛塺pc-server

    lib/rpc-server/server灝嗚繙紼嬭皟鐢ㄥ鐞嗕笅錛屽姞鍒皁pts.services閲岋紝鐒跺悗閫氳繃gateway鏉isten绔彛鍜屽鐞唌essage銆?/p>

]]>pomelo0.5.5婧愮爜鍒嗘瀽錛?錛?緇勪歡http://m.shnenglu.com/yangsf5/archive/2013/08/15/202563.htmlSheppard YSheppard YThu, 15 Aug 2013 12:31:00 GMThttp://m.shnenglu.com/yangsf5/archive/2013/08/15/202563.htmlhttp://m.shnenglu.com/yangsf5/comments/202563.htmlhttp://m.shnenglu.com/yangsf5/archive/2013/08/15/202563.html#Feedback0http://m.shnenglu.com/yangsf5/comments/commentRss/202563.htmlhttp://m.shnenglu.com/yangsf5/services/trackbacks/202563.html
2016-07-11 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>

 

    鐢變簬鎵嶆帴瑙odejs鍑犲ぉ錛岀湅婧愮爜鏃跺悇縐嶇粏鑺傚拰璁捐鏂規硶閮藉緱鐔熸倝涓嬨傜粨鍚坈hatofpomelo-websocket錛屽厛浠巔omelo鐨勪嬌鐢ㄥ叆鍙e紑濮嬬湅銆?/p>

 

涓銆乧hatofpomelo鐨勫紑鍚祦紼?/p>

    Pomelo.createApp鍑烘潵Application錛岀劧鍚嶢pplication.start灝卞紑鍚簡銆?/p>

    createApp鏃朵細璋傾pplication.init鏉ュ仛鍒濆鍖栥?/p>

    init閲岃皟AppUtil.defaultConfiguration鏉ヨ鍏ラ粯璁ら厤緗備緥濡備粠master.json閲岃鍏aster閰嶇疆錛圓pplication.master錛夛紝浠巗ervers.json閲岃鍏ユ湇鍔″櫒闆嗙兢鍚勮繘紼嬬殑type銆乭ost鍜宲ort閰嶇疆錛堝彲浠ラ氳繃Application.get("__serverMap__")鑾峰彇錛夈?/p>

 

浜屻佺粍浠剁殑鎸傝澆

    緇勪歡鏀懼湪components鐩綍涓嬨傚悇緇勪歡鍙互閫氳繃Pomelo.components鎴栬呯洿鎺ラ氳繃Pomelo鏉ユ寜鍚嶅彇銆備篃鍙互閫氳繃Application.components鏉ユ寜鍚嶅彇錛堟瘡涓粍浠剁殑鍚嶅瓧鍦ㄨ嚜宸辯殑name灞炴ч噷錛岄氬父涓簀s鏂囦歡鍚嶅姞鍓嶅悗鍙屼笅鍒掔嚎錛屼緥濡俢onnector.js鐨勭粍浠跺悕涓?#8220;__connector__”錛夈?/p>

    涓嬮潰鐪嬩笅緇勪歡鐨勬寕杞藉拰榪愯銆?/p>

    Pomelo閲屼細閬嶅巻componets鐩綍閲岀殑鍚勪釜js鏂囦歡錛岀劧鍚巖equire鍒癙omelo閲屽拰Pomelo.components閲屻?/p>

    Application.start閲屽厛璋冪敤AppUtil.loadDefaultComponents錛宭oadDefaultComponents閲屼細鏍規嵁Application.serverType鏉pplication.load闇瑕佺殑components銆?/p>

    Application.load閲屼細灝哖omelo閲岀殑components鏀懼埌鑷繁鐨刢omponents閲屻?/p>

    Application.start/stop/afterStart絳夋柟娉曚細緇熶竴鎵ц鍚刢omponents閲岀殑瀵瑰簲start/stop/afterStart絳夋柟娉曘?/p>

 

涓夈乸s

    ​榪欑瘒鍙戣〃鍚庯紝鍦╣oogle閲屾悳浜嗕笅錛堟垜鐨勪竴鐐規伓瓚e懗錛氱粡甯稿彂琛ㄩ殢絎斿悗浼氱湅鐪嬫悳绱㈠紩鎿庢敹褰曚簡娌★級“pomelo 婧愮爜鍒嗘瀽 緇勪歡”錛屽彂鐜頒簡pomelo瀹樻柟wiki閲屽叧浜庣粍浠剁殑璇存槑錛屽鎬箣鍓嶅噯澶囩湅緇勪歡鏃舵病鎼滃埌銆傚垎鏋愭簮鐮佷箣鍓嶄篃嫻忚浜嗕笅瀹樻柟wiki錛屽簲璇ユ槸鍋忓悜浜庝簡瑙eぇ姒備簡錛屽悇緇嗚妭娌′簡澶ぇ鍗拌薄銆?/p>

    ​涓嶈繃瀹樻柟宸茬粡鏈変簡涔熸病鍏崇郴錛岄殢絎旂粰浜哄弬鑰冪殑浠峰煎彉灝忓悗錛屽氨褰撹嚜宸辯殑絎旇鍚с?/p>

    ​鍙﹀緗戜笂涔熸湁浜沺omelo鐨勬簮鐮佸垎鏋愪簡錛屼絾鏄湅浜嗙溂錛岃窡鎴戞兂瑕佺殑涓嶅お涓鏍楓?/p>

 

闄勫畼鏂圭粍浠秝iki錛?/p>

  1. Pomelo-Framework閲岀殑緇勪歡閮ㄥ垎錛?a >https://github.com/NetEase/pomelo/wiki/Pomelo-Framework

  2. Pomelo-緇勪歡錛?a >https://github.com/NetEase/pomelo/wiki/Pomelo-%E7%BB%84%E4%BB%B6

 



]]>鎳掍漢鍘ㄦ埧http://m.shnenglu.com/yangsf5/archive/2013/07/17/201910.htmlSheppard YSheppard YWed, 17 Jul 2013 13:13:00 GMThttp://m.shnenglu.com/yangsf5/archive/2013/07/17/201910.htmlhttp://m.shnenglu.com/yangsf5/comments/201910.htmlhttp://m.shnenglu.com/yangsf5/archive/2013/07/17/201910.html#Feedback0http://m.shnenglu.com/yangsf5/comments/commentRss/201910.htmlhttp://m.shnenglu.com/yangsf5/services/trackbacks/201910.html
2016-07-08 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>
http://blog.clawz.me/2013/07/17/13-lazy-cook/

 

 

    鏈夋椂鍊欏繖浜嗕竴澶╀笅鐝悗錛屽拰濂蟲湅鍙嬮兘涓嶆兂鍋氶キ錛屽コ鏈嬪弸灝卞彈鎳掍漢澶╂皵app錛堥噷杈圭獊鍑烘樉紺洪噸瑕佷俊鎭紝鍏朵粬閮芥病鏈夛紝榪欐牱涓鐪煎氨鑳界湅鍒版兂瑕佺殑錛夌殑褰卞搷錛岃冭檻鍐欎釜鎳掍漢鍘ㄦ埧鐨刟pp銆?/div>
    鍏跺疄濂蟲湅鍙嬫兂鐨勬噿浜哄帹鎴胯窡閭d釜鎳掍漢澶╂皵鐨勫叧鑱斿氨鏄?#8220;鎳掍漢”錛岋細錛?/div>
    濂蟲湅鍙嬪湪鐪媋ndroid鏂歸潰鐨勮祫鏂欙紝鏆傛椂鍙堝緱蹇熷啓濂絘pp錛屾垜灝卞厛鍦╣ithub寮涓」鐩紝鍏堟妸鎯沖埌鐨勮彍鍚嶇粰璁頒笅鏉ュ惂錛屼互鍚庡啀鎱㈡參鐪嬫庝箞鍘繪紨鍙樿繖涓」鐩?#8212;—鏄彧鍋氬紑鏀炬枃妗e艦寮忥紝榪樻槸婕斿彉鎴愪釜app涔嬬被鐨勩?/div>
    欏圭洰緗戝潃錛?a >https://github.com/yangsf5/lazycook

     榪欎釜鍚庢潵娌℃悶璧鋒潵錛岃佸﹩閭d篃涓嶆兂鍋氫簡錛屽搱鍝堝搱銆?/div>
     綆鍗曡皥涓嬭繖涓簨鎯呭惂錛屾劅瑙夊仛鑿滃鏉傜殑璇濆お鑰楄垂鏃墮棿錛屽彲浠ラ潬澶氱粌涔犳潵澧炲姞鐔熺粌搴︼紝鍚勪釜姝ラ涔熸參鎱㈡牴鎹粡楠屾潵浼樺寲錛屾潵鍋氬ソ鏃墮棿緇熺銆?/div>



]]> 人妻无码αv中文字幕久久| 国产叼嘿久久精品久久| 欧美性大战久久久久久| 久久中文字幕精品| 久久综合亚洲色一区二区三区| 国产精品久久久久久五月尺| 少妇精品久久久一区二区三区| 国产成人久久精品一区二区三区| 国产精品一区二区久久精品无码| 亚洲国产成人久久精品99| 久久人人爽人人爽人人片av麻烦| 亚洲精品午夜国产VA久久成人| 91精品国产高清久久久久久io| 国产精品狼人久久久久影院| 久久精品国产亚洲AV不卡| 久久久久免费精品国产| 久久亚洲国产最新网站| 成人资源影音先锋久久资源网| 久久男人中文字幕资源站| 欧美亚洲色综久久精品国产| 久久se精品一区精品二区国产| 久久人妻无码中文字幕| 久久久久国色AV免费观看| 久久青青草原精品国产| 日批日出水久久亚洲精品tv| 国产欧美久久久精品| 久久天天躁狠狠躁夜夜avapp| 久久99国产精品99久久| 中文字幕无码精品亚洲资源网久久 | 久久久久高潮综合影院| 狠狠色丁香婷婷综合久久来来去 | 欧美日韩精品久久久久| 99久久人人爽亚洲精品美女| 国产成人久久精品激情| 久久香蕉国产线看观看精品yw| 国产美女亚洲精品久久久综合| 久久99精品久久久久久秒播| 国产高清美女一级a毛片久久w| 99久久777色| 中文字幕一区二区三区久久网站| 精品久久一区二区三区|