±à¼ÍƼö: |
ÎÄÕ½éÉÜÁË´ó¹æÄ£·Ö²¼Ê½Ó¦ÓõÄÌôÕ½,Service
Mesh µÄÐÎ̬¡¢Service Mesh µÄÌôÕ½£¬Ï£Íû¶Ô´ó¼ÒµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚ΢ÐźŠInfoQ£¬ÓÉ»ðÁú¹ûÈí¼þDelores±à¼¡¢ÍƼö¡£ |
|
Service Mesh ½øÈë¹úÄÚ¼¼ÊõÉçÇøºóºÜ¿ì¾Í³ÉÁË΢·þÎñµÄ¡°ÐÂÐ㡱¡£2018 Äê Service Mesh ÕâÒ»¼¼Êõ¿ÉÒÔÓ᰻𱬡±Ò»´ÊÈ¥ÐÎÈÝ£ºIstio 1.0 Õýʽ·¢²¼¡¢Linkerd 2.0 ·¢²¼¡¢Knative »ùÓÚ Istio ´òÔìµÈµÈ¡£
ÍøÉϽéÉÜ Service Mesh µÄ×ÊÁϲ»ÉÙ£¬µ«¹Ø×¢ÕâÒ»¼¼ÊõµÄ±¾ÖÊ¡¢¼ÛÖµµÄÄÚÈÝÈ´²»¶à¡£°¢Àï°Í°Í¸ß¼¶¼¼Êõר¼ÒÀîÔÆ´øÁìÍŶÓÔÚÕâÒ»ÁìÓò̽Ë÷µÄ¹ý³ÌÖÐÏëÇå³þÁËÕâÁ½µã£¬²¢ÔÚ QCon 2018 ÉϺ£Õ¾·ÖÏíÁ˰¢Àï°Í°Í¶Ô Service Mesh µÄ̽Ë÷Óëʵ¼ù¡£
´ó¹æÄ£·Ö²¼Ê½Ó¦ÓõÄÌôÕ½
΢·þÎñÈí¼þ¼Ü¹¹£¨microservices£©ÒѾ±»Ô½À´Ô½¶àµÄÆóÒµ×÷Ϊ¹æÄ£·Ö²¼Ê½Èí¼þ¿ª·¢µÄÊ×Ñ¡¼Ü¹¹¡£ÒýÈë¸Ã¼Ü¹¹Ö®³õÊǽ«Ò»¸öµ¥ÌåÓ¦Óòð½â³É¶à¸ö¸üСÁ£¶ÈµÄ΢·þÎñ (micro-service)£¬Í¨¹ý HTTP API »òÏñ Dubbo ÕâÑùµÄ RPC ¿ò¼Ü½«ÕâЩ·þÎñ×é×°ÆðÀ´×÷ΪÕûÌåÈ¥Ìṩ·þÎñ¡£ÓÉÓÚÿ¸ö΢·þÎñ×ã¹»µØÐ¡ÇÒ¹¦ÄÜÄÚ¾Û£¬Òò´ËÄܺܺõؽâ¾öÒÔÍùµ¥ÌåÓ¦ÓõĿª·¢Óë·¢²¼À§ÄѵÄÎÊÌâ¡£¼´±ãÈç´Ë£¬Ëæ×ÅÆóÒµµÄÒµÎñ·¢Õ¹ºÍÈËÔ±¹æÄ£µÄ׳´ó£¬²»Í¬ÒµÎñËùÐγɵÄ΢·þÎñȺ֮¼äµÄÐÍ¬È´ÃæÁÙеÄÌôÕ½¡£
ÔÚ°¢Àï°Í°ÍÄÚ²¿£¬RPC ¿ò¼ÜÓÉÖмä¼þÊÂÒµ²¿Í³Ò»¿ª·¢Óëά»¤£¬ÒÔ SDK ÐÎʽÌṩ¸ø¼¯ÍÅÄ򵀮äËûÊÂÒµ²¿Ê¹Óá£ÓÉÓÚ SDK ÓëÓ¦ÓÃÂß¼ÊÇñîºÏÔÚͬһ¸ö½ø³ÌÖе쬵± SDK ÏòǰÑݽøËùÔö¼ÓµÄÌØÐÔ²¢²»ÊÇijЩҵÎñ·½ËùÐèÒªµÄʱ£¬ÕâЩҵÎñ·½¾ÍûÓж¯Á¦ÅäºÏÖмä¼þÊÂÒµ²¿È¥Í¬²½Éý¼¶×Ô¼ºÓ¦ÓÃÖÐµÄ SDK °æ±¾£¬Ê¹µÃ SDK ÔÚÕû¸ö¼¯ÍÅ´æÔÚ¶à¸ö°æ±¾ÉõÖÁ±ä³É³¤Î²¶øÐγɰü¸¤¡£ÀàËÆµÄ°ü¸¤·´¹ýÀ´ÖÆÔ¼ÁË RPC ¿ò¼Ü×ÔÉíµÄÑݽøÐ§ÂÊ¡£
µ±Î¢·þÎñ¿ò¼ÜÊǵ¥Ò»±à³ÌÓïÑÔ¶À´ó£¨Java ÔÚ°¢Àï°Í°Í¾ÍÊÇÕâÑùµÄ£©¡¢²»ÄÜͬ²½Ö§³ÖºÃÆäËû¶à¸öÖ÷Á÷±à³ÌÓïÑÔʱ£¨±ÈÈç C++¡¢Go¡¢Node.js µÈ£©, ¾Í»á³öÏַǶÀ´ó±à³ÌÓïÑ﵀ SDK ÔÚÌØÐÔÉÏÑÏÖØÖͺóÓÚ¶À´ó±à³ÌÓïÑԵģ¬×îÖÕÓ°ÏìʹÓ÷ǶÀ´ó±à³ÌÓïÑÔµÄÒµÎñ·½ÒÔ×Ô¼º×îΪÊìϤµÄ±à³ÌÓïÑÔÈ¥·¢Õ¹ºÍ̽Ë÷ÒµÎñ¡£±à³ÌÓïÑÔ¶À´óËù´øÀ´µÄºÃ´¦ÊǶàÊýÈ˵ļ¼ÊõÕ»ÊÇÒ»ÑùµÄ¶øÌá¸ßÁ˼¼Êõ²ãÃæµÄÐ×÷ЧÂÊ£¬µ«È´ÎÞ·¨ÊÕ»ñ±à³ÌÓïÑÔ¶àÑùÐÔËù´øÀ´µÄÆäËûºÃ´¦¡£¼´±ãͬ²½µØ¶Ô¶à¸ö±à³ÌÓïÑ﵀ SDK ½øÐÐά»¤£¬Í¬ÑùµÄÌØÐÔÐèÒªÓò»Í¬µÄ±à³ÌÓïÑÔȥʵÏÖÆä³É±¾×ÅʵºÜ¸ß¡£
Ò²ÐíÔÚÆóÒµÄÚ²¿Í³Ò»µ¥Ò»µÄÖ÷Á÷±à³ÌÓïÑÔ²¢²»»á´øÀ´Ê²Ã´ÁÓÊÆ£¬µ«µ±ÆóÒµÐèҪͨ¹ýÊÕ¹ºÆäËû¹«Ë¾À´À©³ä×Ô¼ºµÄÉÌÒµ°æÍ¼Ê±¾ÍºÜ¿ÉÄÜÃæÁÙ¼¼ÊõÕ»²»Í³Ò»¶ø´øÀ´ÒµÎñÎÞ·¨µÍ·çÏÕ¡¢¸ßЧÂʹ²´æÑݽøµÄÌôÕ½¡£µ±Åöµ½Ä¸×Ó¹«Ë¾µÄ¼¼ÊõÕ»²»Í³Ò»Ê±£¬ÔÚ±»ÊÕ¹º×Ó¹«Ë¾ÖнøÐÐÍÆµ¹Öؽ¨»ù±¾ÉÏÊÇÒ»¼þÒµÎñ¼ÛÖµ²»´óµÄÀÍÃüÉ˲ÆÖ®Ê¡£
×îºó£¬ÔÚ΢·þÎñÈí¼þ¼Ü¹¹ËùÖ÷ÕŵIJð·ÖÊÖ·¨Ï£¬È·Êµ¿ÉÒÔ½«Ã¿¸ö²ð·Ö³öÀ´µÄ·þÎñ´Ó¼à¹Ü¿Ø²ãÃæ×öµ½×ã¹»µÄ¾«Ö£¬µ«ÕâÊÆ±Ø»áÒòΪ¸ÅÄî³éÏó²»Í¬¡¢ÍŶӳÉÊì¶È²»Ò»ÖµÈÔÒò¶øÊ¹µÃÕâЩ¡°¾«ÖµÄÑÌ´Ñ¡±ÄÑÒÔ¸ßЧÎÞ·ìÐͬ£¬×îÖյĽá¹ûÊÇÈí¼þ¹¦ÄܵÄÒ×ÓÃÐÔ¡¢·çÏյĿɿØÐÔºÍÊÊÓ¦ÒµÎñ±ä»¯µÄÃô½ÝÐÔÎÞ·¨×öµ½È«¾Ö×îÓÅ¡£
²»ÄÑÏëÏ󣬲ÉȡǿÓÐÁ¦µÄÍŶÓ×éÖ¯ÐÎʽ¡¢¼¼Êõ¹æ·¶µÈÊÖ¶ÎÊǺÜÄѽâ¾öÒÔÉÏÌôÕ½µÄ¡£»Ø¹éͨ¹ý¼¼Êõ;¾¶È¥½â¾ö¼¼ÊõÌôÕ½²Å¸üΪÓÐÁ¦¡¢ÓÐЧ£¬ÕâÕýÊÇ Service Mesh ÕâÒ»¼¼Êõ¿ÉÒÔ°ïÖú×öºÃµÄ¡£
Service Mesh µÄÐÎ̬
Service Mesh µÄºËÐÄ˼·Óë΢·þÎñÈí¼þ¼Ü¹¹µÄ˼·ÊÇÒ»ÂöÏà³ÐµÄ£¬¼´Í¨¹ý²ð·ÖʵÏÖ½âñ¡ª½« SDK ÖÐÆµ·±±ä¸üµÄÂß¼ÓëÒµÎñÂß¼·Ö±ð·Åµ½²»Í¬µÄ½ø³ÌÖС£ÏÂͼÒÔ RPC ¿ò¼ÜΪÀýʾÀýÁËÕâÒ»ÊÖ·¨¡£

