ǰÑÔ
Ê×Ïȱ¾ÎIJ»ÌÖÂÛΪʲôҪ·þÎñ»¯£¬°üÀ¨·þÎñ»¯µÄÓŵãȱµã¡£
Æä´Î±¾ÎÄÒ²²»ÌÖÂÛʲôÊÇ΢·þÎñ£¬Ò²²»ÌÖÂÛ΢·þÎñºÍSOAµÄÇø±ð¡£
×îºó±¾ÎÄÒ²²»ÌÖÂÛÄĸö¼¼Êõ×îÓÅ¡£
·þÎñ¿ò¼Ü¹¹³É
×î»ù±¾µÄ·þÎñ¿ò¼Ü
»ù±¾µÄ·þÎñ»¯¿ò¼Ü°üÀ¨ÈçÏÂÄ£¿é£ºÍ³Ò»µÄRPC¿ò¼Ü£¬·þÎñ×¢²áÖÐÐÄ£¬¹ÜÀíÆ½Ì¨¡£
ÓÐÁËÕâÈý¸öÄ£¿é£¬¾ÍÄÜʵÏÖ»ù±¾µÄ·þÎñ»¯¡£ÏÂÃæ¶ÔÈý¸öÄ£¿é½øÐоßÌå·ÖÎö¡£
RPC¿ò¼ÜÑ¡ÐÍ
Ϊʲôһ¶¨ÒªÊÇͳһµÄRPC¿ò¼Ü£¬¶ø²»ÊÇËæ±ãɶ¿ò¼Ü£¬ÕâÀïÖ÷ÒªÊÇΪÁ˼¼Êõ¶ÔÆë£¬¼õÉÙ¿ª·¢ÈËÔ±µÄѧϰ³É±¾£¬¼õÉÙÍŶӼ乵ͨ³É±¾¡£
ºÃ£¬ÄÇôѡÔñÒ»¸öRPC¿ò¼Ü£¬ÎÒÃǶ¼ÐèÒª¿¼Á¿Ê²Ã´¶«Î÷ÄØ£¿ÕâÀïÎÒ×ܽáÏ£º
´úÂë¹æ·¶£ºÀýÈçÊǶÔÒÑÓдúÂë͸Ã÷£¬»¹ÊÇ´úÂëÉú³É¡£
ͨѶÐÒ飺ÀýÈçÊÇTCP»¹ÊÇHTTP
ÐòÁл¯ÐÒ飺ÀýÈçÊǶþ½øÖÆ»¹ÊÇÎı¾£¬ÊÇ·ñÐèÒª¿çÓïÑÔ£¬ÐÔÄÜ
IOÄ£ÐÍ£ºÒì²½/ͬ²½£¬×èÈû/·Ç×èÈû
¸ºÔؾùºâ£º¿Í»§¶ËÈí¸ºÔØ£¬´úÀíģʽ£¬·þÎñ¶Ë¸ºÔØ
ÁíÍâÈç¹ûÊÇ´Ó¿ªÔ´ÀïÃæÑ¡Ôñ£¬ÄÇôÎÒÃÇ»¹ÐèÒª¿¼Á¿£º
³ÉÊì¶È£º°üÀ¨Ñ§Ï°³É±¾£¬ÉçÇøÈȶȣ¬ÎĵµÊý£¬ÊÇ·ñÓÐÍŶÓά»¤£¬Îȶ¨ÐÔ£¨Ã¤Ä¿×·ÇóµÄ²»Ò»¶¨ÊÇ×îÊʺϣ©
¿ÉÀ©Õ¹ÐÔ£ºÊÇ·ñÓÐSPIÖ§³ÖÀ©Õ¹£¬ÊÇ·ñÖ§³ÖÉÏϼæÈÝ
¿çÓïÑÔ£ºÊÇ·ñÖ§³Ö¿çÓïÑÔ
ÐÔÄÜ£ºÒªÏë×÷ΪRPC¿ò¼Ü£¬ÐÔÄÜÒ»°ã¶¼²»»áÌ«²î [»¬»üÁ³]
ÏÂÃæÊdz£¼ûµÄһЩ¿ªÔ´¿ò¼ÜµÄ±È½Ï£¬´ó¼Ò¿ÉÒÔ¿´Ò»Ï¡£

