锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产人久久人人人人爽,欧美国产日韩一区二区,亚洲精品资源美女情侣酒店http://www.shnenglu.com/yangsf5/category/20468.htmlkeep thinking keep coding.zh-cnTue, 12 Jul 2016 18:54:24 GMTTue, 12 Jul 2016 18:54:24 GMT60璇匯奙ysql鎬ц兘璋冧紭涓庢灦鏋勮璁°嬬瑪璁?/title><link>http://www.shnenglu.com/yangsf5/archive/2014/05/04/206818.html</link><dc:creator>Sheppard Y</dc:creator><author>Sheppard Y</author><pubDate>Sun, 04 May 2014 10:38:00 GMT</pubDate><guid>http://www.shnenglu.com/yangsf5/archive/2014/05/04/206818.html</guid><wfw:comment>http://www.shnenglu.com/yangsf5/comments/206818.html</wfw:comment><comments>http://www.shnenglu.com/yangsf5/archive/2014/05/04/206818.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/yangsf5/comments/commentRss/206818.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yangsf5/services/trackbacks/206818.html</trackback:ping><description><![CDATA[<div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div><div style="orphans: 2; text-align: -webkit-auto; widows: 2;"><div></div><fieldset><legend><span style="color: #ff0000; line-height: normal;">2016-07-12 鏃ユ洿鏂?nbsp;</span></legend><div><span style="line-height:normal;color:red;">姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?br /></span><div></div></div><a ><div><div><span style="color:red;">http://blog.clawz.me/2014/05/04/14-note-of-mysql-book/</span></div></div></a></fieldset><a ><div><div></div></div></a><br /><font face="寰蔣闆呴粦" size="3"><span style="line-height: normal;">涓銆佽儗鏅?/span></font></div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     榪欏嚑澶╁湪review鍏徃欏圭洰mysql榪欏潡鐨勬灦鏋勶紝緗戜笂google鍑烘潵鐨勪笢瑗垮ぇ澶氭槸鐨瘺錛堢壒鍒竴浜涗腑鏂囩珯鐐歸噷鐨勶紝鑻辨枃鐨勮瘽闃呰鍜屾秷鍖栭兘姣旇緝鎱紝闄ら潪涓嶅緱宸詫級錛屾湁浜涜繕鏄庢樉鏈変簺閿欒銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     涔嬪墠鐪嬨奌ttp鏉冨▉鎸囧崡銆嬬殑鐢滃ご榪樺湪錛堝姞涓婃湁浜涚Н绱幇鍦ㄧ湅鎶鏈功閫熷害涔熷揩浜嗭級錛屾墍浠ヨ刀绱ф壘浜涜川閲忛珮鐨刴ysql鏂歸潰鐨勪功鐪嬶紝鎵懼埌涓鏈樋閲屼漢鍐欑殑銆奙ysql鎬ц兘璋冧紭涓庢灦鏋勮璁°嬶紝Fenng涔熸湁鍋氬簭鎺ㄨ崘銆?nbsp;    </div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     姝f枃閮ㄥ垎涓洪槄璇葷瑪璁般?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><span style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">浜屻佺‖浠跺叧閿寚鏍?/span><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     涓嬭竟鍒楀嚭鏄父瑙佹ц兘鎸囨爣錛屽叿浣撴寚鏍囩殑鍙栬垗涔熻鐪嬪叿浣撳簲鐢ㄥ満鏅傚叿浣撹璁℃椂鍐嶅洖澶村弬鑰冧功閲岄噷璁茬殑渚嬪瓙銆?br /><div>1.IO鎬ц兘楂樼殑閮ㄤ歡涓昏鐢辯鐩樺拰鍐呭瓨錛屽悇縐嶄笌IO鐩稿叧鐨勬澘鍗$浉鍏熾?/div><div>     IO鎬ц兘鍒嗕負鍜孖OPS錛堟瘡縐掑彲鎻愪緵鐨処O璁塊棶嬈℃暟錛夊拰姣忕鐨処O鎬繪祦閲忥紙IO鍚炲悙閲忥級銆?/div><div>2.CPU錛圫QL parse鍜屼紭鍖栵級錛屽茍鍙戦珮鐨勬椂鍊機PU姣忕闇瑕佸鐞嗙殑璇鋒眰灝遍珮錛岀浉搴擟PU澶勭悊鑳藉姏闇瑕佹瘮杈冨己鍔層?/div><div>3.緗戠粶璁懼</div></div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">浜屻佹ц兘浼樺寲</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛堜竴錛夊晢涓氶渶姹傚悎鐞嗗寲</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     涔﹂噷渚嬪瓙錛氬疄鏃舵洿鏂頒竴涓鍧涘笘瀛愭婚噺鐨勭粺璁°?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     select count(*)璇彞綆鍗曪紝浣嗘槸Innodb寮曟搸榪樻槸鑰楁椂闂淬傝岃繖涓渶姹傜殑寮哄疄鏃舵洿鏂版病澶氬皯鐢ㄦ埛鐪熸鍏沖績榪欎釜銆傚畾鏃舵洿鏂板彲鎻愰珮寰堝ぇ鐨勬ц兘銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     榪欐潯鑷繁宸茬粡鐭ラ亾浜嗐?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛堜簩錛夌郴緇熸灦鏋勬渶浼樺寲</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夋湁鍑犵被鏁版嵁涓嶉傚悎瀛樺埌鏁版嵁搴撲腑錛?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     1.浜岃繘鍒跺濯掍綋鏁版嵁錛堝浘鐗囥侀煶棰戙佽棰戠瓑錛夛紝榪欑被鏁版嵁瀵規暟鎹簱絀洪棿璧勬簮鑰楄垂闈炲父涓ラ噸錛屼笖榪欎簺鏁版嵁鐨勬暟鎹瓨鍌ㄥ緢娑堣楁暟鎹簱涓繪満鐨凜PU璧勬簮銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     2.嫻佹按闃熷垪鏁版嵁錛屾敮鎸佷簨鍔$殑瀛樺偍寮曟搸涓轟簡浜嬪姟瀹夊叏鎬у拰鍙仮澶嶆э紝闇瑕佽褰曟墍鏈夊彉鏇寸殑鏃ュ織淇℃伅錛岃屾祦姘撮槦鍒楁暟鎹細涓嶆柇鐨勮INSERT\UPDATE\DELETE錛屽鑷存棩蹇楅噺寰堝ぇ銆備嬌鐢ㄦ垚鐔熺殑絎笁鏂歸槦鍒楄蔣浠跺鐞嗭紝鎬ц兘灝嗕細鎴愬嶆彁鍗囥?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     3.瓚呭ぇ鏂囨湰鏁版嵁錛屼粠5.0.3寮濮嬶紝VARCHAR錛屽疄闄呮暟鎹皬浜?55瀛楄妭鏃訛紝瀹為檯瀛樺偍絀洪棿鍜屽疄闄呮暟鎹暱搴︿竴鏍鳳紝鍙竴鏃﹂暱搴﹁秴榪?55瀛楄妭涔嬪悗錛屾墍鍗犵敤瀛樺偍絀洪棿鏄疄闄呮暟鎹暱搴︾殑涓ゅ嶃備笉鍏夋ц兘浣庝笅錛岃繕鏄氮璐圭┖闂淬?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夋槸鍚﹀悎鐞嗗埄鐢ㄤ簡搴旂敤灞傜殑cache銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夋暟鎹眰鐨勫瓨鍙栧疄鐜伴兘鏄渶綺劇畝鐨勫悧銆傚湪紼嬪簭閲屼笉瑕佽繃搴︿緷璧栭潰鍚戝璞℃濇兂銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夎繃搴︿緷璧栨暟鎹簱SQL璇彞鐨勫姛鑳介犳垚鏁版嵁搴撴搷浣滄晥鐜囦綆涓嬨?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     灝介噺鍑忓皯涓巑ysql鐨勪氦浜掓鏁板拰SQL澶嶆潅搴︺備笉瑕佸鍙墿灞曟ц繃搴﹁拷姹傦紝瀵艱嚧緋葷粺璁捐鏃跺紑鍒嗗お鏉庝笁錛屽鑷撮渶瑕佸ぇ閲廕oin璇彞銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夐噸澶嶆墽琛岀浉鍚岀殑SQL閫犳垚璧勬簮嫻垂銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛堜笁錛夐昏緫瀹炵幇綺劇畝鍖?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛堝洓錛夌‖浠惰鏂界悊鎬у寲</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">涓夈佸悎鐞嗗埄鐢ㄩ攣鏈哄埗鏉ヤ紭鍖杕ysql</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">鍥涖丵uery浼樺寲</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     涓昏浼樺寲鎬濊礬鍜屽師鍒欙細</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛変紭鍖栨洿闇瑕佷紭鍖栫殑Query銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夊畾浣嶄紭鍖栧璞$殑鎬ц兘鐡墮銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夋槑紜殑浼樺寲鐩爣銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛変粠explain鍏ユ墜銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夊浣跨敤profile銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夋案榪滅敤灝忕粨鏋滈泦椹卞姩澶х殑緇撴灉闆嗐?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夊敖鍙兘鍦ㄧ儲寮曚腑瀹屾垚鎺掑簭銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夊彧鍙栧嚭鑷繁闇瑕佺殑columns銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛変粎浠呬嬌鐢ㄦ渶鏈夋晥鐨勮繃婊ゆ潯浠躲?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?0錛夊敖鍙兘閬垮厤澶嶆潅鐨刯oin鍜屽瓙鏌ヨ銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">浜斻丼chema璁捐鐨勬ц兘浼樺寲</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛堜竴錛夐珮鏍$殑妯″瀷璁捐</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛変笉涓瀹氳榪芥眰鑼冨紡</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夐傚害鍐椾綑——璁﹒uery灝介噺鍑忓皯join銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夊ぇ瀛楁鍨傜洿鍒嗘媶</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     瀛楁鐗瑰埆澶э紝璁塊棶棰戠巼鍙堝緢浣庣殑瀛楁鎷嗗嚭鍘匯傚洜涓鴻褰曞瓨鍌ㄦ槸涓鏉′竴鏉$殑瀛樻斁錛屾煡璇㈡煇浜涙暟鎹椂錛屼篃浼氳鍙栧埌榪欎釜璁塊棶涓嶉珮鐨勫ぇ瀛楁錛屾瘮杈冩氮璐笽O璧勬簮銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夊ぇ琛ㄦ按騫沖垎鎷?#8212;—鍩轟簬綾誨瀷鐨勫垎鎷嗕紭鍖?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     鎶婂皯閲忚闂鐜囨瀬楂樼殑璁板綍姘村鉤鎷嗗垎鍑哄幓銆備緥濡傝鍧涢噷鐨勭疆欏跺笘瀛愪粠鏅氳璁鴻創閲屽垎鎷嗗嚭鍘諱負鍗曠嫭鐨勮〃銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夌粺璁¤〃——鍑嗗疄鏃朵紭鍖?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛堜簩錛夊悎閫傜殑鏁版嵁綾誨瀷</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     閫夋嫨鏇村皬鐨勬暟鎹被鍨嬶紝鍙互闄嶄綆IO娑堣椼傚彟澶栦笉鍚屾暟鎹被鍨嬬殑CPU澶勭悊鏂瑰紡涔熶笉涓鏍楓備緥濡傞氳繃鏁存暟綾誨瀷浠f浛嫻偣鏁版垨鑰呭瓧絎︾被鍨嬨?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛堜笁錛夎鑼冪殑瀵硅薄鍛藉悕</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     榪欐潯瀵規ц兘娌″暐褰卞搷錛屼絾鏄鏁版嵁搴撶殑緇存姢褰卞搷闈炲父澶с傚簱鐨勫瓧孌佃秺鏉ヨ秺澶?#8230;…</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">鍏乵ysql server鎬ц兘浼樺寲</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">涓冦佸瓨鍌ㄥ紩鎿庝紭鍖?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">鍏佹灦鏋勮璁?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛堜竴錛夊彲鎵╁睍璁捐鐨勫熀鏈師鍒?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛堜簩錛塵ysql replication</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛堜笁錛夋暟鎹垏鍒?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     姘村鉤鍒囧垎鍜屽瀭鐩村垏鍒嗭紝涔嬪墠欏圭洰閲屽仛鏋舵瀯鏃跺凡鍩烘湰浜嗚В銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛堝洓錛塩ache鍜宻earch鐨勫埄鐢?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     cache灝辨槸memcache涔嬬被鐨勩俿earch涓昏鐢ㄦ潵鍋氬叏鏂囨绱€?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛堜簲錛塵ysql cluster</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛堝叚錛夐珮鍙敤璁捐涔嬫濊礬鍙婃柟妗?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛堜竷錛夐珮鍙敤璁捐涔媘ysql鐩戞帶</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><hr />      鐪嬪畬涓婅竟鍚庡張鍦ㄧ湅銆婇珮鎬ц兘mysql銆嬬涓夌増2013騫村垵鐗堢殑錛岀編鍥戒漢鍐欑殑錛岃繖鏈槸mysql鐨勭粡鍏鎬箣浣滐紝姣斾笂杈歸偅鏈洿濂藉惂銆傚氨鏄唴瀹硅緇嗭紝鍟ラ兘鏈夈傝緇嗙殑鍩哄噯嫻嬭瘯鏂規硶銆佺壒鎬х粏鑺傦紙鍘熺悊錛夈佹灦鏋勮冭檻錛岃繖鍑犲勾mysql鍗囩駭鐨勭壒鎬э紙濡傚垎鍖虹瓑錛夛紝璁茶堪鐨刴ysql鐗堟湰宸茬粡鏂板埌5.5~紼嶈5.6鍓嶇灮銆傝繕鏈変綔鑰呴兘鏄浉鍏崇粡楠屽緢澶氬勾鐨勫ぇ鎷褲傚唴瀹瑰啓鐨勪篃涓嶆灟鐕ワ紝寰堝悜閭d簺緙栫▼鏂歸潰鐨勭粡鍏鎬功鐨勪功鍐欓鏍箋?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     鏃墮棿瀹濊吹錛屾帹鑽愮湅銆婇珮鎬ц兘mysql銆嬭繖鏈氨琛屼簡銆?/div></div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div></div><img src ="http://www.shnenglu.com/yangsf5/aggbug/206818.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yangsf5/" target="_blank">Sheppard Y</a> 2014-05-04 18:38 <a href="http://www.shnenglu.com/yangsf5/archive/2014/05/04/206818.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鎺у埗鍙嶈漿http://www.shnenglu.com/yangsf5/archive/2014/04/14/206573.htmlSheppard YSheppard YMon, 14 Apr 2014 03:10:00 GMThttp://www.shnenglu.com/yangsf5/archive/2014/04/14/206573.htmlhttp://www.shnenglu.com/yangsf5/comments/206573.htmlhttp://www.shnenglu.com/yangsf5/archive/2014/04/14/206573.html#Feedback0http://www.shnenglu.com/yangsf5/comments/commentRss/206573.htmlhttp://www.shnenglu.com/yangsf5/services/trackbacks/206573.html
2016-07-12 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>
http://blog.clawz.me/2014/04/14/14-ioc/

涓銆佹蹇?/span>
     浠庨叿瀹㈢湅鐨?/span>銆婇渶姹傚彉鍖栦笌IoC銆?/a>錛岄噷杈硅鐨勪笢瑗挎尯褰㈣薄鐨勩?/span>
     鐢ㄦ埛闇姹傛槸涓鐩村彉鐨勶紝濡傛灉涓鐩存牴鎹敤鎴鋒潵鍋氾紝紼嬪簭鍛樹細绱銆?/div>
     鎺у埗鍙嶈漿鐨勬瘮杈冨艦璞$殑渚嬪瓙錛歅C鏈虹殑鏋舵瀯閮芥槸璁捐濂界殑錛岀敤鎴鋒兂瑕佷粈涔堟牱鐨勶紝鍐嶅幓緇勮閰嶇疆銆傝屼笉鏄敤鎴瘋鎯寵浠涔堝姛鑳斤紝姣忎釜鐢ㄦ埛鍘昏璁′竴濂桺C鏋舵瀯錛岃繖鏍峰巶鍟嗗氨浼氱瘡姝伙紝鑰屼笖鎴愭湰闈炲父楂樸?/div>