²ð·ÖÖ®ºó£¬·þÎñµ÷ÓõÄÁ÷Á¿Í¨¹ý¼¼ÊõÊÖ¶ÎÒÔÓ¦ÓÃÎ޸еÄÐÎʽµ¼Èë sidecar ½ø³Ì¡£Ã¿¸ö·þÎñ½ø³Ì±ßÉÏÐÂÔöµÄ sidecar ʹµÃÍêÕûµÄ·þÎñµ÷ÓÃÁ´Öпͻ§¶ËºÍ·þÎñ¶Ë·Ö±ðÔö¼ÓÁËÒ»Ìø£¬ÕâÊÇÏíÊÜ Service Mesh ¼¼ÊõËùÐ踶³öµÄ³É±¾¡£
Service Mesh µÄÌôÕ½

µÚÒ»¸öÌôÕ½À´×ÔÐÄÖÇģʽÐèÒª¸Ä±ä¡£ÏíÊÜ Service Mesh Ëù´øÀ´µÄÒæ´¦ÊÇÐèÒª¸¶³ö³É±¾µÄ£¬ÕâÈçͬµ¥ÌåÓ¦ÓÃÏò΢·þÎñÈí¼þ¼Ü¹¹×ª±äÄÇÑù£¬ºËÐÄÊdzɱ¾ÓëÊÕÒæÎÊÌâ¡£Ö®ËùÒÔÒµÄÚÈÔÓв»ÉÙÈ˾À½áÓÚ Service Mesh µÄ¼ÛÖµ£¬¸ù±¾ÔÒòÔÚÓÚÆóÒµµÄÒµÎñ¹æÄ£ÊÇ·ñÃæÁÙ Service Mesh ËùÖÂÁ¦ÓÚ½â¾öµÄÄÇЩÌôÕ½£¬Èç¹ûûÓÐÔò²ÉÄÉ Service Mesh Ö»´øÀ´¸ü¸ßµÄ³É±¾¶øÃ»ÓÐÊÕÒæ¡£
¶ÔÓÚÄÇЩ·þÎñ¹æÄ£»¹Ð¡µÄÆóÒµ£¬È·ÊµÃ»ÓбØÒªÒýÈëÉд¦ÓÚ̽Ë÷ºÍÆÕ¼°½×¶ÎµÄ Service Mesh µÄ±ØÒª¡£ËûÃÇ¿ÉÒÔ³ÖÐø¹Ø×¢ÒµÎñ·¢Õ¹Óë¼¼ÊõµÄÆ¥Å䣬ÔÚºÏÊʵÄʱ¼äµãÈ¥Óµ±§Ð¼¼Êõ¡£
µÚ¶þ¸öÌôÕ½À´×ÔÓÚ¼¼Êõ²ãÃæ£¬¼´ÈçºÎ×öµ½Ôö¼Ó sidecar ºóµÄ¡°Â·¾¶ÎÞË𡱡£¾ßÌå˵À´£¬ÈçºÎÔÚÒýÈë Service Mesh µÄÇéÐÎÏ£¬×î´ó¿ÉÄܵز»Ôö¼Ó·þÎñµÄµ÷ÓÃÑÓʱºÍÏûºÄ¸ü¶àµÄ CPU ×ÊÔ´¡£ÕâÊÇδÀ´ÐèÒª³ÖÐøÈ¥Í»ÆÆµÄ¼¼Êõ·½Ïò¡£¿ÉÒÔÔ¤¼û£¬Í»ÆÆµÄ;¾¶ÎÞÍâºõ¡°Ó¦Óòã + Äں˲㡱»ò¡°Èí¼þ + Ó²¼þ¡±¡£
Service Mesh µÄ±¾ÖÊ

