¶Ô΢ÐÅ¡¢Ä°Ä°µÈ½øÐÐÁË·ÖÎö£¬·¢³öÀ´·ÖÏíһϣ¨Ê±¼äÓÐЩ¾ÃÁË£©
µçÁ¿£º¶ÔÓÚÒÆ¶¯É豸×î´óµÄÆ¿¾±¾ÍÊǵçÁ¿ÁË¡£ÒòΪÓû§²»¿ÉÄÜËæÊ±Ð¯´øµçÔ´£¬³äµç±¦¡£ËùÒÔ±ØÐ뿼Âǵ½µçÁ¿ÎÊÌâ¡£ÄǾÍÒª¼ì²éÎÒÃǹ¤³ÌÊDz»ÊÇÓкǫ́ÔËÐУ¬ÐÄÌø°ü·¢ËÍʱ¼äÊDz»ÊǺÏÀí¡£
Á÷Á¿£º¶ÔÓںöà¹úÄڴ󲿷֌ÅË¿Óû§À´Ëµ¿ÉÄÜ»¹ÊǰüÔÂ30M£¬ÄÇôÎÒÃDZØÐëÕ¾ÔÚ¹ã´óÓû§½Ç¶ÈÀ´¿¼ÂÇÎÊÌâÁË¡£Ò»¸ö°ü¿ÉÒÔ½â¾öµÄ¾ÍÒ»¸ö°ü¡£