Ps£ºSOAP£¬RMI£¬Hessian£¬ICE¾Í²»ÁоÙÁË¡£
Ñ¡ÐÍС½á£º
Èç¹ûÐèÒªÓëǰ¶Ë½»»¥µÄ£¬Êʺ϶ÌÁ´½Ó¡¢¿çÓïÑÔµÄRPC¿ò¼Ü£¬ÀýÈçRESTful¡¢gRPCµÈ
Èç¹û´¿´âºǫ́½»»¥µÄ£¬Êʺϳ¤Á´½Ó¡¢ÐòÁл¯Îª¶þ½øÖƵÄRPC¿ò¼Ü£¬ÀýÈçthrift¡¢dubboµÈ¸ü¸ßЧ
Èç¹ûÊÇС¹«Ë¾£¬Ð¹«Ë¾´ÓÍ·¿ªÊ¼Íƹã·þÎñ»¯¿ò¼ÜµÄ£¬¿ÉÒÔÑ¡Ôñ¹æ·¶»¯µÄRPC¿ò¼Ü£¬ÀýÈçthrift¡¢RESTful¡¢gRPC
Èç¹ûÊÇÒÑÓдóÁ¿ÒµÎñ´úÂëµÄÔÙÍÆ¹ã·þÎñ¿ò¼ÜµÄ£¬ÄÇô×îºÃÑ¡ÔñÎÞ´úÂëÈëÇÖµÄRPC¿ò¼Ü£¬ÀýÈçdubbo¡¢RESTful
×¢²áÖÐÐÄÑ¡ÐÍ
×¢²áÖÐÐÄÏ൱ÓÚÊÇ·þÎñÌṩÕߺͷþÎñµ÷ÓÃÕßÖ®¼äµÄÒý·ÈË£¬ÔÚ·þÎñÖÎÀíÖеÄ×÷Óü«ÎªÖØÒª¡£
Ñ¡Ôñ×¢²áÖÐÐÄ»ù±¾Òª¿¼Á¿£º
·þÎñ×¢²á£º½ÓÊÕ×¢²áÐÅÏ¢µÄ·½Ê½
·þÎñ¶©ÔÄ£º·µ»Ø¶©ÔÄÐÅÏ¢µÄ·½Ê½£¬ÍÆ»¹ÊÇÀ
״̬¼ì²â£º¼ì²â·þÎñ¶Ë´æ»î״̬
ÖØµãÌáÒ»ÏÂÕâ¸ö״̬¼ì²â£¬ÒòΪÕâ¸öÒªÊǼì²â²»×¼È·»áÎóÅУ¬µ¼ÖÂÑÏÖØºó¹û£¬
ÀýÈçZookeeper¸ù¾Ý·þÎñ¶Ë×¢²áµÄÁÙʱ½Úµã½øÐÐ״̬¼ì²â£¬Èç¹û·þÎñ¶ËºÍZookeeperÖ®¼äµÄÍøÂçÉÁ¶Ï£¬µ¼ÖÂZookeeperÈÏΪ·þÎñ¶ËÒѾËÀÁË£¬´Ó¶øÕªµôÕâ¸ö½Úµã¡£
µ«ÊÇÆäʵ¿Í»§¶ËºÍ·þÎñ¶ËÖ±½ÓµÄÍøÂçÊǺõģ¬ÕâÑù¾ÍÓпÉÄܰѽڵãÈ«²¿Õªµô£¬µ¼ÖÂÎÞ¿ÉÓýڵ㡣
Èç¹ûÊÇ´Ó¿ªÔ´ÀïÃæÑ¡Ôñ£¬ÄÇô»¹ÐèÒª¿¼Á¿£º
³ÉÊì¶È£º°üÀ¨Ñ§Ï°³É±¾£¬ÉçÇøÈȶȣ¬ÎĵµÊý£¨Ã¤Ä¿×·ÇóµÄ²»Ò»¶¨ÊÇ×îÊʺϣ©
ά»¤³É±¾£º×¢²áÖÐÐÄά»¤
Êý¾Ý½â¹¹£ºÊÇ·ñÄÜ¿ìËÙ¶¨Î»½á¹û£¬ÊÇ·ñÄܱéÀú
ÐÔÄܺÍÎȶ¨ÐÔ£º
CAPÔÔò£ºCP£¨¹Ø×¢Ò»ÖÂÐÔ£©»¹ÊÇAP£¨¹Ø×¢¿ÉÓÃÐÔ£©
ÏÂÃæÊdz£¼ûµÄһЩʹÓÿªÔ´ÏîÄ¿×ö×¢²áÖÐÐĵıȽϣ¬´ó¼Ò¿ÉÒÔ¿´Ò»Ï¡£

Ps£ºRedisºÍMySQLûÓÐÁо١£
Ñ¡ÐÍС½á£º
¹æÄ£Ð¡Ñ¡ÔñCP£¬RPC¿ò¼Ü¿ÉÒÔÖ±½Ó½ÓÈëÊý¾ÝÔ´
¹æÄ£´óÑ¡ÔñAP£¬ RPC¿ò¼Ü²»¿ÉÒÔÖ±½Ó½ÓÈëÊý¾ÝÔ´
´æÔÚ¿ç»ú·¿£¬¿çµØÓòµÄ¾¡Á¿²»ÒªÑ¡ÓÐǿһÖÂÐÔÐÒéµÄ×¢²áÖÐÐÄ
RPC¿ò¼Ü±ØÐëÒªÓÐ×¢²áÖÐÐIJ»¿ÉÓõÄÈÝÔÖ²ßÂÔ
·þÎñ״̬¼ì²âÊ®·ÖÖØÒª
¼òÒ×¹ÜÀí¶Ë
¹ÜÀí¶ËÃ»É¶ÌØÊâÒªÇó£¬×îÆðÂëÄÜ¿´µ½·þÎñÌṩÕߺ͵÷ÓÃÕß¼´¿É¡£
ÍêÉÆµÄ·þÎñ»¯¿ò¼Ü
Èç¹ûÐèÒªÒ»¸öÍêÉÆµÄ·þÎñ»¯¿ò¼Ü£¬ÄÇô±ØÐëÔö¼ÓÍⲿģ¿é£¬³£¼ûµÄÄ£¿éÈçÏÂͼ£º