ÎÞÒÉ£¬¼¼Êõ·¢Õ¹ÊÇ·þÎñÓÚÒµÎñ¼ÛÖµ´´ÔìµÄ¡£ÔÚµ¥ÌåÓ¦ÓÃʱ´ú£¬ÒòΪÈí¼þ¹æÄ£¡¢ÒµÎñ¸´ÔӶȺͲÎÓëÈËÔ±ÊýÁ¿µÄ³ÖÐøÔö´ó£¬Ê¹µÃÈí¼þ¿ª·¢ºÍµü´ú¹¤×÷ÒòΪñîºÏ¶ø¾Ù²½Îª¼è£¬Õâ¾ÍÓÐÁË΢·þÎñÈí¼þ¼Ü¹¹µÄ³öÏÖ¡£ÄÇʱµÄÒµÎñ·¢Õ¹Ð§ÂÊÎÊÌ⼯ÖÐÌåÏÖÓÚÈËÔ±Ðͬ£¬ÔÚ΢·þÎñÈí¼þ¼Ü¹¹µÄÐèҪϲúÉúÁË RPC¡¢Messaging µÈ¼¼Êõ¡£
µ±ÈËÔ±µÄÐͬÎÊÌâͨ¹ý΢·þÎñÈí¼þ¼Ü¹¹µÃÒÔ½â¾öʱ£¬Ëæ×ÅÈí¼þ¹æÄ£¡¢ÒµÎñ¸´ÔӶȺͲÎÓëÈËÔ±ÊýÁ¿µÄ½øÒ»²½Ôö´ó£¬ÐèÒª¸üºÃµØ½â¾ö¶à¸öÒµÎñ£¨»ò·þÎñ£©Ö®¼äµÄÐͬÎÊÌ⣬¶øÕâÊÇ Service Mesh ÕâÒ»¼¼ÊõµÄ±¾ÖÊ¡£
Service Mesh µÄ¼ÛÖµ