浜屻佹嫇灞?/div>
     涓嶈澶氬彉鐨勯渶姹傜壍鍒訛紝鍋氬ソ鑷繁鐨勪漢鐢熸灦鏋勮璁°?/div>
     涓嶅洜涓烘煇鏌愬皬浜嬭屽幓鑺卞ぇ綺懼姏鍘婚捇鐮旀病鐢ㄧ殑涓滆タ錛岃涓撴敞鑷繁鍠滄鐨勬妧鑳姐?/div>
     榪樻病浠旂粏鎯崇帺銆?/div>


]]>claw璁捐鑽夌ǹhttp://www.shnenglu.com/yangsf5/archive/2014/03/31/206404.htmlSheppard YSheppard YMon, 31 Mar 2014 03:09:00 GMThttp://www.shnenglu.com/yangsf5/archive/2014/03/31/206404.htmlhttp://www.shnenglu.com/yangsf5/comments/206404.htmlhttp://www.shnenglu.com/yangsf5/archive/2014/03/31/206404.html#Feedback0http://www.shnenglu.com/yangsf5/comments/commentRss/206404.htmlhttp://www.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


]]>浜嗚В浜戦鐨剆kynethttp://www.shnenglu.com/yangsf5/archive/2014/01/16/205413.htmlSheppard YSheppard YThu, 16 Jan 2014 03:25:00 GMThttp://www.shnenglu.com/yangsf5/archive/2014/01/16/205413.htmlhttp://www.shnenglu.com/yangsf5/comments/205413.htmlhttp://www.shnenglu.com/yangsf5/archive/2014/01/16/205413.html#Feedback0http://www.shnenglu.com/yangsf5/comments/commentRss/205413.htmlhttp://www.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



]]>闆嗙兢瀹炵幇緇嗚妭錛?錛?鐧婚檰嫻佺▼淇敼http://www.shnenglu.com/yangsf5/archive/2013/12/16/204821.htmlSheppard YSheppard YMon, 16 Dec 2013 02:44:00 GMThttp://www.shnenglu.com/yangsf5/archive/2013/12/16/204821.htmlhttp://www.shnenglu.com/yangsf5/comments/204821.htmlhttp://www.shnenglu.com/yangsf5/archive/2013/12/16/204821.html#Feedback0http://www.shnenglu.com/yangsf5/comments/commentRss/204821.htmlhttp://www.shnenglu.com/yangsf5/services/trackbacks/204821.html
2016-07-11 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>
http://blog.clawz.me/2013/12/16/13-game-cluster-design-detail-5/

 



涓銆佸洖欏?/p>

    涔嬪墠鐨勭櫥闄嗘祦紼嬪湪榪欑瘒閲?/a>銆備箣鍓嶇殑鐧婚檰嫻佺▼綆榪幫細

錛?錛夊厛媯鏌ユ槸鍚﹀悓鏈嶅凡鐧婚檰錛屾槸鍒欎袱涓摼鎺ラ兘韙㈡帀錛屽惁鍒欒繘鍏ヤ笅姝ワ紱

錛?錛夊垽鏂槸鍚﹀紓鏈嶅凡鐧婚檰錛屾槸鍒欏憡璇夊紓鏈嶈涪鑰侀摼鎺ワ紝闅忓悗韙㈣嚜宸辮繖鐨勬柊閾炬帴銆傚惁鍒欒繘鍏ヤ笅姝ワ紱

錛?錛夊綋鍓嶆湇鍔″櫒鐧婚檰鐩稿叧嫻佺▼璧板畬鍚庯紝鍚戠帺瀹跺湪綰垮垪琛ㄦ眹鎶ワ紙鍐欏叆榪欎釜鐜╁鐧婚檰鐨勬湇鍔″櫒id涓烘垜錛夈傝繖鏃剁殑姹囨姤鍐欏叆涓簉edis鐨凜AS鎿嶄綔錛屼負浜嗘鏌ユ槸鍚﹀彂鐢熶簡閭g瘒閲屼粙緇嶇殑鍚岃處鍙風灛闂村璧風櫥闄嗕簨浠躲侰AS鎿嶄綔鎴愬姛錛屾湰鏈嶉摼鎺ョ櫥闄嗗畬鎴愶紝鍋氬悗緇搷浣溿傚惁鍒機AS鎿嶄綔澶辮觸錛岃〃紺虹灛鏃剁櫥闄嗙殑寮傛湇鍚岃處鍙風殑鍙︿竴涓摼鎺ョ殑鐧婚檰嫻佺▼璧扮殑蹇紝宸茬粡瀹屾垚鏁翠釜嫻佺▼錛屽寘鎷眹鎶ヨ繘鍦ㄧ嚎鍒楄〃銆傝繖鏃剁殑澶勭悊鍙敤灝嗘參鎷嶇殑鏈湇閾炬帴鍏抽棴灝辮浜嗐?/p>

 

浜屻佸瓨鍌ㄦ灦鏋勫彉涓簉edis+mysql鍚庣殑闂

    鐜板湪鐜╁涓婄嚎鏃墮渶瑕佷粠mysql鍔犺澆鐜╁紱葷嚎鏁版嵁鍒皉edis錛岄渶瑕佽冭檻榪欎釜鏁版嵁鍔犺澆鏀懼埌涓婅竟鐧婚檰嫻佺▼鍝竴姝ラ噷銆?/p>

    棣栧厛鏁版嵁鍔犺澆鏈夊彲鑳戒細澶辮觸錛屽鏋滄暟鎹姞杞藉嚭闂錛屽氨涓嶈兘璁╄鐜╁鐧婚檰銆?/p>

    濡傛灉鏀懼埌錛?錛夛紙3錛変箣闂達紝灝辨槸redis鐨凜AS涔嬪墠錛岃繖鏍風灛闂村悓涓璐﹀彿澶氳搗鐧婚檰閮芥湁鍙兘寮濮嬭繘琛屽姞杞芥暟鎹楠わ紝鑰屽鐞嗙殑蹇殑閭d釜瀹㈡埛绔氨鏈夊彲鑳芥眹鎶ョ櫥闄嗗畬鎴愪箣鍚庣珛鍗崇帺娓告垙騫舵洿鏂頒簡鑷繁鍦╮edis閲岀殑鏁版嵁錛屽鐞嗙殑鎱㈢殑瀹㈡埛绔繕榪欐椂榪樺湪灝唌ysql鐨勬暟鎹線redis鐨勫姞杞斤紝浼氳鐩栧揩鐨勫鎴風鏇存柊鐨勬暟鎹?/p>

    濡傛灉鏀懼埌錛?錛夐噷redis鐨凜AS涔嬪悗錛屾暟鎹姞杞藉け璐ワ紝灝遍渶瑕佸洖閫CAS鐨勬搷浣溿?/p>

    鍙絎簩縐嶈嚦灝戝彲浠ヤ繚璇佹暟鎹紜с傝繖縐嶆儏鍐墊娊璞′笅錛屽氨鏄涓縐嶉噷娌℃湁鎻愪緵浜嬪姟鎿嶄綔鐨勫洖婊氾紙鎱㈠鎴風瑕嗙洊鏁版嵁鍚庡彂鐜板共浜嗗潖浜嬪嵈涓嶆柟渚垮洖婊氳嚜宸辯殑鐮村潖錛夈?/p>

    錛?錛夎繖涓搷浣滃綋鏃舵槸涓轟簡鍖哄垎寮傛湇鐧婚檰騫剁帺娓告垙寰堜箙浜嗗拰鐬棿澶氳搗鐧婚檰榪欎袱縐嶆儏鍐電殑銆傜幇鍦ㄦ兂鎯寵繖涓ょ鎯呭喌鐨勫鐞嗙粺涓涓虹洿鎺ヨ涪鎺夋柊鏃т袱涓摼鎺ヤ篃娌′粈涔堬紝姣曠珶鐬椂鐧婚檰鐨勬儏鍐典笉澶氥?/p>

 

涓夈佹柊嫻佺▼

    鏍規嵁涓婅竟鐨勭粨璁猴紝鏂扮殑嫻佺▼涓猴細

錛?錛夊厛媯鏌ユ槸鍚﹀悓鏈嶅凡鐧婚檰錛屾槸鍒欎袱涓摼鎺ラ兘韙㈡帀錛屽惁鍒欒繘鍏ヤ笅姝ワ紱

錛?錛夊悜鐜╁鍦ㄧ嚎鍒楄〃CAS鎶ュ憡鑷繁鐧婚檰銆傚鏋滃け璐ュ憡璇夊紓鏈嶈涪鎺夎璐﹀彿鑰侀摼鎺ワ紝鑷繁榪欒竟韙㈡帀璇ヨ處鍙鋒柊閾炬帴鍗沖彲銆傛垚鍔熷垯榪涘叆涓嬫錛?/p>

錛?錛夊姞杞芥暟鎹紝鎴愬姛灝辮繘鍏ユ甯告父鎴忔祦紼嬨傚姞杞藉け璐ワ紝灝卞幓鍦ㄧ嚎鍒楄〃閲屾竻鎺夎嚜宸便?/p>

]]>闆嗙兢瀹炵幇緇嗚妭錛?錛?鍐風儹鏁版嵁鍒掑垎鍙婂悓姝?/title><link>http://www.shnenglu.com/yangsf5/archive/2013/12/13/204771.html</link><dc:creator>Sheppard Y</dc:creator><author>Sheppard Y</author><pubDate>Fri, 13 Dec 2013 07:58:00 GMT</pubDate><guid>http://www.shnenglu.com/yangsf5/archive/2013/12/13/204771.html</guid><wfw:comment>http://www.shnenglu.com/yangsf5/comments/204771.html</wfw:comment><comments>http://www.shnenglu.com/yangsf5/archive/2013/12/13/204771.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/yangsf5/comments/commentRss/204771.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yangsf5/services/trackbacks/204771.html</trackback:ping><description><![CDATA[<div></div><fieldset><legend><span style="color: #ff0000;">2016-07-11 鏃ユ洿鏂?nbsp;</span></legend><div><span style="color:red;">姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span></div><div></div><a ><div><span style="color:red;">http://blog.clawz.me/2013/12/13/13-game-cluster-design-detail-4/</span></div></a></fieldset><a ><div></div><p> </p></a><p><br /> </p><div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">涓銆佺帺瀹舵暟鎹湪redis涓巑ysql涔嬮棿鐨勫悓姝?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">    鐢變簬redis鎿嶄綔鍙互淇濊瘉澶氫釜榪涚▼璇誨啓鍚屼竴涓帺瀹舵暟鎹椂鐨勫師瀛愭с傛墍浠ヤ箣鍓嶅涓昏緫鏈嶅姟鍣ㄨ鍐欏悓涓鐜╁鏁版嵁鏃舵病鏈変粈涔堥棶棰橈紝浣嗘槸鐜板湪redis鍜宮ysql涔嬮棿闇瑕佸悓姝ョ帺瀹剁殑鏁版嵁錛堜緥濡傚畾鏃跺皢redis閲岀殑鍦ㄧ嚎鐜╁鏁版嵁鍒瘋繘mysql閲屽仛鎸佷箙鍖栵級銆傝繖涓悓姝ョ殑閫昏緫浠g爜鏀懼摢鍛紵</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">    瑙傚療闇姹傜壒鎬э紝鐜╁涓婄嚎鍔犺澆鍒皉edis鍋歝ache銆佸畾鏃舵洿鏂版寔涔呭眰銆佺帺瀹剁綰挎椂娓呮帀cache騫舵洿鏂板埌鎸佷箙灞傦紝閮芥槸redis鍜宮ysql涔嬮棿鐨勬暟鎹氦浜掋傝繖浜涘彲浠ユ斁鍒頒竴涓湇鍔¢噷錛屽崟榪涚▼瀹炵幇錛屾垨鑰呴泦鎴愬埌鐜板湪鐨勯昏緫鏈嶅姟鍣ㄩ噷銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">    鏂逛究瀹炵幇錛屽仛涓嬮檺鍒躲傜帺瀹剁櫥闄嗙殑閫昏緫鏈嶅姟鍣ㄨ涓轟粬鐨刼wner鏈嶅姟鍣紝姣忎釜鐜╁鏁版嵁鐨剅edis/mysql鍚屾鍙敱浠杘wner鏉ュ仛銆?nbsp;榪欐牱闂灝辯畝鍖栦簡銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">    榪欓噷鏈変簺鍋氭硶鏄獊鐒舵兂鍒扮殑錛屽氨鍍忋婃殫鏃墮棿銆嬮噷鎻愬埌鐨勮仈鎯沖紡鐨勶紝鑰屼笉鏄綊綰蟲紨緇庣殑銆傛渶榪戝湪鐪嬨婃殫鏃墮棿銆嬶紝濂戒功錛岄噷杈瑰氨鎻愬埌杈瑰啓杈規濊冿紝鎬濊冩椂“澶ц剳鍐呭瓨”鏈変笂闄愮殑錛岃竟鍐欏氨鑳芥妸閮ㄥ垎鎬濊冨垎鏀崲鍑虹瑪璁拌繖縐?#8220;紜洏”涓婏紝鐒跺悗澶ц剳涓撳績鎬濊冨叾涓竴涓や釜鍒嗘敮錛屾兂鐨勫樊涓嶅錛屽啀鍥炶繃澶村皢“絎旇紜洏”涓婄殑鏁版嵁鎹㈠叆“澶ц剳鍐呭瓨”……灝嗘鍦ㄦ濊冪殑涓滆タ鍐欏崥瀹㈢殑涔犳儻宸茬粡褰㈡垚涓孌墊椂闂翠簡錛岀湅浜嗕功鍚庯紝鏇存繁鍒囦綋浼氬埌榪欑濂藉銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">    濡傛灉閫昏緫鏈嶅姟鍣ㄥ畷鏈猴紝瀹冧笂杈圭殑鐜╁灝辨帀綰夸簡錛岃岃繖鍙伴昏緫鏈嶅姟鍣ㄦ槸涓嶈兘瀵硅繖浜涚帺瀹跺仛紱葷嚎鏁版嵁鎸佷箙鍖栫殑銆傝繖縐嶆儏鍐甸渶瑕佽繘涓姝ユ濊僒ODO銆傚彟澶栦箣鍓嶈繖縐嶇帺瀹舵庝箞鏍囪涓虹綰匡紝闇瑕佸啀鎯充竴閬嶏紝涔烼ODO浜嗐?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">浜屻佷粠鏈川鍑哄彂review鎴戜滑鐨勫瓨鍌ㄦ灦鏋?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">    涓嶈璧扮殑澶繙鑰屽繕浜嗕負浠涔堝嚭鍙戯紝浠庢湰璐ㄤ笂鎬濊冿紝寮冩帀閭d簺涓嶅繀瑕佺殑鎬濊冨垎鏀紝綆鍖栭棶棰樸?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">    鏈川鎴戜滑鐨勬灦鏋勬槸涓哄疄鐜版父鎴忕殑鐜╂硶鐩爣鏉ュ仛鐨勶紝鍙︿竴鏂歸潰鎴戜滑鑰冭檻寮鍙戞垚鏈佺淮鎶ゆ垚鏈佹満鍣ㄦ垚鏈傚ソ鐨勬灦鏋勬槸鏉冭 鐩爣瀹炵幇紼嬪害鍜岃繖浜涙垚鏈殑鑰楄垂銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">    鐩爣鏄疄鐜板悓涓鍥藉鐨勭帺瀹朵笉鍒嗗尯鍒嗘湇銆備箣鍓嶇紦瀛樺拰鎸佷箙鍖栭兘鏄敤redis鏉ュ仛錛屽紑鍙戞垚鏈拰緇存姢鎴愭湰閮芥尯浣庣殑銆備絾鏄渶瑕佸緢澶氭満鍣ㄣ傜幇鍦ㄦ帶鍒舵満鍣ㄦ垚鏈紝鎵浠ラ渶瑕佸垎鏋愭垜浠暟鎹殑鐗圭偣錛屽皢鍐鋒暟鎹斁鍒癿ysql榪欑鏈哄櫒闇姹傞噺灝戠殑鏁版嵁搴撱傚叿浣撳埌琛ㄧ殑鍒嗘瀽榪欓噷灝變笉鏂逛究璐翠簡銆傝涓嬪ぇ姒傚垎綾伙細</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夌綰跨帺瀹剁殑鍐鋒暟鎹紝紱葷嚎鐜╁鐨勭浜烘暟鎹紝涓嶉渶涔熶笉鑳戒笌鍒漢浜や簰鐨勶紱</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夌綰跨帺瀹剁殑鐑暟鎹紝渚嬪鍚嶅瓧錛屽ソ鍙嬫槸鎯崇湅鍒扮綰垮ソ鍙嬬殑鍚嶅瓧鐨勶紱</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夊湪綰跨帺瀹剁殑涓鐩存洿鏂扮殑鏁版嵁錛屼緥濡傜粡楠屽鹼紝娓告垙璐у竵絳夛紱</div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">錛?錛夊湪綰跨帺瀹剁殑鍒板己瀹炴椂鐜╂硶鏃舵墠鏇存柊鐨勬暟鎹?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">    錛?錛夐噷鐨勬暟鎹棤鐤戦棶鏀懼湪mysql閲屻傦紙2錛夐噷鐨勬暟鎹繕寰楁牴鎹儏鍐電湅鏄惁涓鑷存斁鍦╮edis閲岋紝鍗崇綰跨殑鐜╁榪欓儴鍒嗘暟鎹篃鏀懼湪redis閲屻傦紙3錛夐噷鐨勬暟鎹棤鐤戦棶鍦ㄧ嚎鏄斁鍒皉edis閲屻傦紙4錛夐噷鐨勬暟鎹彲浠ユ牴鎹儏鍐佃冭檻涓嬪歡榪熷姞杞戒粈涔堢殑錛屽嵆鐜╁涓婄嚎鏃惰繖閮ㄥ垎鏁版嵁涓嶉┈涓婂姞杞藉埌redis錛岃屾槸絳夌帺瀹跺紑濮嬭繖涓帺娉曟椂鎵嶄粠mysql閲屽姞杞藉埌redis閲屻傝繖涓渶瑕佽冭檻榪欎釜鐜╂硶鐨勬暟鎹噺浠ュ強鏄惁鐜╁鍙備笌搴﹂珮銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">涓夈佹墿灞?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">    鍏堜簡瑙ysql鍗曡〃鏁版嵁涓婇檺銆佺劧鍚巑ysql鍗曞簱涓婇檺銆傝繖閲岀殑涓婇檺鎸囦笉褰卞搷鏁堢巼鐨勪笂闄愶紝鑰屼笉鏄墿鐞嗕笂闄愩傛嬁鍒頒笂闄愭暟鎹悗錛屽仛棰勫垎搴撳垎琛ㄣ傚垎搴撳垎琛ㄤ篃瑕佸ソ濂芥兂鎯熾?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     鏌ヤ簡涓嬶紝mysql 5.1閲孖nnoDB寮曟搸琛ㄧ┖闂存渶澶у閲忎負64TB銆傚湪鏌ユ垜浠叕鍙告湇鍔″櫒閰嶇疆琛ㄩ噷紜洏錛屾渶浣庢湁100G鐨勶紝鏈楂?00澶欸鐨勩?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     鍒濇紜畾mysql鐨剆harding鍜宲artition涓鴻繖鏍鳳細涓嶅悓鐗╃悊鏈轟箣闂寸殑sharding涓哄垎涓ぇ鐨刬d孌碉紝鍗曚釜鐗╃悊鏈轟笂鍗沖崟搴撳唴鐨勫鏋滆〃榪樻槸寰堝ぇ灝卞仛鑷繁鐨刾artition銆傛渶緇堢湅涓婄嚎鎬庝箞瀹氾紝鍐嶅畾榪欎釜璺ㄦ満sharding鐨刬d孌甸暱搴︼紝鑷充簬鍗曟満鐨刾artition錛屽浠g爜鏉ヨ鏄笉闇瑕佺鐨勶紝榪愮淮鏍規嵁鎬ц兘鎼炲氨琛屼簡銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">     鍏堢畝鍗曠畻涓嬶紝姣忎漢100k錛?00w浜轟竴涓猻harding錛岄渶瑕佸ぇ綰?00G絀洪棿銆?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">鍥涖佸叾浠栨灦鏋勫睍鏈?/div><div style="font-family: 寰蔣闆呴粦; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;">    鏈夊崟鏈哄唴瀹癸紱闇瑕佽仈緗戞椂鎵嶈仈緗戯紱寮辮仈緗戞椂寮辮仈緗戯紝寮哄疄鏃舵椂鍋氬己瀹炴椂鑱旂綉銆備竴鐩寸籂緇撹繖涓細涓嶄細褰卞搷鐜板湪鐨勫瓨鍌ㄦ灦鏋勶紝浣嗘槸鎯充簡涓嬶紝涓嶅ぇ褰卞搷錛屽彉鐨勫彧鏄摼鎺ュ艦寮忥紝鐜╁鏁版嵁澶勭悊榪樻槸涓鏍風殑銆?/div></div><p> </p><img src ="http://www.shnenglu.com/yangsf5/aggbug/204771.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yangsf5/" target="_blank">Sheppard Y</a> 2013-12-13 15:58 <a href="http://www.shnenglu.com/yangsf5/archive/2013/12/13/204771.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>闆嗙兢瀹炵幇緇嗚妭錛?錛?DB闆嗙兢http://www.shnenglu.com/yangsf5/archive/2013/12/06/204628.htmlSheppard YSheppard YFri, 06 Dec 2013 08:53:00 GMThttp://www.shnenglu.com/yangsf5/archive/2013/12/06/204628.htmlhttp://www.shnenglu.com/yangsf5/comments/204628.htmlhttp://www.shnenglu.com/yangsf5/archive/2013/12/06/204628.html#Feedback0http://www.shnenglu.com/yangsf5/comments/commentRss/204628.htmlhttp://www.shnenglu.com/yangsf5/services/trackbacks/204628.html
2016-07-11 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>
http://blog.clawz.me/2013/12/06/13-game-cluster-design-detail-3/

 

 