½Ó¿ÚÎĵµ¹ÜÀí
Ìṩһ¸ö½Ó¿ÚÎĵµ¹ÜÀíÒÔ¼°½Ó¿Ú²éѯµÄÈë¿Ú£¬¿ÉÒÔÊÇÒ»¸ö¹«¹²µÄWIKI£¬Ò²¿ÉÒÔÊǶÀÁ¢µÄϵͳ£¬µÈµÈ¡£
ÕâÀï¿ÉÒÔ¶¨Òå½Ó¿ÚµÄÎĵµ£¬°üÀ¨½Ó¿ÚÃèÊö£¬·½·¨¶¨Ò壬×ֶζ¨Òå
¿ÉÒÔ¶¨Òå½Ó¿ÚµÄSLA£¬°üÀ¨Ö§³ÖµÄ²¢·¢Êý£¬tp99¶àÉÙ£¬½¨ÒéÅäÖÃÊÇʲô
»¹ÓоÍÊǽӿڵĸºÔðÈ˵ÈһЩ²éѯµÄÈë¿Ú¡£
ÅäÖÃÖÐÐÄ
Ìṩһ¸öÅäÖùÜÀíµÄµØ·½£¬ÕâÀï˵µÄÅäÖÃÖ÷ÒªÖ¸µÄÊÇ·þÎñÏà¹ØµÄһЩÅäÖá£
ÅäÖðüÀ¨·Ö×éÅäÖá¢Â·ÓɲßÂÔ¡¢ºÚ°×Ãûµ¥¡¢½µ¼¶¿ª¹Ø¡¢ÏÞÁ÷ÐÅÏ¢¡¢³¬Ê±Ê±¼ä¡¢ÖØÊÔ´ÎÊýµÈµÈ£¬ÈκοÉÒÔ¶¯Ì¬±ä¸üµÄËùÓÐÊý¾Ý¡£
ÕâÑù·þÎñÌṩÕߺͷþÎñµ÷ÓÃÕß¿ÉÒÔ²»ÐèÒªÖØÆô×Ô¼ºµÄÓ¦Óã¬Ö±½Ó½øÐÐÅäÖõıä¸ü¡£
ÅäÖÃÖÐÐÄ¿ÉÒÔ¶ÀÁ¢ÓÚ×¢²áÖÐÐÄ£¬Ò²¿ÉÒÔºÍ×¢²áÖÐÐĺϲ¢¡£
¼à¿ØÖÐÐÄ
¼à¿Ø·þÎñ¹Ø×¢½Ó¿Úά¶È£¬ÊµÀý£¨ÀýÈçËùÔÚJVMʵÀý£©Î¬¶ÈµÄÊý¾Ý¡£
RPC¿ò¼Ü¿ÉÒÔ¶¨Ê±Éϱ¨µ÷ÓôÎÊý£¬ºÄʱ£¬Òì³£µÈÐÅÏ¢¡£
¼à¿ØÖÐÐÄ¿ÉÒÔͳ¼Æ³ö·þÎñÖÊÁ¿ÐÅÏ¢£¬Ò²¿ÉÒÔ½øÐÐ¼à¿Ø±¨¾¯¡£
·Ö²¼Ê½¸ú×Ù
Çø±ðÓÚ¼à¿ØÖÐÐÄ£¬ÒÔµ÷ÓÃÁ´µÄģʽ¶Ô·þÎñ½øÐС£
RPC¿ò¼Ü×÷Ϊ·Ö²¼Ê½¸ú×ÙϵͳµÄÒ»¸öÌìÈ»Âñµã£¬¿ÉÒԺܺõĽøÐÐÒ»¸öÊý¾ÝÊä³ö¡£
·þÎñÖÎÀí£¨ÖØµã£©
ÎÒÕâ±ßÁÐÁ˳£¼ûµÄ·þÎñÖÎÀí¹¦ÄÜ£¬ÀýÈ磺
·þÎñ·ÓÉ£º
È¨ÖØ£ºÀýÈç»úÆ÷ÅäÖøߵÄÈ¨ÖØ¸ß£¬»úÆ÷ÅäÖõ͵ÄÈ¨ÖØµÍ
IP·ÓÉ£ºÀýÈçij¼¸Ì¨»úÆ÷Ö»Äܵ÷ij¼¸Ì¨»úÆ÷
·Ö×é·ÓÉ£ºÀýÈç×Ô¶¯¸ù¾ÝÅäÖõ÷ij¸ö·Ö×é
²ÎÊý·ÓÉ£ºÀýÈç¸ù¾Ý·½·¨Ãû½øÐжÁд·ÖÀ࣬»òÕ߸ù¾Ý²ÎÊý×ß²»Í¬µÄ½Úµã
»ú·¿Â·ÓÉ£ºÀýÈçÖ»×ßͬ»ú·¿£¬»òÕßͬ»ú·¿ÓÅÏÈ
µ÷ÓÃÊÚȨ£º
Ó¦ÓÃÊÚȨ£ºÖ»ÓÐÊÚȨºóµÄÓ¦ÓòÅÄܵ÷Õâ×é·þÎñ
token£ºÖ»ÓÐtoken¶ÔµÄµ÷Õâ×é·þÎñ
ºÚ°×Ãûµ¥£ºÖ»ÓÐÃûµ¥ÔÊÐíµÄ²ÅÄܵ÷Õâ×é·þÎñ
¶¯Ì¬·Ö×飺
·þÎñ¶ËÇзÖ×飺¿ÉÒÔ¸ù¾Ý·Ö×éµÄÇé¿ö£¬¶Ô·þÎñÌṩÕß½øÐÐÒ»¸ö¶¯Ì¬µÄ·Ö×éµ÷¶È
¿Í»§¶ËÇзÖ×飺¿ÉÒÔ¶Ôµ÷ÓÃÕß½øÐÐÒ»¸ö·Ö×éµ÷¶È
µ÷ÓÃÏÞÁ÷£º
·þÎñ¶ËÏÞÁ÷£º·þÎñ¶Ë»ùÓÚÁîÅÆÍ°»òÕß©ͰģÐͽøÐÐÏÞÁ÷
¿Í»§¶ËÏÞÁ÷£º¸ù¾Ý¿Í»§¶ËµÄ±êʶ£¬½øÐе÷ÓôÎÊýÏÞÁ÷
»Ò¶È²¿Êð£º
»Ò¶ÈÉÏÏߣºÏÈÆô¶¯£¬ÑéÖ¤ºóÔÚÌṩ·þÎñ
Ô¤·¢±êʶ£º±íʾ¸Ã·þÎñΪԤ·¢²¼·þÎñ
½Ó¿Ú²âÊÔ£º·½±ãµÄÌṩ½Ó¿Ú×Ô¶¯»¯¹¦ÄܲâÊÔ¹¦ÄÜ
ÅäÖÃÏ·¢£º
·þÎñÅäÖÃ
È«¾ÖÅäÖÃ
·þÎñ½µ¼¶£º
Mock£º³öÏÖÒì³£»òÕß²âÊÔÇé¿öÏ£¬·µ»ØMockÊý¾Ý
ÈÛ¶Ï£º¿Í»§¶Ë³¬Ê±»òÕß·þÎñ¶Ë³¬Ê±
¾Ü¾ø·þÎñ£º·þÎñ¶ËѹÁ¦´óʱ£¬×Ô¶¯¾Ü¾ø·þÎñ£¬±£»¤×Ô¼º
Íø¹Ø
RPC¿ò¼Ü´ó²¿·Ö³¡¾°¶¼ÊÇ×Ô¼ºµ÷Óõģ¬Ê²Ã´Ê±ºò»áÐèÒªÒ»¸öÍø¹ØÄØ£¿
Íø¹Ø¿ÉÒÔÌṩÈçϹ¦ÄÜ£º
ͳһµÄ¼øÈ¨·þÎñ
ÏÞÁ÷·þÎñ
ÐÒéת»»£ºÍⲿÐÒéתͳһÄÚ²¿ÐÒé
Mock£º·þÎñ²âÊÔ£¬½µ¼¶µÈ
ÆäËüһЩͳһ´¦ÀíÂß¼£¨ÀýÈçÇëÇó½âÎö£¬ÏìÓ¦°ü×°£©
·þÎñ×¢²áÖÐÐÄPlus
ÐèÒªÂß¼´¦ÀíÄÜÁ¦£¬ÀýÈç¶ÔÊý¾Ý½øÐÐɸѡ¹ýÂËÕûºÏ£¬¼ÆËã·þÎñ·Óɵȹ¦ÄÜ
ͬʱ»¹ÐèÒªÓÐÓëRPC¿ò¼Ü½»»¥µÄ¹¦ÄÜ¡£
¹ÜÀí¶ËPlus
¹ÜÀí¶Ë³ýÁË֮ǰµÄ¼òµ¥·þÎñ¹ÜÀí¹¦ÄÜÍ⣬»¹ÐèÒªÌṩÅäÖÃÐÅϢչʾ£¬¼à¿ØÐÅϢչʾ£¬¸÷ÖÖά¶ÈµÄÊý¾Ýչʾ¡£
Ò²¾ÍÊÇÏÂÃæÌáµ½µÄ·þÎñÖÎÀí¹¦ÄÜ£¬¶¼¿ÉÒÔÔÚ¹ÜÀí¶Ë½øÐйÜÀí¡£
ÁíÍ⣬³£¼ûµÄ·þÎñÖÎÀí¹¦ÄÜ£¬ÎÒÃǶ¼¿ÉÒÔ×÷Ϊ¿ª·Å·þÎñ¹©¿ª·¢ÈËÔ±½øÐÐÒ»¸öµ÷Óá£
¾©¶«Êµ¼ù
µÚÒ»´úSAF±³¾°
2012Äê³õ£¬¾©¶«´Ó.NETתJava¡£¸÷¸ö²¿ÃÅ£¬¸÷¸öÒµÎñÏß¶¼Ã»ÓÐÒ»¸öͳһµÄ·þÎñ»¯¿ò¼Ü£¬ÓеÄÊÇdubbo£¬ÓеÄÊÇWebService£¬ÓеÄÊÇHessianµÈµÈ¡£
ͬʱ¸÷¸öÒµÎñϵͳ×Ô¼ºÓзdz£¶àµÄÒµÎñ´úÂ롣ͨ¹ýͳ¼Æ½Ó¿Ú¹æÄ£ÔÚ1K×óÓÒ£¬·þÎñ½ÚµãÔÚ50K×óÓÒ£¬»úÆ÷¹æÄ£ÔÚ8K×óÓÒ£¬»ú·¿±È½ÏÉÙÍØÆË¼òµ¥¡£
ËùÒÔµ±Ê±µÄÔ¸¾°ºÍÄ¿±ê±È½ÏÃ÷È·£º
¾©¶«ÏµÍ³·þÎñ»¯¡¢API»¯µÄ´ÓÎÞµ½ÓÐ
ͳһ¾©¶«µÄRPCµ÷Óÿò¼Ü
Îȶ¨¿É¿¿
Ìṩ¼òµ¥µÄ·þÎñÖÎÀí¹¦ÄÜ
µÚÒ»´úSAFÑ¡Ôñ
OK£¬½áºÏÎÒÃǵÄÇé¿öºÍÉÏÃæµÄһЩѡÐÍС½á£¬ÎÒÃǵ±Ê±µÄÑ¡ÔñÈçÏ£º
RPC¿ò¼Ü£º»ùÓÚdubbo2.3.2×öÅäÖÃÀ©Õ¹£¬ÒÔ¼°¹¦ÄÜÀ©Õ¹°üÀ¨rest£¨resteasy£©¡¢webservice£¨cxf£©¡¢kryo/thriftÐòÁл¯¡¢µ÷ÓÃѹËõµÈ
×¢²áÖÐÐÄ£ºZookeeper£¬RPC¿ò¼ÜÖ±½Ó½ÓÈëÊý¾ÝÔ´
¼à¿ØÖÐÐÄ£º¼à¿Ø·þÎñ+HBase
¹ÜÀíÆ½Ì¨£º¶ÁÈ¡Zookeeper×ö¹ÜÀíÆ½Ì¨£¬Ìṩ»ù±¾µÄÉÏÏÂÏß¡¢ºÚ°×Ãûµ¥µÈ¹¦ÄÜ
ÓÚ2012Äê4ÔÂÉÏÏߣ¬×î´ó¹æÄ£Ê±£¬½Ó¿ÚÊý3K£¬½ÓÈë×î´óIPÊý20K¡£
µÚ¶þ´úJSF±³¾°
Ëæ×ž©¶«ÒµÎñµÄ²»¶Ï¿ìËÙÔö³¤£¬½Ó¿Ú¡¢»úÆ÷ÊýÒ²³ÊÊýÁ¿¼¶Ôö³¤¡£
ͬʱ¾©¶«³ÉÁ¢×Ó¹«Ë¾£¬ÔÚÈ«¹ú¸÷µØÐ½¨»ú·¿£¬²¿Êð½á¹¹Ò²±äµÃ±È½Ï¸´ÔÓ¡£
¼ÓÉÏSAFÒÅÁôµÄһЩÎÊÌ⣬´ó¸ÅÃæÁÙÈçϼ¸µã£º
RPC¿ò¼Ü½ÏÖØ£¬ÐÔÄÜÓÐÌá¸ßµÄ¿Õ¼ä
×¢²áÖÐÐÄÎÞÒµÎñÂß¼£¬Ö±½Ó¶ÔÍⱩ¶
¾©¶«¸´ÔӵIJ¿Êð¼Ü¹¹ÐèÒª¸üÇ¿´óÁé»îµÄ·þÎñÖÎÀí¹¦ÄÜ
¼à¿ØÊý¾Ý²»ÍêÕû£¬Î¬¶È²»¹»
ÎÞÓ¦ÓÃÒÀÀµ¹ØÏµ
¿çÓïÑÔµ÷ÓÃÐèÇó
µÚ¶þ´úJSFÑ¡Ôñ
ËùÒÔÔÚ2014Äê³õ£¬ÎÒÃǽøÐÐÁ˵ڶþ´úJSFµÄÒ»¸öÈ«²¿×ÔÑйý³Ì¡£
ÎÒÃÇÖ÷Òª×öÁËÈçϼ¼ÊõÑ¡ÐÍ£º£¨È«²¿×ÔÑУ©
RPC¿ò¼Ü£ºÇáÁ¿¼¶£¬¸ü¼ÑµÄÐÔÄÜ£¬¼æÈݾɰ汾ÐÒé
×¢²áÖÐÐÄ£º»ùÓÚDB×÷ΪÊý¾ÝÔ´£¬Ç°ÖÃIndex·þÎñ£»Ö§³ÖÊ®±¶½ÓÈëÁ¿£»²¿·ÖÂß¼·ÅÔÚ×¢²áÖÐÐļõÉÙ¿Í»§¶Ë¸ºµ£
¼à¿ØÖÐÐÄ£º¼à¿ØProxy·þÎñ+InfluxDB£¨2015ºó¸ÄΪElasticSearch£©
¹ÜÀí¶Ë£º»ùÓÚDB£¬¹¦ÄܸüÇ¿´ó£¬ÌṩÍêÉÆµÄ·þÎñÖÎÀí¹ÜÀí¹¦ÄÜ£»´òͨ¾©¶«Ó¦ÓùÜÀíÆ½Ì¨£¬ÌṩӦÓÃÒÀÀµ¹ØÏµÊáÀí£»
HTTPÍø¹Ø£º»ùÓÚNetty£¬Ö§³Ö¿çÓïÑÔµ÷ÓÃ
¿ª·¢ÖÜÆÚ£º7ÈË/Äê(2014.1-2015.1)¡£°üÀ¨¿ª·¢¡¢²âÊÔ¡¢Ô¤·¢¡¢ÉÏÏß¡¢Íƹ㡣
JSF¼Ü¹¹¼òͼ