ÔÚ Service Mesh µÄÐÎ̬Ï£¬RPC ¿ò¼ÜÖÐÈÝÒ×±ä¸üµÄÄÚÈݱ»°þÀëµ½ÁË sidecar ½ø³Ì£¬Ö®Ç°µÄÅÖ SDK ÊÝÉíΪֻ±£ÁôÁ˹¦Äܺ㶨µÄÐÒé±à½âÂëÄÜÁ¦¡£Èç´ËÒ»À´£¬Óë RPC ¿ò¼ÜÑݽøÏà¹ØµÄÂß¼¼¸ºõ¼¯ÖÐÔÚ sidecar ½ø³ÌÖУ¬Õâ¾ÍÍêÈ«¿ÉÒÔ×öµ½ÈÃʹÓà RPC ¿ò¼ÜµÄÒµÎñ·½ÎÞ¸ÐÖªµØ¶ÔÖ®½øÐÐÉý¼¶Óëά»¤¡£×îÖյĽá¹ûÊÇ£¬ÒµÎñÓë RPC ¿ò¼Ü¿ÉÒÔ×öµ½¶ÀÁ¢·¢Õ¹ÓëÉý¼¶£¬ÍêÈ«Ïû³ýÁË֮ǰÅÖ SDK Ëùµ¼ÖµÄÁ½ÕßÏà»¥ÖÆÔ¼·¢Õ¹µÄ²»Àû¾ÖÃæ¡£ÕâÒ»½âñîËù´øÀ´µÄºÃ´¦ÊÇ£¬Ê¹Óà RPC ¿ò¼ÜµÄÒµÎñÍŶӿÉÒÔ¸ü¼Ó¾Û½¹ÓÚÒµÎñ¿ª·¢±¾Éí£¬ÕâÕýÊÇ·¢»Ó¼¼Êõ¼ÛÖµÓ¦´ïµ½µÄ¾³½ç¡£
²»ÄÑ¿´³ö£¬Service Mesh ºÜºÃµØ½â¾öÁËÒÔÍù RPC ¿ò¼Ü¶àÓïÑÔ SDK µÄÎÊÌâ¡£ËäÈ»ÔÚ Service Mesh ÏÂÈÔÈ»ÐèÒª SDK£¬µ«ÓÉÓÚ SDK ÖеŦÄÜÊÇÏ൱Îȶ¨µÄ£¬²»´æÔÚÓ¦¸¶Æµ·±±ä¸üËù´øÀ´µÄ³¤ÆÚά»¤³É±¾ÎÊÌâ¡£ÓÉÓÚ sidecar ÊÇÒÔ½ø³ÌµÄÐÎʽ´æÔڵģ¬Òò´ËÍêÈ«²»¹ØÐÄʹÓà RPC ¿ò¼ÜµÄÒµÎñÂß¼ÊÇÓÃʲô±à³ÌÓïÑÔʵÏֵģ¬Ö»ÐèʵÏÖÒ»´Î¶øÃ»ÓÐÈÃÈ˸е½ÎÞÁĵĶàÓïÑÔÌØÐÔ¶ÔÆëÎÊÌ⣬½« RPC ¿ò¼Ü¼¼ÊõÍŶӵÄÈËÁ¦ÊͷųöÀ´×ö¸üÓмÛÖµµÄÊ¡£
Ò²ÒòΪ sidecar ÊÇÒÔ¶ÀÁ¢½ø³ÌµÄÐÎʽ´æÔÚ£¬µ±³öÏÖÒòΪ¹«Ë¾ÊÕ¹ºËùÃæÁÙµÄĸ×Ó¹«Ë¾¼¼ÊõÕ»²»Ò»ÖÂÎÊÌâʱ£¬¿ÉÒÔ½« sidecar ²¿ÊðÔÚÁ½¸ö¼¼ÊõÕ»µÄÏνӴ¦£¬ÓÉ sidecar ͨ¹ýÐÒéת»»µÈÐÎʽÍê³ÉÁ½¸öÒì¹¹·þÎñ¿ò¼ÜµÄÁ¬½Ó£¬ÎªÒì¹¹·þÎñ¿ò¼ÜµÄ½¥½øÊ½ÈںϷ¢Õ¹ÌṩÁË¿ÉÄÜ£¬ºÜºÃµØ»º½âÁË¶ÌÆÚ¸ßÇ¿¶È¼¼Êõ¸ÄÔìËùÃæÁٵļ¼Êõ·çÏպͶÔÒµÎñ·¢Õ¹µÄÍÏÀÛ¡£
·þÎñ¿ò¼ÜÒ×±äµÄ¹¦ÄܰþÀëµ½ÁË sidecar ºó£¬ÒâÎ¶È«ÍøµÄ·þÎñÁ÷Á¿ÖÎÀíÄÜÁ¦¿ÉÒÔͨ¹ý sidecar ½øÐÐÊÕ¿Ú¡ª¡ªsidecar ×ÔÉíµÄ°æ±¾È«ÍøÒ»Ö¡¢Á÷Á¿¹æÔòÓëÖ´ÐвßÂÔÒ»Ö¡¢¼à¿Ø¿Ú¾¶Ò»Ö£¬µÈµÈ¡£Öî¶àµÄ¡°Ò»Ö¡±½«ÊµÏÖÈ«Íø·þÎñÖÎÀíµÄÌåϵ»¯¼à¹Ü¿Ø£¬Ê¹µÃ Service Mesh ³ÉΪ΢·þÎñÈí¼þ¼Ü¹¹²ð·ÖÊÖ·¨ÏÂÍê³ÉºáÏòÁ¬½ÓÓëÔ¼ÊøµÄÇ¿ÓÐÁ¦¼¼ÊõÊֶΡ£
Èç¹ûÓÃÒ»¾ä»°À´ÃèÊö Service Mesh µÄ»°£¬ÄǾÍÊÇ¡°²ã´Î»¯¡¢¹æ·¶»¯¡¢Ìåϵ»¯¡¢ÎÞÇÖÈëµÄ·Ö²¼Ê½·þÎñ£¨»òÓ¦Óã©ÖÎÀí¼¼Êõ¡±¡£
Service Mesh µÄÖÕ¾Ö