涓銆佺函redis闆嗙兢

    濡傛灉redis涓嶆鍋歝ache錛屼篃鍋氭寔涔呭寲錛岄偅灝卞緱濂藉ソ綆楃畻鎴戜滑鐨勪笟鍔¤妯¢渶瑕佸灝戝彴鏈哄櫒鏉ユ敮鎾戙?000w娉ㄥ唽鐜╁錛屾瘡鍙版満鍣?6G鍐呭瓨錛堜負浜嗕繚璇佹晥鐜囧彇3/4涓哄彲鐢紝鍗?2G錛夈?/p>

    濡傛灉姣忎釜鐜╁1M鏁版嵁錛屾葷害9765G錛屼笉綆楃儹澶囷紝闇瑕?14鍙版満鍣ㄣ傛瘡鍙版満鍣ㄥ瓨鍌?.2w浜恒?/p>

    濡傛灉姣忎釜鐜╁16k鏁版嵁錛屾葷害153G錛屼笉綆楃儹澶囷紝闇瑕?3鍙版満鍣ㄣ傛瘡鍙版満鍣ㄥ瓨鍌?7w浜恒?/p>

    濡傛灉姣忎釜鐜╁1k鏁版嵁鎬葷害9.5G錛屼笉綆楃儹澶囷紝闇瑕?鍙版満鍣ㄣ傛瘡鍙版満鍣ㄥ瓨鍌?000w浜恒?/p>

    娉ㄥ唽鐜╁浼氳秺鏉ヨ秺澶氱殑……

 

浜屻乵ysql鍋氭寔涔呭寲錛宺edis鍋歝ache

    鍙瀛樺偍錛屼竴涓猰ysql鏀寔鍑燭鏁版嵁娌′粈涔堥棶棰樸備緥濡備笂杈?000w娉ㄥ唽鐜╁錛屾瘡涓帺瀹?M鏁版嵁錛屾繪暟鎹繎9.5T錛屽瓨涓涓猰ysql瓚沖銆備絾鏄鏋滈珮宄板湪綰跨帺瀹跺茍鍙戝埌100w錛岄渶瑕佸皢澶ч儴鍒嗘搷浣滆鍒掑埌redis榪欎釜cache涓娿傚惁鍒檓ysql浠嶇劧鍥犵鐩業O澶鍚冧笉娑堛?/p>

 

錛堜竴錛変笌綰痳edis闆嗙兢鐩告瘮鐨勫姡鍔?/p>

錛?錛夊ソ鍙嬮渶瑕佺湅紱葷嚎鐜╁鐨勪俊鎭紝鑰岀綰跨帺瀹跺湪mysql閲岋紝濡傛灉棰戠箒錛?/p>

    鎶婄綰跨帺瀹跺彲鑳借鍒漢鏌ョ湅鐨勪俊鎭笉瀛榤ysql浜嗭紝鏀圭敤redis鍋氭寔涔呭寲銆?/p>

錛?錛塆M宸ュ叿鏀圭帺瀹舵秷鎭紝闇瑕佹敼mysql鍜宺edis鐨刢ache閲屻備細涓嶄細瀹規槗鍑洪棶棰橈紵

 

錛堜簩錛変紭鍔?/p>

錛?錛塺edis鍙仛cache闆嗙兢浜嗭紝鐢╰wemproxy綆$悊灝辮浜嗐傚鏋渞edis鍋氭寔涔呭寲錛岃繕鏄渶瑕佽嚜宸辨潵鍒嗙墖錛屼笖鏃╂湡灝辮瑙勫垝濂姐?/p>

錛?錛夊崟涓帺瀹剁殑鏁版嵁娑ㄥ埌1M鐨勬椂鍊欙紝鎬葷敤鎴鋒定鍒?000w~3000w錛屽啀鍔犱袱涓猰ysql銆?/p>

 

涓夈乺edis鍋歝ache+鐑暟鎹寔涔呭寲錛宮ysql鍋氬喎鏁版嵁鎸佷箙鍖?/p>

    榪欓噷鍏跺疄灝辨槸灝嗕簩閲岃竟鐨勬瘡涓帺瀹剁殑閮ㄥ垎寰堢儹鐨勬暟鎹粠mysql縐誨埌redis閲屽仛鎸佷箙鍖栥備絾鏄帺瀹跺湪綰挎椂錛屼粬鐨勬暟鎹熀鏈兘綆楁槸鐑殑銆傛墍浠ヨ繖涓柟妗堜笉鏄緢濂借璁°?/p>

 

 

鏈鍚庛佸弬鑰?/p>

1. redis瀹樻柟鍏充簬鍒嗙墖鐨勬枃绔狅細http://redis.io/topics/partitioning

2. twemproxy鏂囩珷錛?a _>http://antirez.com/news/44

 

 



]]>浼戦棽娓告垙騫沖彴鏋舵瀯http://www.shnenglu.com/yangsf5/archive/2013/10/31/204033.htmlSheppard YSheppard YThu, 31 Oct 2013 15:15:00 GMThttp://www.shnenglu.com/yangsf5/archive/2013/10/31/204033.htmlhttp://www.shnenglu.com/yangsf5/comments/204033.htmlhttp://www.shnenglu.com/yangsf5/archive/2013/10/31/204033.html#Feedback0http://www.shnenglu.com/yangsf5/comments/commentRss/204033.htmlhttp://www.shnenglu.com/yangsf5/services/trackbacks/204033.html
2016-07-11 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>
http://blog.clawz.me/2013/10/31/13-game-platform/

 


涓銆佽儗鏅拰鐩爣

    褰撳勾澶т笁鐨勬椂鍊欏啓浜嗕釜浜斿瓙媯嬩笘鐣岋紝灝辨槸qq game閭g澶у巺-鎴塊棿-妗屽瓙錛堟垜鍙湁綆鍗曢昏緫鐨勪簲瀛愭錛夈傛瘯涓氬悗涓鐩存兂鎵句釜鏃墮棿鏉ラ噸鏋勫畠錛屽悗鏉ユ湁嬈′笅鍐沖績鐪嬩簡涓嬩唬鐮侊紝鏈夌偣鍎夸笉鐭ユ墍鎺紝浣犳噦鐨勶紝錛欴錛岃繕涓嶅閲嶅啓銆?/p>

    鐜板湪瀵筭o寰堟劅鍏磋叮錛屽噯澶囩敤go鏉ュ疄鐜頒互鍓嶇殑寮婧愭ⅵ銆傚氨鍏堝凡浠ュ墠鐨勪簲瀛愭涓栫晫閭g浼戦棽娓告垙騫沖彴鏉ュ紑濮嬬粌鎵嬪惂銆?/p>

    鐩爣鏆傛椂涓嶅畾鐨勫お澶э紝鍩烘湰瀹炵幇澶у巺-鎴塊棿-妗屽瓙-娓告垙灝辮浜嗭紝鎱㈡參閲嶆瀯鎱㈡參瀹屽杽銆?/p>

 

浜屻佹湇鍔″櫒鏋舵瀯

    鍩烘湰鏋舵瀯鍙傜収涔嬪墠緇欏叕鍙擱」鐩仛鐨?a title="" href="http://www.shnenglu.com/yangsf5/archive/2013/09/30/203500.html" target="_self" _href="http://www.shnenglu.com/yangsf5/archive/2013/09/30/203500.html" data_ue_src="http://www.shnenglu.com/yangsf5/archive/2013/09/30/203500.html">鏋舵瀯銆傚綋鏋舵瀯鏈夋敼鍙樻椂錛屽強鏃朵慨鏀硅繖綃囧崥瀹紝鎴栬呮柊鍗氬涓庤繖綃囩浉浜掑紩鐢ㄥ拰娉ㄨВ銆?/p>

    涓嶅悓鐨勯儴鍒嗭紝鍔犱釜澶у巺錛屽ぇ鍘呴噷鏄劇ず鎴塊棿鐘舵侊紝榪欐牱鐜╁灝辮嚜宸遍夋嫨闂茬殑鎴塊棿鍘葷帺錛岃繖鏍峰氨涓嶉渶瑕佸仛璐熻澆鍧囪 鐨勭畻娉曚簡銆?/p>

 

錛堜竴錛夎處鎴風郴緇?/p>

    娓告垙鑷韓涓嶅仛璐﹀彿瀵嗙爜榪欑鐢ㄦ埛緋葷粺錛屽彧鐢ㄧ涓夋柟鐨勮處鎴鳳紝濡傚井鍗氳處鎴風瓑鏉ヨ繛鎺ュ埌鎴戜滑娓告垙銆傛垨鑰呮洿綆鍗曠偣錛岃繖鍧楀効鍙ā鎷熶笅寰崥絳夌涓夋柟鐢ㄦ埛緋葷粺鐨勭櫥闄嗕簡銆?/p>

    絎笁鏂硅處鎴瘋繛鎺ュ埌鎴戜滑娓告垙錛屾垜浠湰鍦板彧鐢辮嚜澧為暱鐨剈id鐢熸垚鍣ㄦ潵鐢熸垚涓涓猧nt鐨剈id鍗沖彲錛屽皢絎笁鏂圭殑platformUid鍜屾垜浠殑localUid鍋氫釜鍏寵仈鏄犲皠銆?/p>

 