JSF×¢²áÖÐÐÄ
¾©¶«µÄ×¢²áÖÐÐÄÊÇ×ÔÑе쬻ùÓÚDB×öµÄÊý¾Ý×îÖÕÒ»Ö£¬Ò²¾ÍÊÇÉÏÃæËµµÄAPϵͳ¡£
×¢²áÖÐÐÄÖ÷ҪʵÏֵľÍÊÇ·þÎñÁбíµÄ×¢²á¶©ÔÄÍÆËÍ£¬·þÎñÅäÖõĻñȡϷ¢£¬·þÎñ״̬µÄʵʱ²é¿´µÈ¹¦ÄÜ¡£
×¢²áÖÐÐĽڵãÊÇÎÞ״̬µÄ£¬¿ÉˮƽÀ©Õ¹µÄ¡£Õû¸ö×¢²áÖÐÐļ¯ÈºÏµÄËùÓÐ×¢²áÖÐÐļ¸µã¶¼Êǵȼ۵ġ£
ÿ¸ö»ú·¿²¿Êð¶à¸ö×¢²áÖÐÐĽڵ㡣ͬ»ú·¿µÄRPC¿ò¼Ü»áÓÅÏÈÁ¬±¾»ú·¿µÄ×¢²áÖÐÐĽڵ㡣
Ö÷ÒªÁÁµãÈçÏ£º
ÒýÈëIndex·þÎñ¸ÅÄî
¸Ã·þÎñ¾ÍÊÇÒ»¸ö×î¼òµ¥HTTPµÄ·þÎñ£¬ÓÃÓÚÕÒ×¢²áÖÐÐĽڵ㣨ͬ»ú·¿»òÕßѹÁ¦×îС»òÕ߯äËüÌØ¶¨³¡¾°£©£¬¿ÉÒÔÈÏΪÊDz»»á¹ÒµÄ·þÎñ£¬
RPC¿ò¼Ü»áÓÅÏÈÁ¬¸Ã·þÎñÄÃ×¢²áÖÐÐĵØÖ·£¬ÕâÑù×ӵĺô¦ÊÇ×¢²áÖÐÐĵØÖ·±ä»¯ºó£¬RPC¿ò¼Ü²»ÓÃÐÞ¸ÄÈκÎÉèÖá£
×¢²áÖÐÐÄÄÚ´æÓзþÎñÁбíÈ«Á¿»º´æ£¬Á¬²»ÉÏÊý¾Ý¿âÒ²±£Ö¤¿É¶Á
Êý¾Ý¿âµÄÊý¾Ý½á¹¹¸üÊʺϸ÷ÖÖά¶Èչʾ¡¢¹ýÂË¡¢·ÖÎöµÈ
ÀýÈç¸ù¾Ý·Ö×飬IP£¬Ó¦Ó㬻ú·¿µÈ²»Í¬Î¬¶È
×¢²áÖÐÐľÍÊǸöJSF·þÎñ£¬¼à¿Øµ½Ñ¹Á¦´ó¼´¿É½øÐж¯Ì¬Ë®Æ½À©Õ¹
dogfooding£¬×¢²áÖÐÐÄÆäʵÊǵÚÒ»¸öJSF½Ó¿Ú
·þÎñÁбíÍÆËÍÂß¼¸Ä½ø
ÀýÈçÔÀ´100¸öProvider£¬ÏÖÔÚ¼Ó1¸ö½Úµã£¬Ö®Ç°µÄSAFÊÇÐèҪϷ¢101¸ö½Úµã£¬×Ô¼ºÅжϼÓÁËÄĸö½Úµã£¬½øÐг¤Á´½Ó½¨Á¢£»
ÏÖÔڵĸĽøÊÇ£ºÐÞ¸ÄΪÏ·¢Ò»¸öaddʼþ£¬¸æÖªRPC¿ò¼Ü¼ÓÁË1¸ö½Úµã£¬RPC¿ò¼Ü½øÐг¤Á´½Ó½¨Á¢£»
ÕâÑù×ö´ó´ó¼õÉÙÁËÍÆË͵ÄÊý¾ÝÁ¿¡£
×¢²áÖÐÐÄÓëRPC¿ò¼Ü¿É¸÷ÖÖ½»»¥
×¢²áÖÐÐĺÍRPC¿ò¼ÜÊdz¤Á´½Ó£¬¶øÇÒJSFÊÇÖ§³ÖCallbackµÄ£¬×¢²áÖÐÐÄ¿ÉÒÔµ÷ÓÃRPC¿ò¼Ü½øÐзþÎñÁбí±ä»¯Ö®ÍâµÄ²Ù×÷£»
ÀýÈç²é¿´×´Ì¬£¬²é¿´ÅäÖã¬ÅäÖÃÏ·¢µÈ¡£
JSF RPC¿ò¼Ü