ÑÓ×Å Service Mesh µÄÇзÖÂß¼£¬²»ÄÑÔ¤¼ûδÀ´ Service Mesh ËùÐγɵÄÖÕ¾ÖÊÇÒ»ÕÅ´óÍø¡£Õâ¸ö´óÍøÊÇÆóҵͳһÇÒΨһµÄ·Ö²¼Ê½Ó¦ÓÃÖÎÀíµÄ»ù´¡ÉèÊ©£¬ÆäÉÏÌìÈ»µØÖ§³Ö¶àÓïÑÔÓ¦ÓõĿª·¢¡£µ±È»£¬sidecar ÊǰüÂÞÍòÏóµØÖ§³Ö RPC¡¢DB¡¢Messaging£¬»¹ÊÇÑÜÉú³ö RPC sidecar¡¢DB sidecar¡¢Messaging sidecar ÊÇÈÔÐè̽Ë÷µÄÖ÷Ìâ¡£
Service Mesh µÄ·¢Õ¹Â·¾¶

м¼Êõµ®ÉúÓÚÂß¼ÉÏÄܽâ¾öµ±ÏÂËùÃæÁٵļ¼Êõ»òÒµÎñÌôÕ½£¬µ«ÄÜ·ñÕæÕýÂäµØÈ¥×î´ó³Ì¶ÈµØ·¢»Ó¼Ûֵȴ¾ßÓв»È·¶¨ÐÔºÍÄ£ºýÐÔ¡£ÕýÒòÈç´Ë£¬²»ÉÙм¼Êõ³öÏÖ֮ʱ´æÔÚ¸÷ÖÖ»ùÓÚ×ÔÉíÁ¢³¡È¥½â¶ÁºÍÍÚ¾òÆä±³ºóµÄ¼ÛÖµ£¬µ±È»Ò²²»·¦¸÷ÖÖÖÊÒÉÖ®Éù¡£ËùÓÐÕâÒ»ÇÐÈÃÒµÄÚ¶ÔÌôÕ½¿´µÃ¸ü¼Ó͸³¹£¬¶Ôм¼ÊõµÄ̽Ë÷Ò²Óú¼Ó¸ßЧ¡£
¸ù±¾ÉÏ£¬Service Mesh µÄ³öÏÖ²¢·ÇÌî²¹Á˼¼Êõ¿Õ°×£¬²»ÉÙ¹«Ë¾ÒòÎªÔø¾ÓйýÏàËÆµÄ̽Ë÷¶ø¸øÈË¡°»»ÌÀ²»»»Ò©¡±µÄ¸Ð¾õ£¬Óë½ñÌìʱÐ˵ÄÔÆ¼ÆËãÔÚÊ®¼¸¡¢¶þÊ®Äêǰ±»³ÆÖ®Îª·Ö²¼Ê½¼ÆËã¡¢Íø¸ñ¼ÆËãÆÄÓÐÏàËÆÖ®´¦¡£µ±Ò»Ïîм¼Êõ²»ÊǸøÈ˺á¿Õ³öÊÀµÄ¸Ð¾õʱ£¬ËüµÄÔËÓÃÓë²ÉÄɾͻá¾Àú¸ü¶àµÄ²¨ÕÛ£¬ÒòΪûÓÐËüËÆºõÆóÒµµÄÒµÎñ·¢Õ¹ÈÔÄܽøÐÐÏÂÈ¥¡£
ÔÚ¾ÀúÁËÒ»¶¨µÄ˼¿¼ºÍÊг¡¸ÐÖªºó£¬·¢ÏÖ Service Mesh ÕæÕý·¢»Ó¼ÛÖµÊÇÐèÒª·Ö²¼Ê½Ó¦Óôóµ½Ò»¶¨µÄ¹æÄ£²¢ÃæÁÙÒ»¿ªÊ¼ËùÌá³öµÄÄÇЩÌôÕ½£¬ÕâЩÔÚ°¢Àï°Í°Í¼¯ÍÅÄÚ²¿¶¼Âú×ã¡£×îÖÕÎÒ½« Service Mesh µÄ·¢Õ¹»®·Ö³ÉÈý´ó½×¶Î¡£
½×¶ÎÒ»£ºÇ˶¯¡£Ð¼¼Êõ±»²ÉÄɵĹؼüÊÇËüÄܽâ¾öÒµÎñµ±ÏÂËùÃæÁÙµÄÍ´µã£¬°¢Àï°Í°ÍÒòΪ Java ÓïÑÔÒ»¼Ò¶À´ó¶øÊ¹µÃ¶àÓïÑÔÎÊÌâÏ൱ͻ³ö£¬ÕâʹµÃСÖڵıà³ÌÓïÑÔÀÖÓÚÓµ±§ Service Mesh È¥½â¾ö×Ô¼ºÎ¬»¤ SDK »ò SDK ÌØÐÔÀϾɵÄÍ´µã¡£´ËÍ⣬°¢Àï°Í°Í²»Ê±Í¨¹ýÊÕ¹º×Ó¹«Ë¾À©´ó×Ô¼ºµÄÉÌÒµ°æÍ¼£¬È·Êµ¾ÀúÁËÒì¹¹·þÎñ¼Ü¹¹¹²´æÑݽøËù´øÀ´µÄÌôÕ½¡£
Ç˶¯½×¶ÎÈÃм¼ÊõµÃÒÔÂ䵨¶ø½Ó´¥µ½¸ü¶àµÄÒµÎñ»ú»á²¢ÕùÈ¡µ½´òÄ¥¼¼ÊõµÄʱ¼ä´°¿Ú£¬Èà Service Mesh ¼¼ÊõÍŶӶÔÓÚÐèÇóµÄÀí½âºÍ°Ñ¿Ø¸ü¼Óµ½Î»¡£Îª½øÈëÏÂÒ»·¢Õ¹½×¶ÎÌṩ¿ÉÄÜ¡£
½×¶Î¶þ£º×ö͸¼ÛÖµÉøÍ¸¡£¹â½â¾ö¶àÓïÑÔºÍÒì¹¹·þÎñ¼Ü¹¹¹²´æÑݽø²¢²»×ãÒÔʵÏÖ´ó·¶Î§µÄÌåϵ»¯¼à¹Ü¿Ø£¬ÐèÒªÎ§ÈÆ¼¯ÍÅÄÚ²¿¸üΪ·á¸»µÄÒµÎñ³¡¾°È¥ÍÚ¾ò Service Mesh µÄ¼ÛÖµ£¬²¢ÔÚ̽Ë÷µÄ¹ý³ÌÖÐѰÇó¼¼ÊõÍ»ÆÆÈ¥½µµÍÒýÈë Service Mesh µÄ³É±¾¡£µ±·Ö²¼Ê½Ó¦ÓõÄÌåÁ¿Ìرð´óʱ£¬³É±¾ÎÊÌ⽫±äµÃ±¸ÊܹØ×¢¡£Ò»µ© Service Mesh µÄ¼ÛÖµµÃÒÔ×ö͸£¬»¹µÃ¿¼ÂÇÎÞ·ìÇ¨ÒÆµÈÓû§ÌåÑéʹ֮µÃÒÔ¸üΪ·½±ãµØÓ¦Óõ½¸ü¶àµÄÒµÎñ³¡¾°¡£
½×¶ÎÈý£ºÊµÏÖ¼¼Êõ»»´ú¡£·Ö²¼Ê½Ó¦ÓõÄÈ«¾Ö¡¢Ìåϵ»¯¼à¹Ü¿ØÒ»¶¨ÊÇδÀ´ÔÆÔÉúʱ´úµÄÇ¿ËßÇó¡£½øÈëÕâÒ»½×¶Î´ú±í¼¼Êõ½øÈëÁ˸ü¸ß²ã´ÎµÄ¼¯Ô¼·¢Õ¹Ê±ÆÚ£¬Êdz¥»¹¹ýÈ¥¡°ÅÜÂíȦµØ¡±ºÍ¡°Ò°ÂùÉú³¤¡±ËùǷϼ¼ÊõÕ®µÄÖØ´óÀï³Ì±®¡£ÔÚÕâÒ»½×¶Î£¬Service Mesh ½«³ÉΪÆóÒµËùÓзֲ¼Ê½Ó¦ÓõĻù´¡ÉèÊ©£¬Í¨¹ýÕâÒ»ÉèʩǿÓÐÁ¦µØÖ´ÐÐÁ÷Á¿»Ò¶È¡¢Á÷Á¿µ÷¶ÈÈ¥±£ÕÏÒµÎñµÄ³ÖÐøÐÔ£¬Èð²È«¡¢Îȶ¨ÐÔÎÊÌâµÃÒÔ²ÉÓÃÒ»ÖÂÐÔ¡¢ÏµÍ³ÐԵķ½°¸½â¾ö¡£¡°Éú³¤¡±ÔÚ Service Mesh Ö®ÉϵÄËùÓÐÒµÎñÍêÈ«¿ÉÒÔ¸ù¾ÝÍŶӵļ¼ÊõÕ»ÌØ³¤ÒÔ¸üΪ¾¼ÃºÍ¸ßЧµÄ·½Ê½È¥·¢Õ¹ºÍ̽Ë÷¡£
Dubbo Mesh µÄ·¢Õ¹Ë¼Â·