錛堜簩錛夊ぇ鍘?/p>

    澶у巺鍙互鍋氭垚鐭繛鎺ワ紝鐜╁閫夋嫨娓告垙鍙婃埧闂寸殑鏃跺欐墠鍘誨ぇ鍘呭埛鏂頒笅褰撳墠鐨勫悇鎴塊棿璐熻澆鎯呭喌銆?/p>

 

浜屻佸鎴風

    鐢╳alk銆傦紙寰呰緇嗚鍒掞級



]]>闆嗙兢瀹炵幇緇嗚妭錛?錛?鐜╁鍦ㄧ嚎鐘舵佺畫http://www.shnenglu.com/yangsf5/archive/2013/10/19/203811.htmlSheppard YSheppard YSat, 19 Oct 2013 01:41:00 GMThttp://www.shnenglu.com/yangsf5/archive/2013/10/19/203811.htmlhttp://www.shnenglu.com/yangsf5/comments/203811.htmlhttp://www.shnenglu.com/yangsf5/archive/2013/10/19/203811.html#Feedback0http://www.shnenglu.com/yangsf5/comments/commentRss/203811.htmlhttp://www.shnenglu.com/yangsf5/services/trackbacks/203811.html
2016-07-11 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>
http://blog.clawz.me/2013/10/19/13-game-cluster-design-detail-2/

 


 

涓銆佺帺瀹剁綰?/p>

    鐢變簬紱葷嚎鐨勭姸鍐靛錛屽父瑙佺殑鐜╁鑷繁鎷胯嚜宸辯殑璐﹀彿鐨勭綰匡紝涔熸湁鑷繁鐨勮處鍙峰湪澶氫釜璁懼鏉ユ尋鎺夌嚎錛岃繕鏈夊氨鏄闈炴硶鐨勪漢浣跨敤鏃剁殑鎸ゆ帀綰褲傝繖閲屽簲璇ュ皢鐜╁鐞嗚В涓轟竴涓處鍙鳳紝涓嬭竟灝介噺鐢ㄨ處鍙鋒潵琛ㄨ堪銆?/p>

錛堜竴錛夌綉緇滄柇寮鎴栬呬富鍔ㄧ寮娓告垙

    榪欐椂鐜╁鎵鍦ㄧ殑鏈嶅姟鍣ㄥ湪鐜╁net.close鏃跺姞鍏ュ悜閫氫俊redis姹囨姤鐨勯昏緫錛屽嵆閫氫俊redis閲屽垹闄よ繖涓帺瀹剁殑鍦ㄧ嚎綰綍銆?/p>

 

錛堜簩錛夊悓鏈嶉噸澶嶇櫥闄嗘椂鐨刱ick

    棣栧厛鑲畾瑕佽涪鎺変箣鍓嶇櫥闄嗙殑閾炬帴銆傚洜涓哄悓鏈嶆椂鏂版棫閾炬帴閮藉湪榪欎釜鏈嶅姟鍣ㄤ笂錛岄昏緫涓婄畝鍗曪紝鍏佽鏂伴摼鎺ョ殑鐧婚檰姣旇緝濂藉鐞嗭紝浣嗘槸鍚庤竟鏈夊叾浠栬冭檻銆?/p>

 

錛堜笁錛夊紓鏈嶇櫥闄嗘椂鐨刱ick

    棣栧厛涔熸槸韙㈡帀涔嬪墠鐨勭櫥闄嗐傞渶瑕佸湪涔嬪墠鐧婚檰鍒扮殑鏈嶅姟鍣ㄥ皢璇ヨ處鍙風殑閾炬帴鏂紑騫舵暣鐞嗘暟鎹瓨鍌ㄤ箣鍚庯紝鎵嶈兘鍏佽鍦ㄦ柊鐨勬湇鍔″櫒鐧婚檰銆?/p>

    鏃ф湇鍔″櫒娓呯悊瀹岃鐜╁鍚庯紝鍚戦氫俊redis鎶ュ憡鍒犻櫎璇ヨ處鍙風殑鍦ㄧ嚎鐘舵併傛柊鏈嶅姟鍣ㄩ渶瑕佺煡閬撶帺瀹跺凡緇忓湪鏃ф湇琚玨ick瀹屼簡鎵嶅彲浠ヨ鐜╁鐧婚檰銆傚垰鎵嶅悓鏈嶆椂鎻愬埌鐨勫厑璁告柊閾炬帴绔嬪埢鐧婚檰鐨勯棶棰橈紝榪欓噷灝卞彉鐨勬瘮杈冧笉鍙帶浜嗐傜編濂界殑榪囩▼鏄紝鏂伴摼鎺ユ帴鍏ュ悗鎸傝搗鍦ㄦ柊鏈嶏紝絳夊紓鏈嶈涪瀹屽悗錛岀戶緇仛鏂伴摼鎺ョ殑鐧婚檰鎿嶄綔銆備絾鏄繖闇瑕佹柊鏃ф湇涔嬮棿鐨勫悓姝ラ昏緫錛岄渶瑕佸皢鏂版湇鐜╁鍋氫釜鐘舵佹満涓虹淮鎶よ繖縐嶆寕璧鋒垨緇х畫鐧婚檰鐘舵併傚彟澶栬繕瑕佽冭檻榪欎釜鏈熼棿鐜╁鍙堝湪鍙︿竴涓湇鐧婚檰銆傝鑰冭檻鐨勪笢瑗垮緢澶?#8230;…

    榪樻湁涓縐嶆湁闂鐨勫鐞嗘柟寮忥紝鍗蟲柊鏈嶅彧鏄悜鑰佹湇鍙戦佽涪浜烘寚浠わ紝鏂版湇鑷繁鍗撮┈涓婅繘鍏ユ柊閾炬帴鐨勭櫥闄嗘搷浣溿傝繖鏍風殑闂鏄紝鍗充嬌涓氬姟閫昏緫綆鍗曞埌涓嶄細鍙戠敓鏁版嵁涓嶅悓姝ラ棶棰橈紝浣嗙櫥闄嗘搷浣滀笉浼氫竴瀹氭垚鍔熴傛柊鏈嶇櫥闄嗗畬鍚戦氫俊redis鎶ュ憡鐜╁鍦ㄧ嚎錛屾棫鏈嶈涪瀹岃鍚戦氫俊redis鎶ュ憡鐜╁紱葷嚎銆傝繖涓や釜鎿嶄綔寮傛鏃訛紝濡傛灉鏃ф湇鐨勭綰挎姤鍛婂湪鍚庯紝閫氫俊redis涓婂氨浼氶敊璇殑璁板綍璐﹀彿褰撳墠涓嶅湪綰?#8230;…

 

錛堝洓錛夋葷粨

    鏈緇堥噸澶嶇櫥闄嗛棶棰樼畝鍗曞鐞嗘柟娉曪細璐﹀彿鐧婚檰鏃訛紝鍙媯嫻嬪埌璇ヨ處鍙峰悓鏈嶆垨寮傛湇宸茬櫥闄嗭紝鍏堝皢鏃ч摼鎺ヨ涪鎺夛紝鍐嶅皢鏂伴摼鎺ユ柇寮銆傚氨緇欑帺瀹朵竴涓彁紺?#8220;璐﹀彿宸茬櫥褰曪紝璇風◢鍚庨噸璇?#8221;錛岃鐜╁鑷繁鏉ュ鎿嶄綔鍑犳錛岀洿鍒版棫閾炬帴琚涪瀹屻?/p>

    

浜屻佸悓涓璐﹀彿鐨勫悓鐬棿澶氳搗鐧婚檰浜嬩歡

    ​涓婅竟閲嶅鐧婚檰鐨勬鏌ヨ繕鏈変竴縐嶆儏鍐典笉鑳介槻姝紝灝辨槸鐬棿鐨勫涓鎴風鐢ㄥ悓涓璐﹀彿鐧婚檰銆傚悓鏈嶆椂鐢變簬nodejs鐨勫紓姝ワ紝寮傛湇鏃剁敱浜庡ぉ鐒跺紓姝ワ紝媯鏌ヨ璐﹀彿鏄惁宸茬櫥闄嗕笌灝嗗綋鍓嶉摼鎺ユ垚鍔熺櫥闄嗗茍鍚戦氫俊redis鎶ュ憡榪欎簺鎿嶄綔涓嶅叿鍘熷瓙鎬с?/p>

    ​鎵浠ュ湪鏈鍚庡悜閫氫俊redis鍐欏叆涓婄嚎鐘舵佹椂鍐嶆鍒ゆ柇鏄惁宸茬櫥闄嗭紙鍗沖垽鏂槸鍚﹁鐬椂騫跺彂鐨勫彟涓涓鎴風鐨勭櫥闄嗙粰鏍囪涓哄凡涓婄嚎浜嗭級銆俽edis閲岀敤hsetnx浠f浛hset錛屽墠鑰呭湪鏁版嵁宸茬粡琚緗椂鎿嶄綔澶辮觸銆?/p>