RPC¿ò¼Ü×÷Ϊ·þÎñ»¯ÀïÃæµÄ×î»ù±¾µÄ×é¼þ£¬Æäʵ¶¼´óͬСÒ죬ÒòΪRPCµ÷Óö¼ÈƲ»¿ª´úÀí¡¢ÍøÂç¡¢ÐòÁл¯ÕâЩ²Ù×÷¡£
JSFµÄRPC¿ò¼ÜÒ²ÀàËÆ£¬Ö÷Òª·ÖΪͼÖеöÄ£¿é£¬
ÏÂÃæ´ó¸ÅÁÐÏÂһЩ¹¦ÄÜÌØÐÔ£º
Config£ºSpring/API/Annotation
Proxy: Javassist/JDK
Invoker/Filter£ºÄÚÖÃ+×Ô¶¨Ò壬Filter¿ÉÀ©Õ¹
Client£ºFailover£¨Ä¬ÈÏ£©/FailFast/TransportPinpoint/MultiClientProxy
µ÷Ó÷½Ê½£ºÍ¬²½£¨Ä¬ÈÏ£©/Òì²½²¢ÐÐ/Òì²½»Øµ÷/Callback/·º»¯
Loadbalance£ºRandom£¨Ä¬ÈÏ£©/Roundrobin/ConsistentHash/ LocalPreference/LeastActiveCall
·ÓÉ£º²ÎÊý·ÓÉ£¬·Ö×é·ÓÉ£¬£¨IP¼¶±ð·ÓÉÂß¼ÔÚ×¢²áÖÐÐÄ×ö£©
³¤Á¬½Óά»¤£º¿ÉÓÃ/ËÀÍö/Ñǽ¡¿µ
ÐÒ飺JSF£¨Ä¬ÈÏ£©/SAF(dubbo)/HTTP/Telnet/HTTP2
µÚÈý·½£ºREST/Webservice
ÐòÁл¯£ºMsgPack£¨Ä¬ÈÏ£©/Hessian/Json/Java/protobuf(c++)
ѹËõ£ºSnappy/LZMA
ÍøÂ磺»ùÓÚNetty4.0£¬³¤Á¬½Ó¸´ÓÃ
Ïß³ÌÄ£ÐÍ£ºBOSS+WORKER+BIZ
ÈÝÔÖ£º±¾µØÎļþ
ÇëÇóÉÏÏÂÎÄ£ºIP£¬²ÎÊý£¬Òþʽ´«²Î
ʼþ¼àÌý£ºÏìӦʼþ£¬Á¬½Óʼþ£¬×´Ì¬Ê¼þ
·Ö²¼Ê½¸ú×ÙÖ§³Ö£º½øÐÐÊý¾ÝÂñµã
JSF¹ÜÀíÆ½Ì¨
Ìṩǿ´ó¹ÜÀí¹¦ÄÜ£¬°üÀ¨·þÎñ¹ÜÀí£¬¼à¿Ø¹ÜÀí£¬×¢²áÖÐÐĹÜÀíµÈ¹¦ÄÜ¡£