Dubbo Mesh ÊÇ Service Mesh ÔÚ Dubbo Éú̬ϵÄÂä½Åµã¡£Æä·¢Õ¹²»½öÁ¢×ãÓÚÔÚ°¢Àï°Í°Í¼¯ÍÅÒÅÁôÓ¦Óó¡¾°µÄ°ü²¢¼æÈÝ£¬»¹½«ÓºÏ Kubernetes ÒѳɼÆËã×ÊÔ´±àÅÅÍõÕߵĴóÊÆ£¬Èà Service Mesh ÔÚδÀ´ÒÔ Kubernetes Way È¥Ìṩ¸ÅÄîÒ»Ö¡¢ÌåÑéÒ»Öµļ¼Êõ²úÆ·¡£
Õû¸ö Service Mesh µÄ·¢Õ¹Óë̽Ë÷½«×ß¡°Ô´ÓÚ¿ªÔ´£¬·´²¸¿ªÔ´£¬¼¯ÍÅÄÚÍâ°æ±¾Ò»Ö¡±µÄ˼·¡£Ï£Íû̽Ë÷֮·ÉÙ×ßÍä·¡¢Óë¸ü¶àµÄͬÐÐЯÊÖǰÐУ¬³ÉΪ¿ªÔ´ÉçÇøµÄÒ»Ãû»ý¼«½¨ÉèÕß¡£
×îÖյļ¼ÊõÑ¡ÐÍÊDzÉÓà Istio µÄ²¿·Ö×é¼þ£¨Dubbo Control ¿ØÖÆÃ棩ºÍ Envoy£¨Dubbo Proxy Êý¾ÝÃæ£©Ðγɰ¢Àï°Í°Í×Ô¼ºµÄ½â¾ö·½°¸¡£Istio ÖÐµÄ pilot-discovery ¶ÔÓÚÆ½Ì¨µÄ³éÏó±ãÓÚÀ©Õ¹Ö§³Ö°¢Àï°Í°Í×î½ü¿ªÔ´³öÀ´µÄ Nacos ¶ø·½±ãÂ䵨£¬Í¬Ê±Îª½«À´¼¯ÍÅÈ«ÃæµÄ Kubernetes »¯×öºÃ×¼±¸¡£Envoy µÄÐÔÄÜÓëÈí¼þÖÊÁ¿ÔںܶàÉú²ú»·¾³Éϵõ½Á˼ìÑ飬¶ø²ÉÓà C++ ÄÜ´ÓÐÔÄÜÉϵõ½ºÜºÃµÄ±£Ö¤£¬±ÜÃâÓÐЩÓïÑÔ´æÔÚ GC£¨À¬»ø»ØÊÕ£©¶ø´øÀ´µÄ²»È·¶¨ÐÔ£¬Ò²±ãÓÚ½«À´Ó¦ÓòãÓë OS ²ã¡¢Èí¼þÓëÓ²¼þµÄ½áºÏ·¢Õ¹¡£
Dubbo Mesh µÄ½øÕ¹