PS錛?/p>

    鍒氭帴瑙︿笉涔呮垨鑰呮湰韜昏緫灝卞鏉傜殑涓滆タ錛堜緥濡傚垎甯冨紡錛夊緢澶氭濊冪殑緇撴灉涓嶅強鏃惰褰曠殑璇濓紝鍚庤竟瀹規槗蹇樿褰撳垵鐨勭悊鐢憋紝瀵艱嚧闇瑕佸啑浣欑殑閲嶅鎬濊冦傛墍浠ョ幇鍦ㄥ崥瀹㈠啓鐞愮浜涳紝璁拌澆浜涚粏鑺傜殑鎬濊冦?/p>

 

 



]]>闆嗙兢瀹炵幇緇嗚妭錛?錛?寮傛湇閫氫俊鍜屽帇嫻?/title><link>http://www.shnenglu.com/yangsf5/archive/2013/10/17/203784.html</link><dc:creator>Sheppard Y</dc:creator><author>Sheppard Y</author><pubDate>Thu, 17 Oct 2013 06:45:00 GMT</pubDate><guid>http://www.shnenglu.com/yangsf5/archive/2013/10/17/203784.html</guid><wfw:comment>http://www.shnenglu.com/yangsf5/comments/203784.html</wfw:comment><comments>http://www.shnenglu.com/yangsf5/archive/2013/10/17/203784.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/yangsf5/comments/commentRss/203784.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yangsf5/services/trackbacks/203784.html</trackback:ping><description><![CDATA[<p> </p><fieldset><legend><span style="color: #ff0000;"> 2016-07-11 鏃ユ洿鏂?nbsp;</span></legend><div><span style="color:red;">姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span></div><div></div><a ><div><span style="color:red;">http://blog.clawz.me/2013/10/17/13-game-cluster-design-detail-1/</span></div></a></fieldset><a ><div></div><p> </p></a><p><br /></p><p>涓銆佽儗鏅?/p> <p>    欏圭洰寮濮嬪悗錛屽厛鏁插畾浜嗗ぇ浣撳彲妯悜鎵╁睍鐨勯泦緹ゆ灦鏋勶紙榪欐槸涓編濂界殑鏈熸湜錛夛紝鐒跺悗寮濮嬬紪鍐欏崟榪涚▼鐨勬湇鍔″櫒搴曞眰鍜岄昏緫錛岃鍓嶈竟鍑犱釜榪唬鍛ㄦ湡鐨勯昏緫鍐呭閰嶅悎瀹㈡埛绔窇璧鋒潵浜嗐?/p> <p>    鎺ョ潃灝辨槸灝嗗崟榪涚▼鐨勬灦鏋勬墿灞曡搗鏉ワ紝璁捐涓婄粏鍖栦笅鏋舵瀯鐨勬墿灞曘傚凡鍐欏湪鍓嶇瘒銆婁紤闂叉墜娓告湇鍔″櫒闆嗙兢鎵╁睍鎬濊冦嬮噷銆傛渶榪戠殑涓ゅ懆鍦ㄥ皢涔嬪墠鍗曡繘紼嬬殑鏈嶅姟鍣ㄦ灦鏋勯噷閮ㄥ垎妯″潡鎵╁睍涓烘敮鎸佽繖綃囬殢絎旈噷鎻愬埌鐨勯泦緹ゆ灦鏋勩?/p> <p>    瀹炵幇鐨勮繃紼嬩腑紕板埌鐨勪竴浜涢渶瑕佷粩緇嗚璁$殑緇嗚妭錛屽師鍒欎笂榪樻槸K.I.S.S銆?/p> <p> </p> <p>浜屻佸叏鏈嶇帺瀹跺湪綰跨姸鎬?/p> <p>    閫昏緫鏈嶅姟鍣ㄩ泦緹ょ殑璐熻澆鍧囪 綆楁硶榪樻病瀹炵幇銆傚厛鍙墿灞曠帺瀹墮棿鐨勫悓鏈嶉氫俊涓哄紓鏈嶉氫俊錛堥氳繃redis鐨刾ub/sub錛屼互涓嬪皢榪欎釜鐢ㄤ簬閫氫俊杞彂鐨剅edis綆縐頒負閫氫俊redis錛夈?/p> <p>    闂閾撅細錛?#8220;-->>”寮曞嚭鐨勪笅涓棶棰樿褰撳墠闂鎵渚濊禆錛?/p> <p>        閫氫俊鍙戣搗鏂歸渶瑕佺煡閬撶洰鏍囨柟鍦ㄩ昏緫闆嗙兢閲岀殑鍝釜鏈嶅姟鍣ㄤ笂 -->></p> <p>        鐜╁鐧婚檰鍜岄鍑烘椂寰閫氫俊redis鎶ュ憡 -->></p> <p>        鐧婚檰鏃舵鏌ヨ處鍙鋒槸鍚︽敞鍐屽埌鎴戜滑鐨勬父鎴忥紝鍚﹀氨娉ㄥ唽 -->></p> <p>        </p> <p>錛堜竴錛夌櫥闄嗗拰娉ㄥ唽</p> <p>    鐜╁鎷垮埌鐢ㄦ埛緋葷粺鐨勮處鍙鋒潵鐧婚檰鎴戜滑娓告垙鏈嶅姟鍣ㄣ傛父鎴忔湇鍔″櫒鎷縞lient緇欑殑榪欎釜code鍐嶅幓鐢ㄦ埛緋葷粺鏈嶅姟鍣ㄥ仛楠岃瘉錛岄氳繃鍚庣戶緇?/p> <p>    媯鏌ヨ處鍙鋒槸鍚﹀湪鎴戜滑娓告垙娉ㄥ唽錛屽鏋滄病鏈夊垯娉ㄥ唽涓婏紝鏄犲皠鍑烘父鎴忔湇鍔″櫒涓婄殑涓涓猯ocal uid銆傝繖閲岄渶瑕佹鏌ョ帺瀹舵槸鍚﹀湪娓告垙娉ㄥ唽浜嗭紝鎵浠ラ渶瑕佷竴涓猵latform uid涓巐ocal uid鐨勬槧灝勮〃銆傝繖涓槧灝勪箣鍓嶅崟榪涚▼鏈嶅姟鍣ㄦ椂涓庡叾浠栬鑹叉暟鎹斁鍦ㄧ浉鍚宺edis涓婄殑錛岀幇鍦ㄧЩ鍒板叏灞綾葷殑redis涓婏紙浠ヤ笅綆縐板叏灞redis錛屾殏鏃舵槸灝嗛氫俊redis鍜屽叏灞redis鏀句竴璧風殑錛岀瓑浠ュ悗鐪嬪帇嫻嬪拰綰夸笂鍙嶉鍐嶅仛婕斿彉錛夈傚彟澶栫敤鏉ユ湰鍦版敞鍐岀敓鎴恖ocal uid鐨勮嚜澧為暱id涔熺Щ鍒頒簡鍏ㄥ眬redis涓娿?/p> <p>    ​媯鏌ュ畬娉ㄥ唽錛屽緱鍒發ocal uid錛屽厛鐪嬫槸鍚﹀湪鏈湇鍔″櫒鐧婚檰浜嗭紝鍚﹀垯鍐嶅悜閫氫俊redis鏌ョ湅鏄惁鐧婚檰鍦ㄥ叾浠栨湇鍔″櫒銆傚鏋滃凡鐧婚檰錛屽垯韙㈡帀涔嬪墠鐨勭櫥闄嗐備箣鍓嶅崟榪涚▼鍙湁鍚屾湇閲嶅鐧婚檰韙漢錛岀幇鍦ㄥ涓紓鏈嶉噸澶嶇櫥闄嗙殑韙漢鎿嶄綔銆?/p> <p>    鐧婚檰鎴愬姛鍚戦氫俊redis鎶ュ憡local uid鍜屾墍鍦ㄧ殑榪欎釜logic鏈嶅姟鍣ㄧ殑server id銆傚彟澶栭鍑烘椂涔熷悜閫氫俊redis鎶ュ憡錛屾敞閿鎺夎繖鏉¤褰曘?/p> <p> </p> <p>錛堜簩錛夊紓鏈嶉氫俊</p> <p>    姣忎釜閫昏緫鏈嶅姟鍣ㄩ兘涓庨氫俊redis寤虹珛鐢ㄤ簬pub/sub鐨勯摼鎺ワ紝鍚勯昏緫鏈嶅姟鍣ㄦ湁鑷繁鐨勯閬撱?/p> <p>    寮傛湇涓婄殑鐜╁閫氫俊鏃訛紝浠庨氫俊redis鎷垮埌鐩爣鐜╁鎵鍦╯erver id錛岃鍚庡悜鐩爣server鎵瀵瑰簲鐨勪笓鏈夐閬損ub鏁版嵁鍗沖彲銆?/p> <p>    </p> <p>涓夈佸帇嫻嬪伐鍏?/p> <p>    鍔犱簡榪欎釜闆嗙兢鎵╁睍鍚庯紝搴曞眰嫻嬭瘯鍙槸鍗曞厓嫻嬭瘯鏄笉澶熺殑銆傚弽姝h鍘嬪姏嫻嬭瘯宸ュ叿榪熸棭瑕佸啓錛屽氨鍏堝啓浜嗙畝鍗曠増鐨勫帇嫻嬪伐鍏鳳紝鏉ュ仛寮傛湇閫氫俊鐨勮嚜鍔ㄥ寲嫻嬭瘯銆?/p> <p>    鍘嬫祴宸ュ叿寮濮嬬殑鎯蟲硶鎸哄鐨勶紝鍚庢潵鎶涘純浜嗕竴浜涚煭鏈熶笉濂藉疄鐜扮殑鎯蟲硶銆傜幇鍦ㄥ氨綆鍗曠殑錛屼竴涓猚lient涓涓狢lient struct錛岃繖涓鐞哻lient鐨勯氫俊鍙戦佹帴鏀躲傚仛鐩稿悓鍔ㄤ綔鐨刢lient涓轟竴涓狦roup struct銆傛瘡涓姩浣滀負涓涓猂ule struct錛岄噷杈圭粍鍚堝ソ鏀跺埌浠涔堝寘鍚庡仛浠涔堜簨鎯咃紝鎴栬呯洿鎺ュ彂浜涗粈涔堝寘銆?/p> <p>    c++绔父鍘嬫祴鐨勬瘡涓猂ule鍔ㄤ綔涓鑸敤lua鏉ュ啓鐨勶紝姣旇緝鏂逛究錛屾垜浠繖涓帇嫻嬪伐鍏風敤go鍐欙紝rule鏆傛椂涔熺敤go鍐欙紝涔熶笉楹葷儲銆?/p> <p>    鎰熸叏涓嬶紝榪欑騫惰鐨勫簲鐢ㄥ満鏅紝go鐨勭紪紼嬫濈淮涓庡叿浣撳啓娉曟瘮node.js鏇撮傚悎c/c++鍑鴻韓鐨勭▼搴忓憳銆?/p><p> </p><img src ="http://www.shnenglu.com/yangsf5/aggbug/203784.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yangsf5/" target="_blank">Sheppard Y</a> 2013-10-17 14:45 <a href="http://www.shnenglu.com/yangsf5/archive/2013/10/17/203784.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浼戦棽鎵嬫父鏈嶅姟鍣ㄩ泦緹ゆ墿灞曟濊?/title><link>http://www.shnenglu.com/yangsf5/archive/2013/09/30/203500.html</link><dc:creator>Sheppard Y</dc:creator><author>Sheppard Y</author><pubDate>Mon, 30 Sep 2013 02:46:00 GMT</pubDate><guid>http://www.shnenglu.com/yangsf5/archive/2013/09/30/203500.html</guid><wfw:comment>http://www.shnenglu.com/yangsf5/comments/203500.html</wfw:comment><comments>http://www.shnenglu.com/yangsf5/archive/2013/09/30/203500.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/yangsf5/comments/commentRss/203500.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yangsf5/services/trackbacks/203500.html</trackback:ping><description><![CDATA[<div></div><fieldset><legend><span style="color: #ff0000;">2016-07-11 鏃ユ洿鏂?nbsp;</span></legend><div><span style="color:red;">姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span></div><div></div><a ><div><span style="color:red;">http://blog.clawz.me/2013/09/30/13-mobile-game-cluster-design/</span></div></a></fieldset><a ><div></div><p> </p></a><p><br />涓銆佺洰鏍?/p> <p>    鑳芥í鍚戞墿灞曪紝鏋舵瀯瑕佺畝鍗曪紝鑳藉仛鍒拌礋杞藉潎琛★紝閬垮厤鍗曡妭鐐硅礋杞藉お杞葷殑璧勬簮嫻垂銆?/p> <p> </p> <p>浜屻佹暟鎹瓨鍌ㄧ殑DB闆嗙兢</p> <p>    ​鏁版嵁瀛樺偍綾誨瀷鏈夊縐嶃?/p> <p>錛堜竴錛夐潪浜や簰鎬х殑涓漢鏁版嵁</p> <p>    ​鍙氳繃綆鍗曠殑id鍒嗘銆俰d涓?~10000鐨勭帺瀹朵釜浜烘暟鎹瓨鍌ㄥ湪db1錛宨d涓?0001~20000鐨勭帺瀹朵釜浜烘暟鎹瓨鍌ㄥ湪db2錛屼互姝ょ被鎺ㄣ?/p> <p> </p> <p>錛堜簩錛変氦浜掓ф暟鎹?/p> <p>    ​濡傚ソ鍙嬪叧緋葷瓑銆?/p> <p>錛?錛夊鏋滃ソ鍙嬪叧緋誨彲浠ヤ負鍗曞悜錛岄偅涔堝彲浠ュ皢鍏崇郴瀛樺埌涓漢鏁版嵁閲屻?/p> <p>錛?錛夊鏋滃ソ鍙嬪叧緋諱笉鑳戒負鍗曞悜錛岄偅涔堥渶瑕佷繚璇佹瘡鏉″叧緋諱繚鎸佸湪瑕佷箞娌℃湁錛岃涔堜袱浜洪兘璁ゅ悓錛岃鏁版嵁涓婁竴鐩達紝浜掔浉鏈夊叧緋匯傞偅涔堥渶瑕佷繚璇佺浉鍏崇殑鍏崇郴鎿嶄綔鐨勪竴鑷存с傝繖鏍峰彲鑳藉彧淇濆瓨涓浠芥瘡涓や釜浜轟箣闂寸殑鍏崇郴錛宬-v瀛樺偍鏃墮渶瑕佹柟鍚戞煡鎵撅紝涓嶇煡鏄惁鑳藉疄鐜般?/p> <p> </p> <p>錛堜笁錛夊叏灞鏁版嵁</p> <p>    ​濡傚叏灞鎺掕姒滀箣綾葷殑銆傝繖縐嶆斁鍦ㄥ崟鐙殑搴撻噷閲岋紝涓撻棬鍋氬叏灞鏁版嵁鐨勫瓨鍌ㄣ傚綋鍒頒竴瀹氳妯℃椂錛屾寜鍏ㄥ眬鏁版嵁鐨勭被鍨嬪啀鍒嗗簱銆?/p> <p>    ​瀹舵棌銆佸府浼氱瓑錛屼篃鏀懼崟鐙殑搴撻噷銆傚鏋滈渶瑕佹墿灞曪紝鍐嶆寜瀹舵棌id銆佸府浼歩d鏉ュ垎搴撱?/p> <p> </p> <p>涓夈侀昏緫鏈嶅姟鍣ㄩ泦緹ゅDB闆嗙兢鐨勮闂?/p> <p>    ​DB闆嗙兢鐨勮礬鐢辮鍒欓厤緗埌閫昏緫鏈嶅姟鍣ㄧ殑config閲屻傚綋闇瑕佺儹鎵╁睍DB鏃訛紝鍚姩鏂癉B鍚庯紝緇欏悇logic鏈嶅姟鍣ㄥ彂閫丟M鎸囧畾錛宺eload璺敱瑙勫垯鐨刢onfig銆?/p> <p>    ​DB闆嗙兢璺敱瑙勫垯鐨刢onfig錛屽彲浠ユ斁鍦ㄤ竴涓叕鍏卞湴鏂癸紝鍚刲ogic鏈嶅姟鍣ㄦ帴鍒癎M鎸囦護鍚庯紝鍘誨叕鍏卞湴鏂規媺鍙栨柊鐨刢onfig鐒朵細reload銆?/p> <p> </p> <p>鍥涖侀昏緫鏈嶅姟鍣ㄩ泦緹?/p> <p>    ​涓轟簡鏋舵瀯鐨勭畝鍗曪紝鍙互姣忎釜閫昏緫鏈嶅姟鍣ㄨ繘紼嬩笂閮芥湁鎵鏈夐昏緫錛屾墿灞曟椂錛屼互鎵╁睍閫昏緫鏈嶅姟鍣ㄨ繘紼嬫暟閲忔潵杈懼埌銆?/p> <p>錛堜竴錛夊悇閫昏緫鏈嶅姟鍣ㄤ笂鐜╁鍒嗛厤</p> <p>    ​閫昏緫鏈嶅姟鍣ㄩ泦緹や箣闂寸殑浜や簰銆傚鏋滈昏緫鏈嶅姟鍣ㄧ殑浣跨敤錛屼篃鍍忎釜浜烘暟鎹瓨鍌ㄧ殑DB閭f牱id鍒嗘——鍙1~10000鐨勭帺瀹剁櫥闄唋ogic1錛?0001~20000鐨勭帺瀹剁櫥闄唋ogic2鏃訛紝榪欏緢綆鍗曪紝浣嗗悇id鏂殑鐜╁媧昏穬搴︿笉瀹氱殑錛屽仛涓嶅埌璐熻澆鍧囪 鍟娿?/p> <p>    ​鎵浠ユ槸鏍規嵁褰撴椂鐨勮礋杞芥儏鍐碉紝鏉ユ帹鑽愮帺瀹剁櫥闄嗛棽鐨勯昏緫鏈嶅姟鍣ㄧ殑銆傝繖鏍烽渶瑕佹湁涓叏灞鏄犲皠錛岀煡閬撳摢涓帺瀹剁櫥闄嗗湪鍝釜鏈嶅姟鍣ㄤ笂銆傚彲浠ュ皢鐜╁褰撳墠鎵鍦ㄧ殑鏈嶅姟鍣╥d璁板綍鍦ㄨ鐜╁鐨勪釜浜烘暟鎹墍鍦ㄧ殑db閲屻?/p> <p>錛堜簩錛夐昏緫鏈嶅姟鍣ㄩ棿鐨勯氫俊</p> <p>    ​鐩墠欏圭洰鎸佷箙鍖栦嬌鐢╮edis錛屾渶蹇嚭涓滆タ錛屽氨鍏堣冭檻redis鐨勪紭鍔褲?/p> <p>    ​閫昏緫鏈嶅姟鍣ㄩ棿鐨勯氫俊錛岄氳繃鍏ㄥ眬鏁版嵁瀛樺偍鐨剅edis鏉ュ仛pub/sub杞彂鍚с?/p> <p>    ​redis鐨刾ub鍜宻ub鐨勫疄鏃舵т笉澶熸椂錛?#8203;灝嗘湁瀹炴椂鎬ч渶姹傜殑鐜╁閮借漿鍒頒竴涓笓闂ㄥ仛寮哄疄鏃舵х殑鐗規畩閫昏緫鏈嶅姟鍣ㄣ?/p> <p> </p> <p>浜斻丳S</p> <p>    ​鍏徃鐨勯」鐩槸Node.js+Redis錛屼笟浣欐椂闂存墦綆楃敤Go鍐欎釜鏈嶅姟鍣ㄥ紩鎿庛?/p> <p>    ​榪欑瘒鑰冭檻鍙戝埌綺懼崕鍖猴紝鍙互寰楀埌寰堝鐨勬壒璇勫緩璁?/p><img src ="http://www.shnenglu.com/yangsf5/aggbug/203500.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yangsf5/" target="_blank">Sheppard Y</a> 2013-09-30 10:46 <a href="http://www.shnenglu.com/yangsf5/archive/2013/09/30/203500.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>node.js鎵嬫父鏈嶅姟鍣ㄨ皟鐮?/title><link>http://www.shnenglu.com/yangsf5/archive/2013/08/12/202497.html</link><dc:creator>Sheppard Y</dc:creator><author>Sheppard Y</author><pubDate>Mon, 12 Aug 2013 09:21:00 GMT</pubDate><guid>http://www.shnenglu.com/yangsf5/archive/2013/08/12/202497.html</guid><wfw:comment>http://www.shnenglu.com/yangsf5/comments/202497.html</wfw:comment><comments>http://www.shnenglu.com/yangsf5/archive/2013/08/12/202497.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/yangsf5/comments/commentRss/202497.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yangsf5/services/trackbacks/202497.html</trackback:ping><description><![CDATA[<div></div><fieldset><legend><span style="color: #ff0000;">2016-07-08 鏃ユ洿鏂?nbsp;</span></legend><div><span style="color:red;">姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span></div><div></div><a ><div><span style="color:red;">http://blog.clawz.me/2013/08/12/13-nodejs-mobile-game-server-research/</span></div></a></fieldset><a ><div></div><p> </p></a><p><br />涓銆乶ode.js鑳藉仛鍟?/p> <p>    <a _>http://www.infoq.com/cn/articles/what-is-nodejs</a></p> <p> </p> <p>浜屻佹潅欏歸棶棰?/p> <p>1. http鐨勯暱榪炴帴鏄笉鏄篃鏄彧鑳絩eq/rep妯″紡錛岃兘瀹炵幇鏈嶅姟鍣ㄧpush鍚楋紵</p> <p>    http鐨勯暱榪炴帴鍗矵TTP keep-alive錛圚TTP1.1閲屽姞鍏ワ級錛岃繖涓師鐢熺殑鍙槸涓轟簡鏇村皯鐨勫緩绔嬪拰鍏抽棴tcp閾炬帴錛屽彲浠ュ噺灝戠綉緇滄祦閲忥紱鍥犱負宸插緩绔嬬殑tcp鎻℃墜錛屽噺灝戝悗緇姹傜殑寤舵椂絳夈傝繖涓猦ttp闀胯繛鎺ヤ笉鏀寔鍏ㄥ弻宸ラ氫俊銆?/p> <p>    http瀹炵幇“鏈嶅姟鍣ㄦ帹”鐨勬妧鏈紝涓鏄熷姪瀹㈡埛绔疐lash XMLSocket鎴栬匤ava Applet濂楁帴鍙f潵瀹炵幇錛涘彟涓縐嶆槸comet鎶鏈傦紙榪樻湁涓縐嶉伃緗殑瀹㈡埛绔互涓瀹氶棿闅斿悜鏈嶅姟鍣ㄥ彂鍑鴻姹傜殑杞灝變笉鎻愪簡錛?/p> <p>    comet鏈変袱縐嶏細</p> <p>        錛?錛夊熀浜嶢JAX鐨勯暱杞錛坙ong-polling鎶鏈級</p> <p>        錛?錛夊熀浜?Iframe 鍙?htmlfile 鐨勬祦錛坰treaming錛夋柟寮?/p> <p>    榪欎袱縐嶆柟寮忕湅鎻忚堪宸茬粡紱繪墜娓告湇鍔″櫒宸繙浜嗭紝灝變笉鍘繪嫑鎯瑰畠浠簡鍚с?/p> <p> </p> <p>2. 澶ц妯$綉绔欑殑鏋舵瀯錛熸庝箞鍋氬埌姘村鉤鎵╁睍鐨勶紵</p> <p>    緗戠珯鐨勯渶姹傝窡娓告垙涓嶄竴鏍鳳紝緗戠珯閮芥槸http灝卞浜嗭紝req/rep鍗沖彲錛屾病鏈変氦浜掔瓑騫挎挱鍚屾涔嬬被鐨勫鏉傜姸鎬併?/p> <p>    錛坧omelo閲岃〃紺烘父鎴忕殑涓氬姟妯″瀷寰堥毦鍋氬埌浼犵粺緗戠珯閭g鏃犻檺姘村鉤鎵╁睍錛?/p> <p> </p> <p>3. websocekt鏄粈涔堬紵</p> <p>    html5寮濮嬫彁渚涚殑錛屼負浜嗕嬌嫻忚鍣ㄥ拰鏈嶅姟鍣ㄩ棿榪涜鍏ㄥ弻宸ラ氳鐨勯暱閾炬帴鍗忚銆倃ebsocket鍗忚鏈川涓婃槸涓涓熀浜嶵CP鐨勯暱榪炴帴鍗忚銆備笌浼犵粺C/S闀胯繛鎺ョ殑鍖哄埆鍦ㄤ簬錛寃ebsocket閾炬帴寮濮嬫椂鐨勬彙鎵嬪崗璁紝瀹㈡埛绔鍏堣鍚戞湇鍔″櫒鍙戣搗涓涓狧TTP楠戠墰錛岃繖涓姹傚拰閫氬父鐨凥TTP璇鋒眰涓嶅悓錛屽寘鍚簡涓涓檮鍔犱俊鎭?Upgrade:WebSocket"琛ㄦ槑鐢寵鍗忚鍗囩駭錛屾湇鍔″櫒鍥炲簲鍚庯紝鍗蟲彙鎵嬪畬鎴愶紝websocket閾炬帴寤虹珛璧鋒潵錛屽弻鏂硅嚜鐢遍氫俊錛岀洿鍒頒竴鏂瑰叧闂摼鎺ャ?/p> <p>    websocket鐩稿浜巋ttp鐨勪紭鐐癸紝闄や簡鍏ㄥ弻宸ラ氳錛岃繕鏈夋湇鍔″櫒涓庡鎴風浜ゆ崲鐨刪eader淇℃伅寰堝皬銆?/p> <p>    websocket涓庝紶緇焥ocket鐨勫尯鍒紝鍓嶈呮湁甯у崗璁紝涓嶉渶瑕佷笂灞傚仛鎷煎寘浜嗐?/p> <p> </p> <p>4. redis鍙互鐩存帴鎼為泦緹ゅ悧錛?/p> <p>    鏁版嵁閲忓お澶ф椂錛宺edis鐨勬寔涔呭寲浼氬獎鍝嶆ц兘錛岃В鍐蟲柟妗堟椂鐢ㄤ釜slave涓撹亴鍋氭寔涔呭寲銆傚彟澶杛edis瀹圭伨鍜屼紶緇焪eb搴旂敤鐨勫噺鍘嬶紝灝卞紑澶氫釜slave錛岀敤浜庡垎鎷呰鐨勫帇鍔涖?/p> <p>    褰撳簱鍒頒竴瀹氭暟閲忔椂錛屽彲浠ョ敤鍒嗗簱鍒嗚〃鏉ユ按騫蟲墿灞曘?nbsp;</p> <p> </p> <p>5. node.js鑳界敤c++鎵╁睍鍚楋紵</p> <p>    v8鍜宯ode閮芥槸c++鍐欑殑銆?/p> <p> </p> <p>涓夈佺綉鏄損omelo鑳藉共浜涘暐</p> <p>    鍒嗗竷寮忔湇鍔″櫒錛屾柟渚挎墿灞曘傚彟澶栧疄鐜頒簡寰堝娓告垙甯哥敤妯″潡錛屽aoi絳夈?/p> <p> </p> <p>鍥涖佸叕鍙哥殑node.js妗嗘灦鏈夊摢浜涗笉鑳藉仛鐨?/p> <p>1. websocket瀹炵幇浜嗗悧錛?/p> <p>    瀹炵幇涓?/p> <p>2. 鏂逛究鍒嗗竷寮忔墿灞曞悧錛?/p> <p>    璨屼技娌℃湁pomelo閭d箞鏂逛究銆?nbsp;</p> <p> </p> <p>浜斻佹葷粨</p> <p>    ​node.js鍋氭墜娓告湇鍔″櫒鐨勫紑鍙戣繕鏄尯鏂逛究鐨勶紝pomelo宸茬粡鍋氬緢澶氫簨鎯?#8230;…</p> <p> </p> <p>N銆佸弬鑰?/p> <p>1. Comet錛氬熀浜?HTTP 闀胯繛鎺ョ殑“鏈嶅姟鍣ㄦ帹”鎶鏈細<a _>http://www.ibm.com/developerworks/cn/web/wa-lo-comet/</a></p> <p>2. WebSocket錛?a _>http://zh.wikipedia.org/wiki/WebSocket</a></p> <p>3. 浣跨敤 HTML5 WebSocket 鏋勫緩瀹炴椂 Web 搴旂敤錛?a _>http://www.ibm.com/developerworks/cn/web/1112_huangxa_websocket/</a></p> <p>4. pomelo錛?a _>https://github.com/NetEase/pomelo</a></p> <p>5. HTTP闀胯繛鎺ワ細<a _>http://www.blogjava.net/xjacker/articles/334709.html</a></p> <p>6. Redis澶嶅埗涓庡彲鎵╁睍闆嗙兢鎼緩錛?a _>http://www.infoq.com/cn/articles/tq-redis-copy-build-scalable-cluster</a></p><img src ="http://www.shnenglu.com/yangsf5/aggbug/202497.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yangsf5/" target="_blank">Sheppard Y</a> 2013-08-12 17:21 <a href="http://www.shnenglu.com/yangsf5/archive/2013/08/12/202497.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>X欏圭洰C++鏈嶅姟鍣紙1錛? 鎬諱綋鏋勬兂http://www.shnenglu.com/yangsf5/archive/2013/04/25/199704.htmlSheppard YSheppard YThu, 25 Apr 2013 06:52:00 GMThttp://www.shnenglu.com/yangsf5/archive/2013/04/25/199704.htmlhttp://www.shnenglu.com/yangsf5/comments/199704.htmlhttp://www.shnenglu.com/yangsf5/archive/2013/04/25/199704.html#Feedback0http://www.shnenglu.com/yangsf5/comments/commentRss/199704.htmlhttp://www.shnenglu.com/yangsf5/services/trackbacks/199704.html
2016-07-08 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>

 