ÍøÂ磺
Õâ¸öÒ²ÊÇIM×îºËÐĵÄÄÚÈÝÁË£¬ÎÒÃÇÒª×öµ½ÔÚÈκÎÍøÂçϵÈ˳³©ÁÄÌìÄǾͲ»ÈÝÒ×ÁË£¬ºÃ¶à¹«Ë¾¶¼ÓõÄxmpp¿ò¼Ü£¬Èç¹ûÔÚÇ¿ÍøÂç»·¾³Ï£¬xmppÍêȫûÓÐÎÊÌâ¡£µ«ÊÇÄÇÖÖÈõÍøÂç»·¾³ÏÂxmpp¾ÍÊøÊÖÎÞ²ßÀ²£¬Óû§ÌåÑé¾ÍºÜÀ¬»øÁË¡£
¸öÈ˾õµÃxmpp ¿ÉÒÔÍæÍæ£¨²Î¿¼¿´Õâ¸öRFC3920ºÍRFC3921£©£¬ µ«ÊÇÓÃÀ´ÕæÕýµÄ²úÆ·¾Í²îÔ¶ÁË¡£Èç¹ûÓöµ½Ò»¸ö×öIM µÄÅóÓÑÕſڱտڶ¼Ëµxmpp µÄ»°£¬ÄÇô²»ÓùµÍ¨ÁË£¬¿Ï¶¨²»ÊÇʲôºÃ²úÆ·¡£Î¢ÐÅ¡¢QQÒÔÇ°Ò²ÔøÓùýxmpp£¬µ«ÊÇ×îºóÒ²·ÅÆúÁËxmpp£¬¾ÍÖªµÀxmppÓкܶà±×¶ËÁË£¬»¹ÓоÍÊDZ¨ÎÄÌ«´ó£¬ºÃÓ·Ö×£¬ÀË·ÑÁ÷Á¿¡£ÎªÁ˱£Ö¤Îȶ¨£¬Î¢ÐÅÓÃÁ˳¤Á´½ÓºÍ¶ÌÁ´½ÓÏà½áºÏ£¬ÀýÈ磺
1 ¡¢Á½¸öÓòÃû
΢ÐÅ»®·ÖÁËhttpģʽ£¨shortÁ´½Ó£©ºÍ tcp ģʽ£¨long Á´½Ó£©£¬·Ö±ðÓ¦¶Ô״̬ÐÒéºÍÊý¾Ý´«ÊäÐÒé
long.weixin.qq.com dns check £¨112.64.237.188 112.64.200.218£©
short.weixin.qq.com dns check ( 112.64.237.186 112.64.200.240)
2 ˵Ã÷
2.1 short.weixin.qq.com
ÊÇHTTPÐÒéÀ©Õ¹£¬ÔËÐÐ8080 ¶Ë¿Ú£¬http bodyΪ¶þ½øÖÆ£¨protobuf£©¡£
Ö÷ÒªÓÃ;£¨½Ó¿Ú£©£º
Óû§µÇ¼ÑéÖ¤;
ºÃÓѹØÏµ£¨»ñÈ¡£¬Ìí¼Ó£©£»
ÏûÏ¢sync (newsync)£¬×ÔÓÐsync»úÖÆ£»
»ñÈ¡Óû§Í¼Ïñ£»
Óû§×¢Ïú£»
ÐÐΪÈÕÖ¾Éϱ¨¡£
ÅóÓÑȦ·¢±íË¢ÐÂ
2.2 long.weixin.qq.com
tcp ³¤Á¬½Ó£¬ ¶Ë¿ÚΪ8080£¬ÀàËÆÎ¢ÈíactivesyncµÄ¶þ½øÖÆÐÒé¡£
Ö÷ÒªÓÃ;£¨½Ó¿Ú£©£º
½ÓÊÜ/·¢ËÍÎı¾ÏûÏ¢£»
½ÓÊÜ/·¢ËÍÓïÒô£»
½ÓÊÜ/·¢ËÍͼƬ£»
½ÓÊÜ/·¢ËÍÊÓÆµÎļþµÈ¡£
ËùÓÐÉÏÃæÇëÇó¶¼ÊÇ»ùÓÚtcp³¤Á¬½Ó¡£ÔÚ·¢ËÍͼƬºÍÊÓÆµÎļþµÈʱ£¬·ÖΪÁ½¸öÇëÇó£»µÚÒ»¸öÇëÇóÊÇËõÂÔͼµÄ·½Ê½£¬µÚ¶þ¸öÇëÇóÊÇÈ«Êý¾ÝµÄ·½Ê½¡£
2.2.1 Êý¾Ý±¨ÎÄ·½Ãæ
ÔöÁ¿ÉÏ´«²ßÂÔ£º
ÿ´Î8k×óÓÒ´óСÊý¾ÝÉÏ´«£¬·þÎñÆ÷È·ÈÏ£»ÔÚ¼ÌÐø´«Êä¡£
ͼƬÉÏ´«£º
ÏÈ´«ËõÂÔͼ£¬´«Îı¾ÏûÏ¢£¬ÔÙ´«¾ßÌåÎļþ
ÏÂÔØ£º
ÏÈÏÂÔØËõÂÔͼ£¬ ÔÚÏÂÔØÔͼ
ÏÂÔØµÄʱºò£¬È«²¿Ò»´ÎÍÆËÍ¡£
3 ¸½Â¼
3.1 Óû§µÇ¼ÑéÖ¤
POST /cgi-bin/micromsg-bin/auth HTTP/1.1
Accept: **
User-Agent: Mozilla/4.0
Content-Type: application/x-www-form-urlencoded<
Host: short.weixin.qq.com
Content-Length: 174
3.3 ÏûÏ¢sync (newsync)
POST /cgi-bin/micromsg-bin/newsync HTTP/1.1>
Host: short.weixin.qq.com
User-Agent: Android QQMail HTTP Client
Cache-Control: no-cache
Connection: Keep-Alive
Content-Type: application/octet-stream
accept: **
Content-Length: 206
3.5 Óû§×¢Ïú
POST /cgi-bin/micromsg-bin/iphoneunreg HTTP/1.1
Accept: */*
User-Agent: Mozilla/4.0
Cotent-Type: application/x-www-form-urlencoded
Host: >short.weixin.qq.com
Content-Length: 271
3.6 ÐÐΪÈÕÖ¾Éϱ¨
POST /cgi-bin/stackreport?version=240000a7&filelength=1258&sum=7eda777ee26a76a5c93b233eed504c7d&reporttype=1&username=jolestar HTTP/1.1
Content-Length: 736
Content-Type: binary/octet-stream
Host: weixin.qq.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
´ÓÏÖÔÚ»¥ÁªÍøµÄ·¢Õ¹¶øÑÔ£¬IMºÍÊÓÆµ£¨°üÀ¨IMÀïÃæÊÓÆµÍ¨»°£©ÊÇÒ»¸ö·½Ïò£¬ÕâЩ¶¼Ó¦¸Ã³ÉΪ»¥ÁªÍøµÄ»ù´¡ÉèÊ©£¬¾ÍÏñä¯ÀÀÆ÷Ò»Ñù¡£ÏÖÔÚIM»¹Ã»ÓÐÒ»¸öºÜºÃµÄ½â¾ö·½°¸£¬XMPP²¢²»ÄܺܺõØ×öµ½ÒµÎñÂß¼¶ÀÁ¢¿ªÀ´¡£´ÓIMµÄ±¾ÖÊÀ´¿´£¬IMÆäʵ¾ÍÊǽ«Ò»ÌõÏûÏ¢´ÓÒ»¸öµØ·½´«Êäµ½ÁíÍâÒ»¸öµØ·½£¬Õâ¸öºÍTCPºÜÏñ£¬ÎªÊ²Ã´²»ÊµÏÖÒ»¸ö¸ß¼¶µãµÄTCPÐÒéÁË£¬Ö»Êǽ«TCP/IPÀïÃæµÄIPµØÖ·»»³ÉÁËÒ»¸öÀàËÆXMPPµÄΨһID¶øÒÑ£¬ÆäËûµÄºÜ¶àϸ½Ú¶¼¿ÉÒÔÕÕ°áTCPÐÒé¡£ÓÐÁËÕâ¸öÐÒéÖ®ºó£¬½«ÒµÎñÂß¼ÔÚÏÖÓÐHTTP serverµÄ»ù´¡ÉÏ×ö£¬ÀýÈç·¢ËÍÓïÒôºÍͼƬ¾ÍÏ൱ÓÚÉÏ´«Ò»¸öÎļþ£¬·þÎñÆ÷ÔÚ´¦ÀíÍêÕâ¸öÎļþºó¾Í·¢Ò»ÌõÌØÊâµÄIMÏûÏ¢¡£¿Í»§¶ËÊÕµ½Õâ¸öIMÏûÏ¢ºó£¬°´ÕÕIMÏûÏ¢ÀïÃæurlÈ¥HTTP serverÈ¡ÓïÒôÎļþºÍͼƬÎļþ¡£½«HTTP serverºÍIM server´ò֮ͨºó£¬¿ÉÒÔ×öºÜ¶àÊÂÇé¡£µ«½«Õâ¸öÁ½¸öserverºÏ²¢ÔÚÒ»¿é²¢²»ÊÇÒ»¸öºÃÊ£¬²»È»ÌÚѶҲ²»»áÓÐ2005ÄêµÄÕ½ÂÔתÐÍÁË¡£´ÓÏÖÔÚµÄÇé¿öÀ´¿´£¬Ó¦ÓóýÁËÓÎÏ·£¬¶¼Ã»Ôõô׬Ǯ£¬ÏÖÔÚÄܹ»³ÐÔØ×¬Ç®ÒµÎñµÄ»¹ÊÇÒÔwebΪÖ÷¡£IM²»¿ÉÒÔ׬Ǯ£¬µ«Ã»ÓÐÈ´ÊDz»Ðе쬾ÍÏñÒ»¸öµØ·½ÒªÖ¸»£¬²»ÐÞ·ÊDz»ÐеĵÀÀíÒ»Ñù¡£
ÉÏÃæËµµ½ÁËprotobuf £¬¾Í¼òµ¥½éÉÜÏ£º
JSONÏàÐÅ´ó¼Ò¶¼ÖªµÀÊÇʲô¶«Î÷£¬Èç¹û²»ÖªµÀ£¬ÄǿɾÍÕæµÄOUTÁË£¬GOOGLEÒ»ÏÂÈ¥¡£ÕâÀï¾Í²»½éÉÜɶµÄÁË¡£
Protobuffer´ó¼Ò¹À¼Æ¾ÍºÜÉÙÌý˵ÁË£¬µ«Èç¹û˵µ½ÊÇGOOGLE¸ãµÄ£¬ÏàÐÅ´ó¼Ò¶¼»áÓÐÐËȤȥÊÔһϣ¬±Ï¾¹GOOGLE³ö¿Ú£¬¶àÊô¾«Æ·¡£
ProtobufferÊÇÒ»¸öÀàËÆJSONµÄÒ»¸ö´«ÊäÐÒ飬ÆäʵҲ²»ÄÜ˵ÊÇÐÒ飬ֻÊÇÒ»¸öÊý¾Ý´«ÊäµÄ¶«Î÷°ÕÁË¡£
ÄÇËü¸úJSONÓÐÊ²Ã´Çø±ðÄØ£¿
¿çÓïÑÔ£¬ÕâÊÇËüµÄÒ»¸öÓŵ㡣Ëü×Ô´øÁËÒ»¸ö±àÒëÆ÷£¬protoc£¬Ö»ÐèÒªÓÃËü½øÐбàÒ룬¿ÉÒÔ±àÒë³ÉJAVA¡¢python¡¢C++´úÂ룬ÔÝʱֻÓÐÕâÈý¸ö£¬ÆäËû¾ÍÔÝʱ²»ÒªÏëÁË£¬È»ºó¾Í¿ÉÒÔÖ±½ÓʹÓ㬲»ÐèÒªÔÙдÈÎºÎÆäËû´úÂë¡£Á¬½âÎöµÄÄÇЩ¶¼ÒѾ×Ô´øÓеġ£JSONµ±È»Ò²ÊÇ¿çÓïÑԵ쬵«Õâ¸ö¿çÓïÑÔÊǽ¨Á¢ÔÚ±àд´úÂëµÄ»ù´¡ÉÏ¡£
İİÉè¼Æ£º
İİ·¢Õ¹¸Õ¿ªÊ¼ÓÉÓÚ¹æÄ£Ð¡£¬30-40WµÄÁ¬½ÓÊý£¨°üÀ¨Androidºǫ́³¤Á¬½ÓÓû§£©£¬Ò²Ê¹ÓÃXMPP£»ÓÉÓÚXMPPµÄȱµã£ºÁ÷Á¿´ó£¨»ùÓÚXML£©£¬²»¿É¿¿£¨Îª´«Í³¹Ì¶¨ÍøÂçÉè¼Æ£¬Ã»Óп¼ÂÇWIFI/2G/3G/µØÌú/µçÌݵȸ´ÔÓÍøÂ糡¾°£©£¬½»»¥¸´ÔÓ£¨µÇ½Ðè5-6´Î£¬ÓÈÆäÊÇTLSÎÕÊÖ£©£»XMPP¶ªÏûÏ¢µÄ¸ù±¾ÔÒò£º·þÎñ¶ËºÍ¿Í»§¶Ë´¦ÓÚ“°ë¹Ø±Õ”״̬£¬¿Í»§¶Ë¼ÙÁ¬½Ó״̬£¬·þÎñ¶ËÓÐÊÕ²»µ½»ØÖ´£»Server¶ËÁ¬½Ó²ãºÍÂß¼²ã´úÂëûÓнâñî·ÖÀ룬³£³£ÖØÆôµ¼Ö²»¿ÉÓã»

ÏûÏ¢ÖÐת£º

Á´½Ó²ã£º

Âß¼²ã£º

ͨѶÐÒéÉè¼Æ£º

¸ßЧ£ºÈõÍøÂç¿ìËÙµÄÊÕ·¢
¿É¿¿£º²»»á¶ªÏûÏ¢
Ò×ÓÚÀ©Õ¹
ÐÒé¸ñʽ£º

RedisÐÒ飺

<


Êǰ¡·¢



°¢ÈøµÂ·¢°¢·¢a

ÓÅ»¯
Á¬½Ó²ã£¨²Î¼ûͨѶ·þÎñÆ÷×é³É£©£ºÖ»×öÏûϢת·¢£¬ÔÊÐíËæÊ±ÖØÆô¸üУ¬Éè¼ÆÔÔò¼òµ¥/Òì²½£»µ¥Ì¨Ñ¹²âÊÔÁ¬½ÓÊý70W£»ÏÖ×´£º1.5ÒÚÓû§£¬Ô»î5000W+£¬Á¬½ÓÊý1200W+£»
Âß¼²ã£¨²Î¼ûͨѶ·þÎñÆ÷×é³É£©£ºÓû§»á»°ÑéÖ¤¼´µÇ½¡¢ÏûÏ¢´æÈ¡¡¢Òì²½¶ÓÁÐ
²ÉÓÃ˽ÓÐͨѶÐÒ飬Ŀ±ê£º¸ßЧ£¬ÈõÍøÂç¿ìËÙÊÕ·¢£»¿É¿¿£º²»»á¶ªÏûÏ¢£»Ò×ÓÚÀ©Õ¹£»²Î¿¼ÐÒé¸ñʽ£ºREDISÐÒ飻²Î¼ûÐÒé¸ñʽ¡¢»ùÓÚ¶ÓÁеÄÏûÏ¢ÐÒé¡¢»ùÓÚ¶ÓÁеĽ»»¥¡¢»ùÓÚ°æ±¾ºÅµÄÏûÏ¢ÐÒé¡¢»ùÓÚ°æ±¾ºÅµÄ½»»¥µÈ£»
;ºËÐĵij¤Á¬½ÓÖ»ÓÃÓÚ´«ÊäÇáÁ¿µÄʵʱÊý¾Ý£¬Í¼Æ¬¡¢ÓïÒôµÈ¶¼¿ªÐµÄTCP»òHTTPÁ¬½Ó£»
Ò»ÇоÍÐ÷ºó£¬×îÖØÒªµÄ¾ÍÊÇ¼à¿Ø£¬Ð´Ò»¸öAPP²é¿´ËùÓеÄÔËӪ״̬£¬Ã¿Ìì¹Û²ì£»
ÈçºÎÑ¡Ôñ×îÓÅ·Ïߣ¬¼´ÖÇÄÜ·ÓÉ£»
¶þ¡¢ÖÇÄÜ·ÓÉ¡¢Á¬½Ó²ßÂÔ£º
¶à¶Ë¿Ú¡¢Ë«ÐÒéÖ§³Ö<
Ó¦¶ÔÒÆ¶¯Íø¹Ø´úÀíµÄ¶Ë¿ÚÏÞÖÆ
Ö§³ÖTCP¡¢HTTPÁ½ÖÖÐÒé
¸ù¾Ý±¸Ñ¡IPÁÐ±í½øÐв¢·¢²âËÙ£¨IP+¶Ë¿Ú+ÐÒ飩
ºó¶Ë¸ù¾ÝÖÕ¶ËÁ¬½ÓÇé¿ö£¬¶¨Ê±¸üÐÂÖն˵ı¸Ñ¡IPÁбí
ÖÕ¶ËÔÚÁ¬½Ó¿ÕÏÐʱÉϱ¨²âËÙÊý¾Ý£¬±ãÓÚºó¶Ë¾ö²ß
TCPÐÒ鲻ͨ£¬×Ô¶¯Çл»µ½http
ÓÅÏÈʹÓÃ×î½ü¿ÉÓÃIP
²¢·¢²âËÙ£¬¸ù¾ÝÖÕ¶ËËù´¦µÄλÖÃÏ·¢¶à×éIP¡¢PORT£¬Ö»ÓÃIP£¬²»ÓÃÓòÃû£¬ÊÖ»úÉϵÄDNS50%²»×¼
¸ºÔؾùºâÆ÷(LVS...)µÄÎÊÌâ– µ¥µãʧЧ
µ¥µãÐÔÄÜÆ¿¾±
¸ºÔؾùºâ´Ó¿Í»§¶Ë¿ªÊ¼×öÆð• ÓòÃû¸ºÔصÄÎÊÌâ
ÓòÃûϵͳ²»¿É¿¿– ¸üÐÂÑÓ³Ù´ó
WNS£¨wireless network services£©

1½â¾öÒÆ¶¯»¥ÁªÍø¿ª·¢³£¼ûÎÊÌ⣺
ͨµÀ£ºÊý¾Ý½»»¥¡¢´óÊý¾ÝÉÏ´«¡¢push
ÍøÂçÁ¬½Ó£º´óÁ¿³¤Á´½Ó¹ÜÀí¡¢Á´½Ó²»ÉÏ¡¢Âý¡¢¶àµØ·Ö²¼
ÔËÓªÖ§³Å£ºº£Á¿¼à¿Ø¡¢¼ò»¯ÎÊÌⶨλ
µÇ¼&°²È«£ºµÇ¼¼øÈ¨¡¢ÆµÂÊ¿ØÖÆ
ÒÆ¶¯»¥ÁªÍøÌص㣺
1¡¢¸ßÑÓʱ£º ÐŵÀ½¨Á¢ºÄʱ£¨ ¸ßRTT£©
2¡¢µÍ¿í´ø¡¢¸ß¶ª°ü
3¡¢¶àÔËÓªÉÌ£¨µçÐÅ£¬Òƶ¯£¬ÁªÍ¨µÈ£©
4¡¢¸´ÔÓÍøÂç
£2G£¬3G£¬4G£¬wifi¡£cmwap£¬cmnet¡£¡£
£Íø¹ØÏÞÖÆ£ºÐÒ飬¶Ë¿Ú
5¡¢Óû§Á÷¶¯ÐÔ´ó£¬ÉÏÍø»·¾³¸´ÔÓ
WNS ÐÔÄÜÖ¸±ê£º



1¡¢¿ª·¢Ê±¼ä£ºÀúÊ·Ò»Äê°ë
2¡¢Á´½Ó³É¹¦ÂÊ£99.9%
3¡¢¼«¶ËÍøÂç»·¾³Ï³ɹ¦ÂÊ£ÓÉÓÚ³£¼ûapp
4¡¢crashÂÊ £0.02%£¨crash´ÎÊý£¯µÇ¼Óû§Êý£©
΢Ðźǫ́ϵͳ¼Ü¹¹
±³¾°£º
A¡¢·Ö²¼Ê½ÎÊÌâÊÕÁ²
ºǫ́Â߼ģ¿éרעÂß¼£¬¿ìËÙ¿ª·¢
¿ÉÄܶÁÈ¡µ½¹ýʱµÄÊý¾ÝÊǸöÍ´µã
ÐèÒª¿´µ½Ò»ÖµÄÊý¾Ý
B¡¢ÄÚ²¿¶¨Òå
Êý¾ÝÓµÓÐÁ½¸öÒÔÉϵĸ±±¾
Èç¹û³É¹¦Ìá½»Á˱ä¸ü£¬ÄÇô²»»áÔÙ·µ»Ø¾ÉÊý¾Ý
ÍÆÑÝ£º
1Ôö¼ÓÒ»¸öÊý¾Ý
2 ÐòÁкŷ¢ÉúÆ÷£¬Æ«Ðò
Ô¼Êø£ºÖ»ÄÜÓÐÒ»¸öclient²Ù×÷
clientÓнâ¾ö³åÍ»µÄÄÜÁ¦
ÎÊÌâ×ªÒÆ£ºclientÈçºÎ·Ö²¼£¿
3 Ð޸ļ¯ÈºÖÐÒ»¸öÖÆ¶¨µÄkeyµÄvalue
1£©¸²¸ÇËû
2£©¸ù¾ÝvalueµÄÄÚÈÝ×öÐÞ¸Ä
if value £½ 1 then value £º£½2
ͨÓýⷨ£º
1£©paxosËã·¨
¹¤³ÌÄѶÈ
Ò»ÇпɿØ
·Ö²¼Ê½Ëã·¨Éè¼Æ£º
2£©quorumËã·¨£¨2011£©
ÔÙµ¥¸ökeyÉÏÃæÔËËã
ÕæÊÇÏµÍ³Ô¼Êø
Ààpaxos·½°¸£¬¼ò»¯
Ϊÿ´Î±ä¸üÑ¡¾Ù£¨by key£©
Ëã·¨¹ý³Ì
ÌáÒ飯±ä¸ü£¯Í¬²½£¯¹ã²¥
ϵͳ¼Ü¹¹

дÁ÷³Ì

Replication & Sharding
Ȩºâµã
×ÔÖΣ¬¸ºÔؾùºâ£¬À©É¢¿ØÖÆ
replication£>relation
ÈÝÔÖµÖÏû
ͬ³Ç£¨ÉϺ££©¶àÊýÅÉ´æ»î
ÈýÔ°Çø£¨¶ÀÁ¢¹©µç£¬¶ÀÁ¢£©
Sharding
Ò»×éKV6 Ϊһ¸öµ¥Î»
1¡¢È˹¤½×¶Î
¾Ö²¿À©ÈÝ£¬Ó°ÏìÊÕÁ²9
2¾ùÔÈ·Ö²¼ ÖÆ¶¨·Ö¶Îhash32 £¨string£©
·±¶À©ÈÝ
3Ò»ÖÂÐÔ¹þÏ£
¾ßÌåʵÏÖ£¿
1¡¢ÒµÎñ²à¿ìËÙ¿ª·¢
´æ´¢ÐèÒªÌṩǿһÖÂÐÔ
·á¸»µÄÊý¾ÝÄ£ÐÍÖ§³Ö£¨½á¹¹»¯¡¢ÀàSQL£¯KV£©
Ìõ¼þ¶Á£¬Ìõ¼þд
2 ÒµÎñÔö³¤Ñ¸ËÙ£¬ÏµÍ³ÒªÄܹ»·½±ãµÄºáÏòÀ©ÈÝ
3É豸¹ÊÕÏ£¯¶Ìʱ½ÚµãʵЧ±ã³ÉΪ³£Ì¬£¬ÈÝÔÖ×Ô¶¯»¯£¬Ö÷±®¿ÉдÎÞÐèÈ˹¤½éÈë
4СÊý¾Ý

´æ´¢Ä£ÐÍ
´¿ÄÚ´æ
Bitcask
С±íϵͳ
LSM£tree

С±íϵͳ
1¡¢½â¾ö·Å´óÎÊÌâ
2¡¢Êý¾Ý°´±ä¸ü¾Û¼¯´æ´¢
3¡¢Affected1
ChangeTable
£¨1£«2+¡£¡£¡£¡££«n£1+total£©£¯n
4¡¢·ÖÁÑÓëºÏ²¢
Êý¾ÝÁ÷¶¯
1¡¢×Ô¶¯»¯Ç¨ÒÆ
2¡¢½Úµãͬʱ×ö´úÀí
3¡¢ºÏ²¢´ÅÅÌio
ͬ²½Á÷Á¿
1¡¢Êý¾Ývs ²Ù×÷
2¡¢ÃݵÈ
3¡¢±£µ×²ßÂÔ
ͨÐŰüÁ¿
1¡¢¶¯Ì¬ºÏ²¢
100K qps
200% £10%
3¡¢È¨ºâÓë¹ÀËã
Éè¼ÆÒªµã
1¡¢ÍÌÍÂÁ¿
2¡¢Òì²½»¯
3¡¢¸´ÔÓ¶È
4¡¢libco
×Ô¶¯ÐÞ¸´ÏµÍ³
1¡¢²»ÒªÈôíÎóÀÛ¼Æ
2¡¢È«Á¿É¨Ãè
bitcask µÄһЩ±ä»¯
1¡¢ÄÚ´æÏÞÖÆ
2¡¢È«ÄÚ´æ
|