Ŀǰ Dubbo Proxy Íê³ÉÁË Dubbo ·þÎñµ÷ÓÃͳ¼ÆÐÅÏ¢ÊÕ¼¯µÄ¿ª·¢¹¤×÷£¬Õⲿ·Ö´úÂëÒѺÏÈëÁË GitHub ÉÏ Envoy ²Ö¿âµÄ master Ö÷¸É¡£Dubbo Proxy È«ÃæÖ§³Ö Dubbo ·þÎñ·ÓɵŤ×÷ÕýÔÚ½øÐУ¬ÏàÐźܿìÕⲿ·Ö´úÂ뽫³öÏÖÔÚ¿ªÔ´ÉçÇø¡£
ÔÚ°¢Àï°Í°Í¼¯ÍÅÄÚ²¿£¬ÎªÁË¿ìËÙÂ䵨ÒѾÍê³É Dubbo over HTTP ¼¼Êõ·½°¸µÄ¿ª·¢£¬Ä¿Ç°ÒÑÔÚÁ½¸ö¶àÓïÑÔ³¡¾°ÒµÎñ·½µÄ»·¾³ÖÐÍê³É²¿Ê𲢿ªÊ¼×ÅÊÖÐÔÄܲâÊԺ͵÷ÓŹ¤×÷¡£ÄÚ²¿Â䵨·½°¸ÖУ¬ÐèÒª¿¼ÂÇͨ¹ý Nacos Ó뼯ÍÅÄÚ²¿µÄ VIPServer¡¢ConfigServer ¼¯Èº½øÐжԽÓÈ¥Íê³É·þÎñ·¢ÏÖ£¬ÕâЩ¶Ô½Ó¹¤×÷¿ªÔ´ÉçÇøÎÞÐè¹Ø×¢£¬ÒòΪ¿ªÔ´µÄ Nacos ÒѰüº¬°¢ÀOÍÅÄÚ²¿µÄ·þÎñ×¢²áÓë·¢ÏÖºÍÅäÖùÜÀíÄÜÁ¦¡£
ÖµµÃÒ»Ìᣬpilot-discovery Ŀǰ²¢·Ç¼¯Èº»¯²¿Ê𣬶øÊÇÓë Dubbo Proxy Ò»Ñù½øÐÐÁËϳÁ¡£Î´À´ÔÚºÏÊʵÄʱ»ú»áÔÙ¿¼Âǽ«Ö®ÉÏÀ²¢ÐγɶÀÁ¢µÄ²¿Êð¼¯Èº¡£
ServiceMesh ×÷Ϊ΢·þÎñ¡°Ð¹ó¡±ÔÚ 2018 Äê»ð±¬Òì³££¬Î´À´Ó¦¸ÃÒ²»áÓиü¹ãÀ«µÄÓ¦ÓÃǰ¾°¡£
|