http://blog.clawz.me/2013/04/25/13-x-cpp-server/ 

 

 

涓銆佺畝浠?/p>

    榪欎釜欏圭洰鍒氳搗姝ワ紝灝嗘潵鏈夊彲鑳戒細婕斿彉涓哄叕鍙哥殑鏈嶅姟鍣ㄦ鏋躲傚崥瀹㈤噷鏆備笖縐板懠涓篨欏圭洰銆?/p>

    璇█涓篶++錛屼箣鍚庡皢姝ゆ湇鍔″櫒鐨勮璁℃紨鍙樺敖閲忚褰曚笅鏉ワ紝涓轟竴涓郴鍒楋紝浠?#8220;X欏圭洰C++鏈嶅姟鍣?#8221;涓虹粺涓鏍囬寮澶淬?/p>

 

浜屻佹灦鏋勮璁?/p>

錛堜竴錛夊榪涚▼閫氫俊鏂規

    zeromq

錛堜簩錛夊崗璁柟妗?/p>

    protobuf 

錛堜笁錛夊瓨鍌?/p>

    redis

錛堝洓錛夎剼鏈?/p>

    luaplus

錛堜簲錛夋棩蹇?/p>

    glog

 

涓夈佽嚜鍔ㄦ瀯寤洪儴緗?/p>

    鑷姩鏋勫緩絳変負鏁忔嵎寮鍙戞彁渚涗繚闅溿?/p>

    涔嬪墠緇忓巻鐨勯偅浜涢」鐩紙鍏朵腑鍖呮嫭涓氬唴姣旇緝鏈夊悕鐨?涓ぇ鍨嬮」鐩級鍦ㄨ嚜鍔ㄦ瀯寤洪儴緗叉柟闈㈠熀鏈負0錛屽紑鍙戞晥鐜囦笉楂橈紝榪欐鏂伴」鐩噯澶囦粠涓寮濮嬪氨鍋氳繖鏂歸潰鐨勫噯澶囥?/p>