ÎÒÃÇÕë¶Ô·þÎñÖÎÀíµÄ¹¦ÄÜ£¬ÌṩÁ˺ܶàAPI£¬¿ÉÒÔÊÚȨ¸ø¿ª·¢ÈËÔ±»òÕßÍⲿϵͳʹÓá£
ÀýÈçµ¥Ôª²âÊÔµ÷Óã¬ÏÞÁ÷ÅäÖÃ/¿ª¹Ø£¬¶¯Ì¬·Ö×飬ÉÏÏÂÏߵȶ¼ÌṩÁË¿ª·ÅAPI¡£
JSF HTTPÍø¹Ø
Íø¹ØÊÇΪÁË·½±ã¿çÓïÑÔͨ¹ýHTTP+JSONµ÷ÓÃJSF·þÎñ£¬¶ø²»ÐèҪʹÓÃJSFµÄRPC¿ò¼Ü¡£
ÌØÐÔÈçÏ£º
»ùÓÚNetty4.0ʵÏÖHTTPÍø¹Ø£¬Ã»ÓÐʹÓÃServletÈÝÆ÷£¬ÇáÁ¿¸ßЧ¡£
Ö§³Ö·þÎñ×Ô¶¯·¢ÏÖ
Ò»°ãµÄHTTP·þÎñ£¬ÍâÃæÎªÁ˽â¾öµ¥µãÎÊÌ⣬¶¼»áÓÃÓòÃû+VIPµÈʵÏָ߿ÉÓ㬹ÊÕÏ×ªÒÆµÈ£»
ÏÖÔÚÍø¹ØÍ¬Ê±ÔÉú½ÓÈëÁËJSFµÄ×¢²áÖÐÐÄ£¬ÖªµÀÁË·þÎñµÄÌṩÕßÐÅÏ¢£¨JSFÐÒéÖ§³ÖHTTPµ÷Óã©¡£
·þÎñÌṩÕßÒ²²»ÓùØÏµÀ©ÈÝËõÈݵ¼Ö·þÎñµÄIP¶Ë¿Ú·¢Éú±ä»¯£¬Íø¹Ø»á×Ô¶¯Î¬»¤·þÎñÁÐ±í¡£
·þÎñÏÞÁ÷
Õë¶Ô·½·¨¼¶+Ó¦ÓýøÐÐÊÚȨ£¬¹Ì¶¨Ê±¼äÖ»Äܵ÷ÓÃÖ¸¶¨´ÎÊý¡£
ͬһ¸ö·½·¨Ò²Ö»ÄÜÕ¼ÓÃÍø¹ØÄڵIJ¿·ÖÏß³Ì
½á¹ûͳһ°ü×°
¶ÔÒì³£µÈÏìÓ¦½øÐаü×°
JSFÓöµ½¾©¶«µ¯ÐÔÔÆ
¾©¶«µÄJSF·þÎñ¿ª·¢ÔÚ¾©¶«µ¯ÐÔÔÆµÄÑз¢Íƹã֮ǰÍê³É£¬×Ô´Ó¾©¶«µ¯ÐÔÔÆÂ䵨ÒÔÀ´£¬Ò²Óöµ½²»ÉÙÎÊÌâ¡£
ÀýÈ磺
Ó²¼þÖ¸±ê£ºÀýÈçʹÓÃJDK»ñÈ¡µÄDockerµÄÖ¸±êÓÐЩÊÇÎïÀí»úµÄ£¬ÎÒÃÇÐèÒªÌØÊâ´¦Àí
ÍøÂ磺½áºÏ¾©¶«µÄ¡°ÅÖ¡±ÈÝÆ÷£¬Ã¿¸öÈÝÆ÷ÆäʵÓÐʵ¼ÊIP£¬¶ÔÍâÌṩ·þÎñ
ÇáÁ¿£ºÌá¸ßÆô¶¯ËÙ¶È
¿ª·Å·þÎñ£ºÔÚÈÝÆ÷Ïú»Ù»òÕß·ÇÓÅÑÅÍ£»úµÄÇé¿öÏ£¬ÌṩAPI½øÐзþÎñÖÎÀí
JSF¹æÄ£
½Ó¿ÚÊý£ºÍò¼¶
·þÎñ½ÚµãÊý£º°ÙÍò¼¶
½ÓÈëʵÀýÊý£ºÊ®Íò¼¶
¿ò¼Üµ÷ÓÃÁ¿£ºÃ¿ÌìǧÒÚ¼¶±ð
¼à¿ØÊý¾Ý£ºÃ¿Ìì120ÒÚÌõÊý¾Ý£¬1.2TÊý¾ÝÁ¿
HTTPÍø¹Ø£ºÃ¿Ìì°ÙÒÚ¼¶±ð
×ܽá
ûÓÐ×îºÃ£¬Ö»ÓÐ×îÊʺϣ¡
Òâ˼¾ÍÊDz»ÒªÈËÔÆÒàÔÆ£¬Ã¤Ä¿¿´´ó¹«Ë¾ÓÃʲô£¬ÏÖÔÚʲô×îУ¬»òÕßʲôÐÔÄÜ×îºÃ¡£ÒòΪ¼Ü¹¹²»ÊÇÈÃÄãÒ»ÏÂ×ÓÉè¼Æ³öÀ´Ê¹ÓÃÒ»±²×Ó£¬ºÃµÄ¼Ü¹¹¶¼ÊÇÂýÂýÑÝ»¯¶øÀ´µÄ¡£²»Í¬µÄ¼Ü¹¹»á×ö³ö²»Í¬µÄ¼¼ÊõÑ¡ÐÍ¡£ËùÒÔÎÞÂÛʲôʱºò¶¼Òª½áºÏ×Ô¼ºµÄÏÖ×´ÒÔ¼°Î´À´¼¸ÄêµÄ¹æ»®£¬À´½øÐм¼ÊõÑ¡ÐÍ¡£
It¡¯s just the beginning£¡
·þÎñ»¯¿ò¼ÜµÄÑ¡ÔñÖ»ÊÇ¿ªÊ¼£¬ÕæÕýµÄ±ä¸ïÊÇÑ¡Ôñºó£¬¹«Ë¾ÕûÌåÒµÎñºÍ¿ª·¢µÄ±ä¸ï¡£Õâ¸ö´ó¼ÒÓпտÉÒÔ¿´¿´¿µÍþ¶¨ÂÉ¡£ |