錛堜竴錛夊崟嫻?/p>

    鍗曟祴妗嗘灦鑰冭檻google鐨刧test銆?/p>

 



]]>PHP/Java Bridge鐨勪嬌鐢?/title><link>http://www.shnenglu.com/yangsf5/archive/2013/04/08/199230.html</link><dc:creator>Sheppard Y</dc:creator><author>Sheppard Y</author><pubDate>Mon, 08 Apr 2013 10:20:00 GMT</pubDate><guid>http://www.shnenglu.com/yangsf5/archive/2013/04/08/199230.html</guid><wfw:comment>http://www.shnenglu.com/yangsf5/comments/199230.html</wfw:comment><comments>http://www.shnenglu.com/yangsf5/archive/2013/04/08/199230.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/yangsf5/comments/commentRss/199230.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yangsf5/services/trackbacks/199230.html</trackback:ping><description><![CDATA[<div></div><fieldset><legend><span style="color: #ff0000;">2016-07-06 鏃ユ洿鏂?nbsp;</span></legend><div><span style="color:red;">姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span></div><div></div><a ><div><span style="color:red;">http://blog.clawz.me/2013/01/18/13-php-java-bridge/</span></div></a></fieldset><a ><div></div><p> </p></a><p><br />涓銆侀渶姹傝儗鏅?/p> <p>    涔嬪墠浠嬬粛榪囨垜浠」鐩殑鏋舵瀯錛岀敱浜庡巻鍙插師鍥狅紝鏋舵瀯婕斿彉鎴恆s<-->java<-->php榪欐牱錛宩ava涓巃s閫氳繃tcp闀胯繛鎺ラ氫俊錛宩ava涓巔hp閫氳繃涓ゆ潯http閫氶亾鏉ラ氫俊錛坖ava涓巔hp鍚勮嚜鏈変釜http server錛屽茍鍚勮嚜浣滀負瀵規柟鐨刪ttp client錛宩ava杞彂as浠ュ墠鐨刾ost緇檖hp錛沺hp闇瑕佽法session鎺ㄩ佹垨鑰呭箍鎾椂鍙樹負http client鍚慾ava鐨刪ttp server鍋歱ost錛夈?/p> <p>    榪欎箣鍓嶇殑鏋舵瀯鏄痑s鐨勫姛鑳介昏緫澶ч儴鍒嗙洿鎺ヤ笌php榪涜http閫氫俊銆?/p> <p>    欏圭洰鐨勭洰鏍囨槸鎱㈡參灝唒hp閮ㄥ垎鍐欑殑緋熺硶鐨勫凡鏈夐昏緫錛堜緥濡傚府媧捐繖縐嶄氦浜掑拰騫挎挱鍚屾姣旇緝澶氱殑錛夋敼鍒癹ava鏈嶅姟鍣ㄤ笂銆傞」鐩漢鍛橀厤澶囪窡涓嶄笂錛屾墍浠ヤ笉鑳戒竴涓嬪瓙鍏ㄨ漿浜嗐?/p> <p>    濡傛灉鐢ㄤ箣鍓嶇殑涓ゆ潯http閫氶亾鏉ュ皬姝ュ揩璺戝紡鐨勭Щ閫昏緫錛屽氨闇瑕佸啀灝佽榪欎袱涓氶亾涔嬮棿鐨勯氫俊錛岃垂鏃墮棿榪樹笉涓瀹氬ソ浣匡紝鎵浠ユ垜浠渶瑕佷竴涓猨ava鐩存帴璋冪敤php鐨勬妧鏈?/p> <p>    goole浜嗚В鍚庯紝鏈緇堝喅瀹氫嬌鐢≒HP/Java Bridge銆?nbsp;</p> <p> </p> <p>浜屻丳HP/Java Bridge</p> <p>錛堜竴錛夌ず渚?/p> <p>CallPhp.java<br /></p><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: #0000FF; ">package</span> me.sheppardy.study;<br /><span style="color: #008080; "> 2</span> <br /><span style="color: #008080; "> 3</span> <span style="color: #0000FF; ">import</span> java.io.ByteArrayOutputStream;<br /><span style="color: #008080; "> 4</span> <span style="color: #0000FF; ">import</span> java.io.FileReader;<br /><span style="color: #008080; "> 5</span> <br /><span style="color: #008080; "> 6</span> <span style="color: #0000FF; ">import</span> javax.script.ScriptEngine;<br /><span style="color: #008080; "> 7</span> <span style="color: #0000FF; ">import</span> javax.script.ScriptEngineManager;<br /><span style="color: #008080; "> 8</span> <br /><span style="color: #008080; "> 9</span> <span style="color: #008000; ">/**</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span> <span style="color: #008000; "> * <br /></span><span style="color: #008080; ">11</span> <span style="color: #008000; "> * PHP/Java Bridge, example<br /></span><span style="color: #008080; ">12</span> <span style="color: #008000; "> * </span><span style="color: #808080; ">@author</span><span style="color: #008000; "> sheppard(ysf1026@gmail.com) 2013-01-18<br /></span><span style="color: #008080; ">13</span> <span style="color: #008000; "> *<br /></span><span style="color: #008080; ">14</span> <span style="color: #008000; "> </span><span style="color: #008000; ">*/</span><br /><span style="color: #008080; ">15</span> <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">class</span> CallPhp<br /><span style="color: #008080; ">16</span> {<br /><span style="color: #008080; ">17</span>         <br /><span style="color: #008080; ">18</span>         <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">static</span> <span style="color: #0000FF; ">void</span> main(String[] args) <span style="color: #0000FF; ">throws</span> Exception<br /><span style="color: #008080; ">19</span>         {<br /><span style="color: #008080; ">20</span>                 test(1104);<br /><span style="color: #008080; ">21</span>                 test(531);<br /><span style="color: #008080; ">22</span>                 test(1221);<br /><span style="color: #008080; ">23</span>                 test(110);<br /><span style="color: #008080; ">24</span>         }<br /><span style="color: #008080; ">25</span>         <br /><span style="color: #008080; ">26</span>         <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">static</span> <span style="color: #0000FF; ">void</span> test(<span style="color: #0000FF; ">int</span> id) <span style="color: #0000FF; ">throws</span> Exception<br /><span style="color: #008080; ">27</span>         {<br /><span style="color: #008080; ">28</span>                 Response rep = <span style="color: #0000FF; ">new</span> Response();<br /><span style="color: #008080; ">29</span>                 call(<span style="color: #0000FF; ">new</span> Request(id), rep);<br /><span style="color: #008080; ">30</span>                 System.out.println("CallPhp.test, id=" + id + " message=" + rep.message);<br /><span style="color: #008080; ">31</span>         }<br /><span style="color: #008080; ">32</span>         <br /><span style="color: #008080; ">33</span>         <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">static</span> <span style="color: #0000FF; ">void</span> call(Request req, Response rep) <span style="color: #0000FF; ">throws</span> Exception<br /><span style="color: #008080; ">34</span>         {<br /><span style="color: #008080; ">35</span>                 ScriptEngineManager engineManager = <span style="color: #0000FF; ">new</span> ScriptEngineManager();<br /><span style="color: #008080; ">36</span>                 ScriptEngine engine = engineManager.getEngineByName("php-invocable");<br /><span style="color: #008080; ">37</span> <br /><span style="color: #008080; ">38</span>                 ByteArrayOutputStream log = <span style="color: #0000FF; ">new</span> ByteArrayOutputStream();<br /><span style="color: #008080; ">39</span> <br /><span style="color: #008080; ">40</span>                 <span style="color: #0000FF; ">try</span><br /><span style="color: #008080; ">41</span>                 {<br /><span style="color: #008080; ">42</span>                         engine.put("phpRootDir", "data/php");<br /><span style="color: #008080; ">43</span>                         engine.put("log", log);<br /><span style="color: #008080; ">44</span>                         engine.put("req", req);<br /><span style="color: #008080; ">45</span>                         engine.put("rep", rep);<br /><span style="color: #008080; ">46</span>                         FileReader reader = <span style="color: #0000FF; ">new</span> FileReader("data/php/gate.php");<br /><span style="color: #008080; ">47</span>                         engine.eval(reader);<br /><span style="color: #008080; ">48</span>                         System.out.println("CallPhp.call phpLog=" + log.toString());<br /><span style="color: #008080; ">49</span>                 }<br /><span style="color: #008080; ">50</span>                 <span style="color: #0000FF; ">catch</span>(Exception e)<br /><span style="color: #008080; ">51</span>                 {<br /><span style="color: #008080; ">52</span>                         System.out.println("CallPhp.call phpLog=" + log.toString());<br /><span style="color: #008080; ">53</span>                         <span style="color: #0000FF; ">throw</span> e;<br /><span style="color: #008080; ">54</span>                 }<br /><span style="color: #008080; ">55</span>         }<br /><span style="color: #008080; ">56</span> }<br /><span style="color: #008080; ">57</span> <br /><span style="color: #008080; ">58</span> <span style="color: #0000FF; ">class</span> Request<br /><span style="color: #008080; ">59</span> {<br /><span style="color: #008080; ">60</span>         <span style="color: #0000FF; ">public</span> Request(<span style="color: #0000FF; ">int</span> id)<br /><span style="color: #008080; ">61</span>         {<br /><span style="color: #008080; ">62</span>                 <span style="color: #0000FF; ">this</span>.id = id;<br /><span style="color: #008080; ">63</span>         }<br /><span style="color: #008080; ">64</span>         <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">int</span> id;<br /><span style="color: #008080; ">65</span> }<br /><span style="color: #008080; ">66</span> <br /><span style="color: #008080; ">67</span> <span style="color: #0000FF; ">class</span> Response<br /><span style="color: #008080; ">68</span> {<br /><span style="color: #008080; ">69</span>         <span style="color: #0000FF; ">public</span> String message;<br /><span style="color: #008080; ">70</span> }</div><p>java-bin/data/php/gate.php<br /></p><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> <?php<br /><span style="color: #008080; "> 2</span> <br /><span style="color: #008080; "> 3</span> <span style="color: #008000; ">/*</span><span style="color: #008000; ">*<br /></span><span style="color: #008080; "> 4</span> <span style="color: #008000; "> *<br /></span><span style="color: #008080; "> 5</span> <span style="color: #008000; "> * 鑴氭湰緇熶竴鍏ュ彛<br /></span><span style="color: #008080; "> 6</span> <span style="color: #008000; "> * @author sheppard(ysf1026@gmail.com) 2013-01-18<br /></span><span style="color: #008080; "> 7</span> <span style="color: #008000; "> *<br /></span><span style="color: #008080; "> 8</span> <span style="color: #008000; "> </span><span style="color: #008000; ">*/</span><br /><span style="color: #008080; "> 9</span> <br /><span style="color: #008080; ">10</span> <span style="color: #008080; ">define</span>('PHP_ROOT_DIR', java_context()->get('phpRootDir'));<br /><span style="color: #008080; ">11</span> <span style="color: #800080; ">$log</span> = java_context()->get('log');<br /><span style="color: #008080; ">12</span> <span style="color: #800080; ">$log</span>->write("\n\tjava give phpRootDir is " . PHP_ROOT_DIR);<br /><span style="color: #008080; ">13</span> <br /><span style="color: #008080; ">14</span> <span style="color: #0000FF; ">require_once</span>(PHP_ROOT_DIR . '/function.php');<br /><span style="color: #008080; ">15</span> <br /><span style="color: #008080; ">16</span> <span style="color: #800080; ">$log</span>->write(getDoomsday());<br /><span style="color: #008080; ">17</span> <br /><span style="color: #008080; ">18</span> <span style="color: #800080; ">$rep</span> = java_context()->get('rep');<br /><span style="color: #008080; ">19</span> <span style="color: #800080; ">$rep</span>->message = handle(java_context()->get('req'), <span style="color: #800080; ">$log</span>);<br /><span style="color: #008080; ">20</span> <br /><span style="color: #008080; ">21</span> ?></div><p> </p><p>java-bin/data/php/function.php<br /></p><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> <?php<br /><span style="color: #008080; "> 2</span> <br /><span style="color: #008080; "> 3</span> <span style="color: #008000; ">/*</span><span style="color: #008000; ">*<br /></span><span style="color: #008080; "> 4</span> <span style="color: #008000; "> *<br /></span><span style="color: #008080; "> 5</span> <span style="color: #008000; "> * 鍏蜂綋鍔熻兘涓句緥<br /></span><span style="color: #008080; "> 6</span> <span style="color: #008000; "> * @author sheppard(ysf1026@gmail.com) 2013-01-18<br /></span><span style="color: #008080; "> 7</span> <span style="color: #008000; "> *<br /></span><span style="color: #008080; "> 8</span> <span style="color: #008000; "> </span><span style="color: #008000; ">*/</span><br /><span style="color: #008080; "> 9</span> <br /><span style="color: #008080; ">10</span> <span style="color: #0000FF; ">function</span> getDoomsday()<br /><span style="color: #008080; ">11</span> {<br /><span style="color: #008080; ">12</span>         <span style="color: #0000FF; ">return</span> "\n\tdoomsday is 20121221";      <br /><span style="color: #008080; ">13</span> }<br /><span style="color: #008080; ">14</span> <br /><span style="color: #008080; ">15</span> <span style="color: #0000FF; ">function</span> handle(<span style="color: #800080; ">$req</span>, <span style="color: #800080; ">$log</span>)<br /><span style="color: #008080; ">16</span> {<br /><span style="color: #008080; ">17</span>         <span style="color: #800080; ">$id</span> = <span style="color: #800080; ">$req</span>->id;<br /><span style="color: #008080; ">18</span>         <span style="color: #800080; ">$log</span>->write("\n\tfunction.php handle id=$id");<br /><span style="color: #008080; ">19</span>         <span style="color: #0000FF; ">if</span>('1104' == <span style="color: #800080; ">$id</span>)<br /><span style="color: #008080; ">20</span>                 <span style="color: #0000FF; ">return</span> 'guess?';<br /><span style="color: #008080; ">21</span>         <span style="color: #0000FF; ">else</span> <span style="color: #0000FF; ">if</span>('531' == <span style="color: #800080; ">$id</span>)<br /><span style="color: #008080; ">22</span>                 <span style="color: #0000FF; ">return</span> 'score';<br /><span style="color: #008080; ">23</span>         <span style="color: #0000FF; ">else</span> <span style="color: #0000FF; ">if</span>('1221' == <span style="color: #800080; ">$id</span>)<br /><span style="color: #008080; ">24</span>                 <span style="color: #0000FF; ">return</span> 'maybe doomsday';<br /><span style="color: #008080; ">25</span>         <span style="color: #0000FF; ">else</span><br /><span style="color: #008080; ">26</span>                 <span style="color: #0000FF; ">return</span> '404 not found';<br /><span style="color: #008080; ">27</span> }<br /><span style="color: #008080; ">28</span> <br /><span style="color: #008080; ">29</span> ?></div><p> </p><p>output<br /></p><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> CallPhp.call phpLog=<br /><span style="color: #008080; "> 2</span> java give phpRootDir is data/php<br /><span style="color: #008080; "> 3</span> doomsday is 20121221<br /><span style="color: #008080; "> 4</span> <span style="color: #0000FF; ">function</span>.php handle id=1104<br /><span style="color: #008080; "> 5</span> CallPhp.test, id=1104 message=guess?<br /><span style="color: #008080; "> 6</span> CallPhp.call phpLog=<br /><span style="color: #008080; "> 7</span> java give phpRootDir is data/php<br /><span style="color: #008080; "> 8</span> doomsday is 20121221<br /><span style="color: #008080; "> 9</span> <span style="color: #0000FF; ">function</span>.php handle id=531<br /><span style="color: #008080; ">10</span> CallPhp.test, id=531 message=score<br /><span style="color: #008080; ">11</span> CallPhp.call phpLog=<br /><span style="color: #008080; ">12</span> java give phpRootDir is data/php<br /><span style="color: #008080; ">13</span> doomsday is 20121221<br /><span style="color: #008080; ">14</span> <span style="color: #0000FF; ">function</span>.php handle id=1221<br /><span style="color: #008080; ">15</span> CallPhp.test, id=1221 message=maybe doomsday<br /><span style="color: #008080; ">16</span> CallPhp.call phpLog=<br /><span style="color: #008080; ">17</span> java give phpRootDir is data/php<br /><span style="color: #008080; ">18</span> doomsday is 20121221<br /><span style="color: #008080; ">19</span> <span style="color: #0000FF; ">function</span>.php handle id=110<br /><span style="color: #008080; ">20</span> CallPhp.test, id=110 message=404 not found</div><br /><p> </p><p>錛堜簩錛夋敞鎰忎簨欏?/p> <p>1. 鐢變簬鏄痡ava璋冪敤鐨刾hp錛屾墍浠hp閲屽綋鍓嶅伐浣滆礬寰勫彉鎴愪簡java鐨勩?/p> <p>2. FileReader鍔犺澆*.php鏂囦歡涔嬪悗ScriptEngine.evel(FileReader)鐨勮楁椂澶ф涓?30+ms錛孲tringReader鏃朵負180+ms錛岄熷害閮戒笉鍜嬫淮錛屼絾鏄繖涓嶆槸鎴戜滑欏圭洰鎬ョ潃鑰冭檻鐨勯棶棰橈紝涔嬪墠鐨刪ttp鏂瑰紡涔熷ソ涓嶅埌鍝幓錛屼紭鍖栫暀鍒頒互鍚庡啀璇淬?/p> <p>3. php鐨勮В閲婂櫒榪愯璺緞閰嶇疆錛?Dphp.java.bridge.php_exec=銆?/p> <p> </p> <p>涓夈佺浉鍏寵祫鏂?/p> <p>1. 瀹樼綉錛?a data_ue_src="http://php-java-bridge.sourceforge.net/pjb/">http://php-java-bridge.sourceforge.net/pjb/</a></p> <p>2. 絎﹀悎java璋冭剼鏈爣鍑嗙殑璋僷hp紺轟緥錛?a data_ue_src="http://php-java-bridge.sourceforge.net/pjb/examples/source.php?source=PhpThreads.java">http://php-java-bridge.sourceforge.net/pjb/examples/source.php?source=PhpThreads.java<br /><br /><br /></a>ps錛?013騫?鏈?8鏃ユ垜鍦–U鐨勫崥瀹?/p><p> </p><p> </p><p> </p><p> </p><img src ="http://www.shnenglu.com/yangsf5/aggbug/199230.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yangsf5/" target="_blank">Sheppard Y</a> 2013-04-08 18:20 <a href="http://www.shnenglu.com/yangsf5/archive/2013/04/08/199230.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>redis璋冪爺http://www.shnenglu.com/yangsf5/archive/2013/04/08/199228.htmlSheppard YSheppard YMon, 08 Apr 2013 10:09:00 GMThttp://www.shnenglu.com/yangsf5/archive/2013/04/08/199228.htmlhttp://www.shnenglu.com/yangsf5/comments/199228.htmlhttp://www.shnenglu.com/yangsf5/archive/2013/04/08/199228.html#Feedback0http://www.shnenglu.com/yangsf5/comments/commentRss/199228.htmlhttp://www.shnenglu.com/yangsf5/services/trackbacks/199228.html
2016-07-06 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>


涓銆佷紭鍔?/p>

錛堜竴錛夌浉瀵逛簬鍏朵粬k-v鏁版嵁搴撶殑浼樺娍

1. 鍖呭惈澶嶆潅鏁版嵁綾誨瀷錛屼緥濡係trings\Lists\Hashes\Sets\Sorted sets絳夈?/p>

    榪欎簺澶嶆潅鏁版嵁綾誨瀷鐨勬搷浣滄彁渚涗簡鍘熷瓙鎿嶄綔錛屼笉鐢ㄨ冭檻閿併?/p>

2. 鍐呭瓨涓繍琛岋紱鍙互鎸佷箙鍖栥?/p>

3. 鐩稿叧緗戠珯錛?/p>

http://redis.io/

http://www.slideshare.net/hitkidnil/memcached-vs-redis

http://www.itlearner.com/article/4890

http://timyang.net/data/redis-misunderstanding/

http://stackoverflow.com/questions/2873249/is-memcached-a-dinosaur-in-comparison-to-redis

 

浜屻佺己鐐?/p>

    瀹樻柟涓嶆敮鎸亀indows鐗堬紝鏈夐潪瀹樻柟鐨勩傝繖涓笉鏄お澶ч棶棰樸?/p>

 

涓夈佹ц兘

1. 鍐呭瓨鏁版嵁搴擄紝鎬ц兘闈炲父楂樸?/p>

2. 涓巑emcache鐨勬ц兘姣旇緝錛宺edis浣滆呯粰鐨勫洖絳旓紝灝忔暟鎹殑瀛樺偍redis鍗犱紭錛屽ぇ浜?00k鐨刴emcache鍗犱紭錛屼絾鎬葷殑鏉ヨ錛屼竴鑸」鐩嬌鐢ㄦ椂閮借繕涓嶅鏍艱冭檻榪欓噷鐨勭摱棰堛?/p>

 

鍥涖佷嬌鐢ㄨ呭強鍙g

    鏆撮洩銆乻tackoverflow銆乬ithub銆乫lickr絳夌瓑鍦ㄤ嬌鐢╮edis銆備笟鍐呭彛紕戦潪甯稿ソ銆?/p>

    http://redis.io/topics/whos-using-redis

 

浜斻佺粨鍚堟垜浠」鐩嬌鐢?/p>

    鐢變簬鍘嗗彶鍘熷洜錛屾暟鎹簱鎴戜滑鍏堝悗浣跨敤浜嗗厔寮熷叕鍙哥殑k-v鏁版嵁搴擄紝鍜屼箣鍚庣殑mysql銆?/p>

    鎹㈡暟鎹簱錛屾槸鐢變簬涔嬪墠鐨刱-v鏁版嵁搴撳彧鏀寔key-value瀵圭殑瀛樺偍錛寁alue閲屼互json涓叉潵瀛樺偍銆傝繖鏍風殑瀛樺偍鏂瑰紡涓嶆敮鎸佸崟涓瓧孌電殑鏇存柊浠ュ強楂樻晥鐨勯綣佹帓搴忕瓑鍔熻兘綆楁硶闇姹傘傝屾父鎴忕紪紼嬪緢闇瑕佽繖浜涳紝鎵浠ヨ姳澶ф皵鍔涘譏琛ヤ互鍓嶅喅絳栫殑澶辮錛孌B鎹㈡垚浜唌ysql銆?/p>

    欏圭洰鏋舵瀯涔熷湪璋冩暣錛宲hp閫氳繃handlersocket涓巑ysql榪涜浜や簰錛屼箣鍓嶇殑java鍙仛綆鍗曠殑鍚屾錛屾病鏈塪b鎿嶄綔銆傜幇鍦ㄤ負浜嗘ц兘鑰冭檻錛屽湪鎱㈡參鏀規垚鐜╁棰戠箒浜や簰鐨勫姛鑳藉拰閮ㄥ垎鍒殑鏂板姛鑳藉啓鍦╦ava銆傝繖鏍穓ava灝卞繀欏諱笌db浜や簰銆?/p>

    涔嬪墠涓轟簡蹇熻凱浠o紝java涓巑ysql鐨勪氦浜掞紝鏄痡ava閫氳繃http鏉ost瀛樺偍璇鋒眰鍒皃hp錛宲hp鎺ュ埌request灝辯珛鍗沖瓨鍌ㄣ俻hp榪欒竟鏈夎乸hp鍐欑殑閫昏緫鏇存柊浜哾b瀛楁鏃訛紝鍐峱ost涓涓猺equest鍒癹ava錛坖ava鍋氫簡涓猦ttp server錛夛紝java鏇存柊鑷繁鐨勫唴瀛樸?/p>

    榪欐牱灝辨湁涓や釜闂銆?/p>

1. 鎵鏈変笌db鐨勬搷浣滐紝cache鐨勫湴鏂瑰湪handlersocket錛涳紙鎹鏈夊茍鍙戝啓鍏ユц兘闂——寰呰繘涓姝ヨ冭瘉錛?/p>

2. php涓巎ava閮借鏇存柊db鏁版嵁鏃訛紝涓や釜鐙珛鐨刪ttp閫氶亾錛屽緢璇″紓錛屽緢浣庢晥銆?/p>

    鐜板湪鏈変簡redis錛宲ub/sub寰堟柟渚垮仛cache緋葷粺銆?/p>

    涓鏂歸潰php涓巎ava鐩鎬簰閫氱煡鏁版嵁鏇存柊鏃訛紝閫氳繃redis鍗沖彲銆傜洰鍓嶆垜浠厛搴旂敤鎬ラ渶鐨勮繖鍧椼傚綋鍓嶉」鐩畃hp閲屼嬌鐢╩emcache鍋氫氦浜掍復鏃跺瓨鍌ㄤ互鍙婇儴鍒嗙敤浜庡姞閿佺殑閫昏緫鍙互鑰冭檻鐢╮edis鎱㈡參鍙栦唬銆?/p>

    鍙︿竴鏂歸潰錛屼互鍚庡彲浠ュ緢鏂逛究鐨勭敤redis鍋氭垜浠簲鐢ㄧ▼搴忎笌mysql鐨刢ache銆?br />

ps錛?012騫?2鏈?0鏃ユ垜鍦–U鐨勫崥瀹?/p>

]]>緗戠粶閫氫俊搴忓垪鍖栧崗璁殑閫夋嫨http://www.shnenglu.com/yangsf5/archive/2013/04/08/199223.htmlSheppard YSheppard YMon, 08 Apr 2013 09:56:00 GMThttp://www.shnenglu.com/yangsf5/archive/2013/04/08/199223.htmlhttp://www.shnenglu.com/yangsf5/comments/199223.htmlhttp://www.shnenglu.com/yangsf5/archive/2013/04/08/199223.html#Feedback0http://www.shnenglu.com/yangsf5/comments/commentRss/199223.htmlhttp://www.shnenglu.com/yangsf5/services/trackbacks/199223.html
2016-07-03 鏃ユ洿鏂?nbsp;
姝ょ瘒鍗氬宸茬粡榪佺Щ鍒版柊鍗氬錛屽茍鍋氳鏂囨鏌ュ拰浼樺寲鎺掔増錛?/span>
http://blog.clawz.me/2012/09/21/12-chose-protobuf/

 



涓銆佽儗鏅粙緇?/p>

    鐢變簬鍘嗗彶鍘熷洜錛屼嬌鐢ㄤ簡鍏勫紵鍏徃鐨勬鏋訛紝瀵艱嚧涔嬪墠鐨勯氫俊搴忓垪鍖栧崗璁己鍒剁敤鐨凧SON銆傛垜浠」鐩負涓涓獁eb欏圭洰錛屽墠绔痑s錛屽悗绔痯hp+java錛屼竴寮濮嬪彧鏈塧s涓巔hp鐭繛鎺ワ紝鍚庢潵涓轟簡涓浜涢昏緫鐨勫疄鏃舵秷鎭紝鍔犱簡java鏉ュ彟浣滅殑闀胯繛鎺ャ?/p>

    as涓巔hp閮芥槸寮辯被鍨嬬殑璇█錛岀敤JSON鏉ュ簭鍒楀寲錛岀綉緇滈氫俊閫昏緫鍙互鍐欑殑寰堥殢鎰忥紝榪欏鑷存垜浠幇鍦ㄦ煡闂闈炲父媯樻墜銆傚彟澶朖SON涔熸氮璐逛簡浜涙祦閲忋傜幇鍦ㄩ」鐩湪鎵╁睍鎵嬫満鍓嶇錛屽嫻侀噺鐨勮姹傛洿鑻涘埢銆備負浜嗘柊鑰侀棶棰樼殑閫夋嫨錛屾垜浠氨瑕佹崲鎺塉SON銆?/p>

 

浜屻佸簭鍒楀寲鍗忚閫夋嫨鐨勮冭檻

    鎵嬫満鍓嶇浣跨敤C++鍐欑殑閫昏緫錛屾垜浠崗璁殑瑕佹眰涓鴻法璇█銆佽法騫沖彴銆佷綋縐皬銆佸簭鍒楀寲鍜屽弽搴忓垪鍖栧揩銆?/p>

    鍙緵閫夋嫨鐨勫崗璁湁protobuf/thrift/messagepack絳夈?/p>

1. thrift鐨勫涔犳垚鏈矊浼兼瘮protobuf楂樹簺錛屽彟澶栧厛鐪嬬殑protobuf錛屾劅瑙変袱縐嶅崗璁樊涓嶅錛屽氨鎳掔殑緇х畫鐮旂┒thrift浜嗐?/p>

2. protobuf鍜宮essagepack鐨勫彇鑸嶏細

    涓ょ鐨嗘槸寮婧愰」鐩?/p>

錛?錛塸rotobuf鏄痝oogle涓繪寔鐨勶紝宸茬粡琚玤oogle鑷繁鍜屼笟鍐呭ぇ瑙勬ā浣跨敤浜嗭紝璇佹槑鏄彲闈犵殑錛涜宮essagepack璨屼技鍑烘潵鐨勬瘮杈冩櫄錛岃繕娌¤澶ц妯′嬌鐢ㄣ?/p>

錛?錛夎璦鏀寔錛宲rotobuf瀹樻柟鍘熺敓鏀寔C++銆丣ava銆乸ython錛屽叾浠栧潎涓虹涓夋柟鎵╁睍錛沵essagepack瀹樻柟鏀寔C++銆丣ava銆乸hp錛屼笉鏀寔as錛屼絾鏀寔js銆?/p>

錛?錛塸rotobuf鏈変釜緙栬瘧鍣ㄥ彲浠ヨ嚜鍔ㄧ敓鎴愬悇璇█瀵瑰簲鐗堟湰鐨勫崗璁被錛沵essagepack鍦ㄥ己綾誨瀷濡俲ava鍜孋++閲屽氨闇瑕佽嚜宸卞啓鍚勪釜璇█鐗堟湰鐨勪簡銆?/p>

錛?錛変綋縐柟闈紝messagepack鐨勪綋縐簲璇ユ瘮protobuf紼嶅ぇ銆?/p>

錛?錛夐熷害鏂歸潰錛宮essagepack瀹樻柟璇撮熷害鏄痯rotobuf鐨?鍊嶏紝浣嗘槸鐪嬩粬鐨勬祴璇曞彧鏄竴縐嶈璦鐨勫簭鍒楀寲嫻嬭瘯銆?/p>

錛?錛夊叾浠栵紝messagepack涔熸敮鎸乲ey-value鏂瑰紡鐨勫簭鍒楀寲錛屽彿縐頒綋縐皬鐨凧SON銆傝繖铏藉緢瀹規槗縐繪浠ュ墠鐨勫崗璁紝涓轟簡蹇熷嚭demo錛屾垜涔熼兘鍑嗗鐢╩essagepack鍏堟湡璇曟敼浜嗭紝浣嗘槸鐚涚劧鍙戠幇姣忎釜璇█榪樻槸寰楀啓鍚勮嚜鐨勶紝鑰屼笖鐜板湪娑夊強鍒頒袱縐嶄笉鍚屽墠绔紝涓孌電殑淇敼榪橀渶鍙婃椂閫氱煡鍙︿竴鍓嶇鍋氱浉搴斾慨鏀廣傝繖縐嶅お闅炬帶鍒朵簡錛屾病鏈塸rotobuf鐨刾roto鏂囦歡閭g鐨勪竴鑷存т繚璇併?/p>

 

涓夈佹渶緇堥夋嫨

    緇煎悎浠ヤ笂鐨勬瘮杈冿紝鏈鍚庨夋嫨浜唒rotobuf鏉ヤ綔涓烘垜浠」鐩柊鐨勭綉緇滈氫俊搴忓垪鍖栧崗璁?br />
ps錛?012騫?鏈?1鏃ユ垜鍦–U涓婄殑鍗氭枃



]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲欧美日韩第一区| 国产精品国产一区二区| 亚洲大片精品永久免费| 欧美韩日一区| 欧美精品午夜| 午夜精品久久久久久久99黑人| 亚洲无线视频| 国内精品写真在线观看| 欧美激情一区三区| 欧美视频一区二区| 久久乐国产精品| 亚洲伦理在线| 亚洲国产日韩在线| 午夜精品久久| 久久精品视频免费观看| 亚洲精品影院| 午夜精品福利在线| 亚洲精品一区二区三区不| 在线亚洲欧美| 在线欧美电影| 亚洲一区视频| 亚洲片在线观看| 午夜国产欧美理论在线播放| 亚洲人成免费| 午夜在线成人av| 9国产精品视频| 久久精品国产免费观看| 在线视频亚洲一区| 久久青草久久| 欧美中文字幕精品| 欧美精品三区| 免费在线播放第一区高清av| 国产精品video| 亚洲国产一成人久久精品| 国产精品美女一区二区| 欧美寡妇偷汉性猛交| 国产婷婷色一区二区三区四区| 亚洲精品乱码久久久久久| 在线观看欧美日韩国产| 亚洲欧美成人精品| 亚洲视频在线二区| 欧美大片在线观看一区| 久久免费高清| 国产伊人精品| 欧美一级久久久| 亚洲欧美一级二级三级| 欧美日本一区| 91久久亚洲| 亚洲精品国产系列| 美女精品国产| 欧美成人一区二区在线| 国产一级揄自揄精品视频| 亚洲一区二区在线免费观看视频| 亚洲精品永久免费精品| 欧美成人免费全部| 欧美顶级艳妇交换群宴| 精品动漫av| 久色婷婷小香蕉久久| 久久午夜精品| 在线观看国产精品淫| 久久人人爽爽爽人久久久| 久久综合色婷婷| 在线色欧美三级视频| 久久久久久9| 蜜臀va亚洲va欧美va天堂| 国产一区激情| 久久夜色精品国产| 亚洲二区在线视频| 日韩视频免费| 欧美午夜电影一区| 亚洲影音先锋| 久久久另类综合| 1000部精品久久久久久久久| 久久综合色一综合色88| 欧美激情免费在线| 在线视频免费在线观看一区二区| 欧美视频二区36p| 亚洲一区二区三区中文字幕 | 欧美在线关看| 欧美承认网站| 久久久久久久久久看片| 欧美激情一区二区三区四区| 欧美视频中文字幕在线| 国产日韩欧美三级| 最新日韩av| 亚洲七七久久综合桃花剧情介绍| 免费欧美日韩| 日韩亚洲视频在线| 久久99伊人| 亚洲国产欧美精品| 欧美午夜精品理论片a级大开眼界| 一区二区三区四区五区在线 | 久久午夜精品| 亚洲精品乱码久久久久久| 性欧美videos另类喷潮| 亚洲福利在线观看| 国产精品大片免费观看| 久久久亚洲影院你懂的| 在线视频欧美一区| 欧美成人免费在线| 午夜精品久久| 亚洲精品中文字| 国产主播一区| 欧美性开放视频| 久久亚洲综合色| 亚洲女人天堂成人av在线| 美女网站久久| 欧美一区二区精品在线| 亚洲美女黄色片| 国内精品久久久久影院 日本资源| 欧美巨乳波霸| 毛片精品免费在线观看| 午夜精品久久久久久久久久久久| 欧美激情网友自拍| 久久九九久精品国产免费直播| 一本色道久久综合亚洲精品婷婷| 国产亚洲视频在线| 国产精品久久久久久久久久久久| 免费亚洲电影| 久久久五月婷婷| 午夜精品福利视频| 这里只有精品丝袜| 亚洲精品美女久久7777777| 免费亚洲一区二区| 久久人人精品| 久久久久9999亚洲精品| 亚洲欧美在线一区| 亚洲永久在线观看| 亚洲小视频在线观看| 亚洲精品欧美日韩| 亚洲人成网站在线播| 亚洲国产成人精品女人久久久 | 午夜精品一区二区在线观看 | 国外成人免费视频| 国产美女一区二区| 国产精品亚洲аv天堂网 | 久久人人爽人人爽爽久久| 欧美亚洲视频在线观看| 亚洲视频在线观看三级| 日韩视频在线播放| 日韩视频三区| 一本色道**综合亚洲精品蜜桃冫| 亚洲精品乱码久久久久久按摩观| 亚洲第一精品福利| 亚洲人成网站在线观看播放| 亚洲精品视频在线| 99精品99久久久久久宅男| 日韩视频免费观看高清在线视频| 亚洲精品一二| 亚洲午夜精品视频| 亚洲欧美一级二级三级| 欧美专区日韩视频| 久久资源av| 亚洲日本激情| 亚洲在线视频网站| 欧美诱惑福利视频| 老司机一区二区三区| 欧美精品一区二区三区蜜臀| 欧美日韩一区二区免费在线观看| 欧美香蕉大胸在线视频观看| 国产欧美日韩视频一区二区| 韩国三级在线一区| 亚洲精品一区二区网址| 亚洲尤物视频网| 久热精品视频在线观看一区| 欧美黄免费看| 在线亚洲欧美专区二区| 欧美在线免费| 欧美日本韩国一区| 国产老女人精品毛片久久| 亚洲国产精品ⅴa在线观看 | 亚洲视频在线观看网站| 欧美一区2区视频在线观看| 蜜臀av在线播放一区二区三区| 亚洲精品日日夜夜| 欧美在线视频一区二区三区| 欧美国产视频日韩| 国产欧美一区二区色老头| 亚洲日韩欧美视频| 久久国产精品电影| 99国产精品国产精品久久| 久久精品免视看| 国产精品热久久久久夜色精品三区| 影音先锋亚洲一区| 午夜精品久久久99热福利| 欧美成人日本| 欧美一区国产一区| 欧美精品一区三区在线观看| 国精产品99永久一区一区| 一区二区三区精品视频| 欧美99久久| 西西人体一区二区| 欧美日韩国产成人| 亚洲高清不卡| 久久久99爱| 亚洲午夜视频在线| 欧美伦理影院| 亚洲区一区二区三区| 久久免费视频这里只有精品| 一区二区三区成人精品|