±à¼ÍƼö: |
ÎÄÕ½éÉÜÁËÂìÒϽð·þÔÚService
MeshÂ䵨ÖÐÓöµ½µÄµäÐÍÎÊÌâºÍ½â¾ö·½°¸,·þÎñ¼äͨѶµÄ·¶Î§£¬¿´¿´Service Mesh¿ÉÒÔÔÚÄÄЩÁìÓòµÃµ½Ó¦ÓõÈÏà¹ØÄÚÈÝ
±¾ÎÄÀ´×ÔÓÚskyao.io£¬ÓÉ»ðÁú¹ûÈí¼þLuca±à¼¡¢ÍƼö¡£ |
|
ÕªÒª
ÔÚÓ¸ҵÄÑ¡ÔñÁËService Mesh×÷ΪδÀ´¼¼Êõ·½ÏòÖ®ºó£¬ÂìÒϽð·þÂÊÏÈ¿ªÊ¼ÁËService
Mesh´ó¹æÄ£ÂäµØÌ½Ë÷¡£Ôڴ˹ý³ÌÖУ¬ÎÒÃÇÓöµ½ºÜ¶àÎÊÌâ£¬ÃæÁÙ¸÷ÖÖÌôÕ½£¬Ò²ÓÐÁËһЩ˼·ºÍ·½·¨¡£½ñÌìÎÒÃǽ«ÕâЩʵ¼ù·ÖÏí³öÀ´£¬²¢½áºÏÎÒÃÇ¿ªÔ´µÄSOFAMeshÏîÄ¿£¬ºÍ´ó¼ÒÒ»Æð̽ÌÖ£ºÈçºÎ¸üºÃµÄ½«Service
MeshÕâÑùµÄÐÂÐ˼¼ÊõÂ䵨ÓÚʵ¼ÊÉú²ú»·¾³¡£

´ó¼ÒºÃ£¬ÎÒÊÇÀ´×ÔÂìÒϽð·þÖмä¼þÍŶӵİ½Ð¡½££¬Ä¿Ç°ÊÇÂìÒϽð·þ Service
Mesh ÏîÄ¿µÄPD¡£ÎÒͬʱҲÊÇ ServicemesherÖйú¼¼ÊõÉçÇø µÄ´´Ê¼ÈË£¬ÊÇ Service
Mesh ¼¼ÊõÔÚ¹úÄÚ×îÔçµÄ²¼µÀʦ¡£ÎÒ½ñÌì¸ø´ó¼Ò´øÀ´µÄÖ÷ÌâÊÇ¡±³¤Â·ÂþÂþ̤¸è¶øÐУºÂìÒϽð·þService
Meshʵ¼ù̽Ë÷¡±¡£

½ñÌìÎÒÃǵÄÄÚÈݲ»ÊǼÌÐø×ö Service Mesh µÄ²¼µÀ£¬½ñÄêÒªºÃºÃ½²Ò»½²Êµ¼ù¡£ËùÒÔ½ñÌìÎÒ²»»áÏñÈ¥ÄêÄÇÑù¸ø´ó¼ÒÏêϸ½âÊÍ
Service Mesh ÊÇʲô£¬ÄÜ×öʲô£¬ÓÐʲôÓÅÊÆ¡£¶øÊǽáºÏ¹ýÈ¥Ò»ÄêÖÐÂìÒϽð·þµÄʵ¼ù¾Ñ飬½áºÏÂìÒϽð·þµÄ
SOFAMesh ²úÆ·£¬°ïÖú´ó¼Ò¸üÉî¿ÌµÄÀí½â Service Mesh ¼¼Êõ¡£

ÔÚ¿ªÊ¼½ñÌìµÄÄÚÈÝ·ÖÏí֮ǰ£¬ÎÒÃÇÏÈÀ´ÈȸöÉí£¬ÎÂϰһÏÂÈ¥ÄêµÄÄÚÈÝ¡£È¥ÄêÎÒÊÇÀ´²¼µÀµÄ£¬¶ø²¼µÀµÄºËÐÄÄÚÈݾÍÊǸæËß´ó¼Ò£ºService
Mesh ÊÇʲô£¿
ΪÁ˰ïæ´ó¼Ò»Ø´ð£¬ÎÒ¸ø³öÒ»¸öÌáʾͼƬ£¬Á˽â Service Mesh µÄͬѧ¶ÔÕâÕÅͼƬӦ¸Ã²»»áİÉú¡£
ÕâÀïÎÒÃÇÒ»Æð»Ø¹ËÒ»ÏÂService Mesh µÄÕýʽ¶¨Ò壺
Service MeshÊÇÒ»¸ö»ù´¡ÉèÊ©²ã£¬ÓÃÓÚ´¦Àí·þÎñ¼äͨѶ¡£ÏÖ´úÔÆÔÉúÓ¦ÓÃÓÐן´ÔӵķþÎñÍØÆË£¬·þÎñÍø¸ñ¸ºÔðÔÚÕâÐ©ÍØÆËÖÐʵÏÖÇëÇóµÄ¿É¿¿´«µÝ¡£
ÔÚʵ¼ùÖУ¬·þÎñÍø¸ñͨ³£ÊµÏÖΪһ×éÇáÁ¿¼¶ÍøÂç´úÀí£¬ËüÃÇÓëÓ¦ÓóÌÐò²¿ÊðÔÚÒ»Æð£¬¶ø¶ÔÓ¦ÓóÌÐò͸Ã÷¡£
ºÚÉ«¼Ó´Ö²¿·ÖÊÇÖØµã£º
»ù´¡ÉèÊ©²ã£ºÕâÊÇ Service Mesh µÄ¶¨Î»£¬½ñÌìÄÚÈݵÄ×îºóÒ»¸ö²¿·ÖÎÒ»áºÍ´ó¼ÒÏêϸչ¿ªÕâ¸ö»°Ìâ
·þÎñ¼äͨѶ£ºÕâÊÇ Service Mesh µÄ¹¦Äܺͷ¶Î§
ʵÏÖÇëÇóµÄ¿É¿¿´«µÝ£ºÊÇ Service Mesh µÄÄ¿±ê
ÇáÁ¿¼¶ÍøÂç´úÀí£ºÊÇ Service Mesh µÄ²¿Êð·½Ê½
¶ÔÓ¦ÓóÌÐò͸Ã÷£ºÊÇ Service Mesh µÄÖØÒªÌØÐÔ£¬ÁãÇÖÈ룬Service Mesh µÄ×î´óÓÅÊÆÖ®Ò»¡£

½ñÌìµÄÄÚÈÝ»áÓÐÕâЩ£º
Ïȸø´ó¼Ò¿ìËÙ½éÉÜÒ»ÏÂÎÒÃÇµÄ SOFAMesh ÏîÄ¿£¬Èôó¼Ò¶Ô¹Êʵı³¾°Óиö´óÖµÄÁ˽â
È»ºó¸ø´ó¼Ò½éÉÜÒ»ÏÂΪʲôÎÒÃÇÑ¡ÔñÁËÓà Golang ÓïÑÔÀ´ÊµÏÖÊý¾ÝÆ½Ãæ£¬Õâ¸öÊǹýÈ¥Ò»ÄêÖи÷·½¶ÔÎÒÃDzúÆ··½°¸×î´óµÄÒÉ»ó
ÔÙ¼ÌÐø¸ø´ó¼Ò·ÖÏíһϹýÈ¥Ò»ÄêÖÐÎÒÃÇÔÚ Service Mesh Â䵨ÖÐÓöµ½µÄµäÐÍÎÊÌâºÍ½â¾ö·½°¸£¬¸ø´ó¼ÒһЩ±È½Ïʵ¼Ê¸ÐÊÜ
È»ºóÎÒÃǽ«Ì½Ë÷һϷþÎñ¼äͨѶµÄ·¶Î§£¬¿´¿´ Service Mesh ¿ÉÒÔÔÚÄÄЩÁìÓòµÃµ½Ó¦ÓÃ
ÔÙ½ÓÏÂÀ´£¬¸ø´ó¼Ò½éÉÜÒ»ÏÂÔÚÕâÒ»Äêʵ¼ùÖеÄ×î´ó¸ÐÎò£¬ºÍ´ó¼ÒÁÄÁÄ»ù´¡ÉèÊ©¶Ô·þÎñÍø¸ñµÄÒâÒ壬ÕâÒ²ÊǽñÄê×îÏëºÍ´ó¼Ò·ÖÏíµÄÄÚÈÝ¡£
×îºó£¬×ܽáһϽñÌìµÄÄÚÈÝ£¬·ÖÏíһЩÐÅÏ¢
OK£¬ÈÃÎÒÃÇ¿ªÊ¼½ñÌìµÄµÚÒ»¸ö²¿·Ö£¬¸ø´ó¼Ò¿ìËÙ½éÉÜһϠSOFAMesh£¬Ä¿±êÔÚÕ¹¿ªÎÒÃǵĸ÷ÖÖʵ¼ùºÍ̽Ë÷֮ǰ£¬Èôó¼ÒÁ˽âһϱ³¾°¡£

SOFAMesh ÊÇÂìÒϽð·þÍÆ³öµÄ Service Mesh ¿ªÔ´²úÆ·£¬´ó¼Ò¿ÉÒÔ¼òµ¥µÄÀí½âΪÊÇ Istio
µÄÂ䵨ÔöÇ¿°æ±¾¡£ÎÒÃÇÓÐÁ½¸öÔÔò£º
¸úËæÉçÇø
ÌåÏÖÔÚ SOFAMesh ÊÇ fork ×Ô Istio£¬¶øÇÒ½ô¸ú Istio µÄ×îа汾£¬È·±£ºÍÉÏÓα£³Öͬ²½¡£
ÎÒÃÇÔÚ Istio Éϵĸ͝¶¼ÔÚ SOFAMesh ÏîÄ¿ÖпªÔ´³öÀ´£¬¶øÇÒÔÚÑéÖ¤Íê³ÉºóÎÒÃÇÒ²»áÁªÏµ
Istio£¬·´²¸»ØÉÏÓΡ£
ʵ¼ù¼ìÑé
Ò»ÇдÓʵ¼ù³ö·¢£¬²»¿Õ̸£¬ÔÚʵ¼ÊÉú²úÂ䵨ÖУ¬·¢ÏÖÎÊÌ⣬½â¾öÎÊÌâ¡£ÔÚ½â¾öÎÊÌâµÄ¹ý³ÌÖУ¬²»½«¾Í£¬²»´ÕºÏ£¬Å¬Á¦ÍÚ¾òÎÊÌâ±¾ÖÊ£¬È»ºó×·ÇóÒÔ¼¼Êõ´´Ðµķ½Ê½À´½â¾öÎÊÌâ¡£
ÔÔòÉÏ£ºIstio ×öºÃµÄµØ·½£¬ÎÒÃǼòµ¥×ñÑ£¬±£³ÖÒ»Ö£»Istio ×öµÄ²»ºÃ»òÕßÊ詵ĵط½£¬ÎÒÃÇŬÁ¦¸Ä½øºÍÃÖ²¹¡£
ËùÓÐÕâÒ»ÇУ¬ÒÔʵ¼ÊÂäµØÎª³ö·¢µã£¬Í¬Ê±Âú×ãδÀ´µÄ¼¼Êõ´ó·½Ïò¡£

SOFAMesh µÄ²úÆ·¹æ»®£¬ÕâÊÇĿǰÕýÔÚ½øÐеĵÚÒ»½×¶Î¡£¼Ü¹¹¼ÌÐøÑÓÐø Istio µÄÊý¾ÝÆ½ÃæºÍ¿ØÖÆÆ½Ãæ·ÖÀëµÄ·½Ê½£¬Ö÷Òª¹¤×÷ÄÚÈÝÊÇ£º
Óà Golang ¿ª·¢ Sidecar£¬Ò²¾ÍÊÇÎÒÃÇµÄ SOFAMosn ÏîÄ¿£¬Ìæ´ú Envoy¡£
¼¯³É Istio ºÍ SOFAMosn£¬Í¬Ê±Õë¶ÔÂäµØÊ±µÄÐèÇóºÍÎÊÌâ½øÐÐÀ©Õ¹ºÍ²¹³ä£¬ÕâÊÇÎÒÃÇµÄ SOFAMesh
씀ÔÚÕâ¸ö¼Ü¹¹ÖУ¬ºÍ Istio Ô°æ×î´óµÄ²»Í¬ÔÚÓÚÎÒÃÇûÓÐÑ¡Ôñ Istio ĬÈϼ¯³ÉµÄ Envoy£¬¶øÊÇ×Ô¼ºÓÃ
Golang ¿ª·¢ÁËÒ»¸öÃûΪ SOFAMosn µÄ Sidecar À´Ìæ´ú Envoy¡£
Ϊʲô£¿

ÎÒÃǵĵڶþ²¿·ÖÄÚÈݽ«¸ø´ó¼Ò½â´ðÕâ¸öÎÊÌâ¡£

MOSN µÄÈ«³ÆÊÇ ¡°Modular Observable Smart Network¡±£¬ÕýÈçÆäÃûËùʾ£¬ÕâÊÇÒ»¸öÄ£¿é»¯¿É¹Û²ìµÄÖÇÄÜÍøÂç¡£Õâ¸öÏîÄ¿Óзdz£ºê´óµÄÀ¶Í¼£¬ÓÉÂìÒϽð·þµÄϵͳ²¿ÃźÍÖмä¼þ²¿ÃÅÁªÊÖUC´óÎÄÓé»ù´¡¼Ü¹¹²¿ÃÅÍÆ³ö£¬×¼±¸½«ÔÓеÄÍøÂçºÍÖмä¼þ·½ÃæµÄ¸÷ÖÖÄÜÁ¦ÔÚ
Golang ÉÏÖØÐ³Áµí£¬´òÔì³ÉΪδÀ´ÐÂÒ»´ú¼Ü¹¹µÄµ×²ãƽ̨£¬³ÐÔØ¸÷ÖÖ·þÎñͨѶµÄÖ°Ôð¡£
Sidecar ģʽÊÇ MOSN ĿǰµÄÖ÷ÒªÐÎʽ֮һ£¬²ÎÕÕ Envoy ÏîÄ¿µÄ¶¨Î»¡£ÎÒÃÇʵÏÖÁË Envoy
µÄ xDS API£¬ºÍ Istio ±£³Ö¼æÈÝ¡£
ÔÚ Istio ºÍ Envoy ÖУ¬¶ÔͨѶÐÒéµÄÖ§³Ö£¬Ö÷ÒªÌåÏÖÔÚ HTTP/1.1 ºÍ HTTP/2
ÉÏ£¬ÕâÁ½¸öÊÇ Istio / Envoy ÖеÄÒ»µÈ¹«Ãñ¡£¶ø»ùÓÚ HTTP/1.1 µÄ REST ºÍ»ùÓÚ
HTTP/2 µÄ gRPC£¬Ò»¸öÊÇĿǰÉçÇø×îÖ÷Á÷µÄͨѶÐÒ飬һ¸öÊÇδÀ´µÄÖ÷Á÷£¬Google µÄ³è¶ù£¬CNCF
ÓùÓÃµÄ RPC ·½°¸£¬ÕâÁ½¸ö×é³ÉÁËĿǰ Istio ºÍ Envoy£¨ÄËÖÁ CNCF ËùÓÐÏîÄ¿£©µÄ»Æ½ð×éºÏ¡£
¶øÎÒÃÇ SOFAMesh£¬ÔÚµÚһʱ¼ä¾ÍÓöµ½ºÍ Istio/Envoy ²»Í¬µÄÇé¿ö£¬ÎÒÃÇÐèÒªÖ§³Ö REST
ºÍ gRPC Ö®ÍâµÄÖÚ¶àÐÒ飺
SOFARPC£ºÕâÊÇÂìÒϽð·þ´óÁ¿Ê¹ÓÃµÄ RPC ÐÒé(ÒÑ¿ªÔ´)
HSF RPC£ºÕâÊǰ¢ÀOÍÅÄÚ²¿´óÁ¿Ê¹ÓÃµÄ RPC ÐÒé(δ¿ªÔ´)
Dubbo RPC: ÕâÊÇÉçÇø¹ã·ºÊ¹ÓÃµÄ RPC ÐÒé(ÒÑ¿ªÔ´)
ÆäËû˽ÓÐÐÒ飺ÔÚ¹ýÈ¥¼¸¸öÔ¼䣬ÎÒÃÇÊÕµ½ÐèÇ󣬯ÚÍûÔÚ SOFAMesh ÉÏÔËÐÐÆäËû TCP ÐÒ飬´ó²¿·ÖÊÇ˽ÓÐÐÒé
Ϊ´Ë£¬ÎÒÃÇÐèÒª¿¼ÂÇÔÚ SOFAMesh ºÍ SOFAMosn ÖÐÔö¼ÓÕâЩͨѶÐÒéµÄÖ§³Ö£¬ÓÈÆäÊÇÒª¿ÉÒÔÈÃÎÒÃǵĿͻ§·Ç³£·½±ãµÄÀ©Õ¹Ö§³Ö¸÷ÖÖ˽ÓÐTCPÐÒé¡£

Ϊʲô²»Ö±½ÓʹÓà Envoy£¿
¼¸ºõËùÓÐÁ˽â SOFAMesh ²úÆ·µÄͬѧ£¬¶¼»áÎʵ½Õâ¸öÎÊÌ⣬ҲÊÇ SOFAMesh ±»ÖÊÒɺͷÇÒé×î¶àµÄµØ·½¡£ÒòΪĿǰ
Envoy µÄ±íÏÖµÄÈ·ÊÇÐÔÄÜÓÅÔ½£¬¹¦Äܷḻ£¬³ÉÊìÎȶ¨¡£
ÎÒÃÇÔÚ¼¼ÊõÑ¡ÐÍʱҲÊÇÖØµãÑо¿¹ý Envoy£¬¿ÉÒÔ˵ Envoy ·Ç³£·ûºÏÎÒÃǵÄÐèÇ󣬳ýÁËÒ»¸öµØ·½£ºEnvoyÊÇc++¡£

ÕâÀïÓиöÑ¡ÔñµÄÎÊÌ⣬¾ÍÊÇÊý¾ÝÆ½ÃæÓ¦¸ÃÑ¡ÔñʲôÑùµÄ±à³ÌÓïÑÔ£¿
ͼÖÐÁгöÁËĿǰÊг¡ÉÏÖ÷ÒªµÄ¼¸¸ö Service Mesh Àà²úÆ·ÔÚÊý¾ÝÆ½ÃæÉϵıà³ÌÓïÑÔÑ¡Ôñ¡£
Ê×ÏÈ£¬»ùÓÚ Java ºÍ Scala µÄµÚһʱ¼äÅųý£¬Êµ¼ùÖ¤Ã÷£¬JDK/JVM/×Ö½ÚÂëÕâЩ·½Ê½ÔÚ²¿ÊðºÍÔËÐÐʱ¶¼ÏÔµÃÌ«ÖØ£¬²»ÊʺÏ×÷Ϊ
Sidecar
Nginmesh µÄ×ö·¨ÓÐЩ¶ÀÌØ£¬Í¨¹ý Golang µÄ agent µÃµ½ÐÅϢȻºóÉú³ÉÅäÖÃÎļþÈû¸ø
nginx£¬ÊµÔÚ²»ÊÇÒ»¸öÕýͳµÄ×ö·¨
Conduit£¨ºó¸üÃûΪLinkerd2.0£©Ñ¡ÔñµÄ Rust ÊǸö½£×߯«·æµÄ·×Ó£¬Rust ±¾Éí¼«ÆäÊʺÏ×öÊý¾ÝÆ½Ãæ£¬µ«ÊÇ
Rust ÓïÑÔµÄÆÕ¼°³Ì¶ÈºÍÉçÇø´óСÊǸö¼«´óµÄǷȱ£¬Ñ¡Ôñ Rust Òâζ×Å»ù±¾ÉÏÎÞ·¨´ÓÉçÇø½èÁ¦
Envoy Ñ¡ÔñµÄ c++
¹úÄÚ»ªÎªºÍÐÂÀË΢²©Ñ¡ÔñÁË Golang
ÎÒÃÇÔÚÑ¡Ôñ֮ǰ£¬ÄÚ²¿×ö¹ýÉîÈëÌÖÂÛ£¬½¹µãÔÚÓÚ£ºÎ´À´µÄÐÂÒ»´ú¼Ü¹¹µÄµ×²ãƽ̨£¬±à³ÌÓïÑÔÕ»Ó¦¸ÃÊÇʲô£¿×îÖÕÒ»Ö¾õµÃÓ¦¸ÃÊÇ
Golang£¬ÅäºÏ²¿·Ö Java¡£
¶ÔÓÚ Sidecar ÕâÑùÒ»¸öµäÐͳ¡¾°£º
ÒªÇó¸ßÐÔÄÜ£¬µÍ×ÊÔ´ÏûºÄ£¬ÓдóÁ¿µÄ²¢·¢ºÍÍøÂç±à³Ì
ÒªÄܱ»ÍŶӿìËÙÕÆÎÕ£¬ÓÈÆäÐÂÈË¿ÉÒÔ¿ìËÙÉÏÊÖ
ÒªºÍµ×²ãµÄ k8s µÈ»ù´¡ÉèʩƵ·±½»»¥£¬Î´À´ÓÐ Cloud Native µÄ´ó±³¾°
·Ç³£ÖØÒªµÄ£ºÒªÄܱ»ÉçÇøºÍδÀ´µÄDZÔÚ¿Í»§½ÓÊܺͿìËÙÕÆÎÕ£¬²»ÖÁÓÚÔÚÓïÑÔ²ãÃæÉÏÓйý¸ßµÄÃż÷
²»¿¼ÂÇÆäËûÒòËØ£¬Âú×ã Sidecar ³¡¾°µÄ×îÀíÏëµÄ±à³ÌÓïÑÔ£¬×ÔÈ»ÊÇ·Ç Golang ĪÊô¡£

µ«Êǵ½¾ßÌåµÄ¼¼ÊõÑ¡ÐÍʱ£¬Ãæ¶ÔÒª²»ÒªÊ¹Óà Envoy£¬¾ö²ßÒÀÈ»ÊǷdz£¼èÄÑ£º¹Ø¼üÔÚÓÚ£¬c++ÓÐ Envoy
ÕâÑù³ÉÊìµÄ²úÆ·´æÔÚ£¬¿ÉÒÔÖ±½ÓÄÃÀ´Óã»¶ø Golang ûÓпÉÒÔºÍ Envoy ·ÖÍ¥¿¹ÀñµÄ²úÆ·¿ÉÒÔÑ¡Ôñ£¬ÐèÒª°×ÊÖÆð¼Ò¡£
Á½¸öÑ¡Ôñ¸÷ÓÐÓÅÁÓ£¬¶ÌÆÚ¿´£º
Ö±½ÓʹÓà Envoy£¬ÓÅÊÆÔÚÓÚÕâÊÇÒ»¸ö³ÉÊìÏîÄ¿£¬±íÏÖÎȶ¨£¬¶øÇÒÒ²ÊÇ Isto ĬÈ쵀 Sidecar£¬±¾ÉíËٶȿ죬×ÊÔ´ÏûºÄµÍ¡£¿ÉÒÔÖ±½ÓÄÃÀ´Óã¬ÉÏÊÖ³¬¼òµ¥£¬Í¶ÈëÉÙ¶øÊÕÒæ¿ì
¿ª·¢×Ô¼ºµÄ Golang °æ±¾µÄ Sidecar£¬È«ÊÇÁÓÊÆ£ºÕâÊÇÒ»¸öÈ«ÐÂÏîÄ¿£¬¹¤×÷Á¿·Ç³£´ó£¬¶øÇÒ¼¼ÊõÉϺÜÓÐÌôÕ½£¬»¹ÓÐÐèÒª×ÔÐÐÍê³ÉºÍ
Istio ¼¯³ÉµÄ¶îÍ⹤×÷Á¿ÒÔ¼°Î¬»¤³É±¾£¬×î´óµÄÌôÕ½»¹ÔÚÓÚ Envoy ·á¸»ÉõÖÁ·±¶àµÄ¹¦ÄÜ£¬ÒªÏò Envoy
¶ÔÆëÐèÒª·Ç³£´óµÄŬÁ¦
¿ÉÒÔ˵£¬¶ÌÆÚÄÚ¿´£¬Ñ¡Ôñ Envoy Ô¶±È×ÔÐпª·¢ Golang °æ±¾ÒªÏÖʵ¶øÃ÷ÖÇ¡£
µ«ÊÇ£¬Ç°ÃæÎÒÃÇÓÐ˵µ½£¬¶ÔÓÚ MOSN ÏîÄ¿£¬ÎÒÃÇÓзdz£ºê´óµÄÀ¶Í¼£º×¼±¸½«ÔÓеÄÍøÂçºÍÖмä¼þ·½ÃæµÄ¸÷ÖÖÄÜÁ¦ÖØÐ³ÁµíºÍ´òÄ¥£¬´òÔì³ÉΪδÀ´ÐÂÒ»´ú¼Ü¹¹µÄµ×²ãƽ̨£¬³ÐÔØ¸÷ÖÖ·þÎñͨѶµÄÖ°Ôð¡£ÕâÊÇÒ»¸öÐèÒªÒ»Á½Äêʱ¼ä´òÔ죬Âú×ãδÀ´ÈýÎåÄêÄËÖÁÊ®ÄêÐèÇóµÄ³¤ÆÚ¹æ»®ÏîÄ¿£¬ÎÒÃÇÈç¹ûÑ¡ÔñÒÔ
Envoy Ϊ»ù´¡£¬¶ÌÆÚÄÚ×ÔȻһÇÐOK£¬¿ìËÙ»ñµÃ¸÷ÖÖºìÀû£¬Ñ¸ËÙÕ¾ÎȽŸú¡£
µ«ÊÇ£ººó¹ûÊÇʲô£¿Envoy ÊÇC++µÄ£¬Ñ¡Ôñ Envoy Òâζ×ÅÎÒÃǺóÃæ³ÁµíºÍ´òÄ¥µÄδÀ´Í¨Ñ¶²ãºËÐÄÊÇc++µÄ£¬ÎÒÃǵÄÓïÑÔÕ»½«²»µÃ²»Îª´ËÐÞ¸ÄΪÒÔc++ΪÖ÷£¬Õ⽫ÑÏÖØÆ«Àë¼È¶¨µÄ
Golang + Java µÄÓïÑÔÕ»¹æ»®¡£
¶øÒ»µ©½«Ê±¼ä·Åµ½ÈýÎåÄêÄËÖÁÊ®Äê°ËÄêÕâ¸ö³¤¶Èʱ£¬Ñ¡ÔñEnvoyµÄÁÓÊÆ¾Í³öÀ´ÁË£º
C++ ´øÀ´µÄ¿ª·¢ºÍά»¤³É±¾Ê±Ô¶³¬ Golang£¬Ê±¼äÔ½³¤£¬¸Ä¶¯Ô½¶à£¬²ÎÓëÈËÊýÔ½¶à£¬Ê¹Óó¡¾°Ô½¶à£¬²î±ðÔ½Ã÷ÏÔ
´ÓĿǰµÄÐèÇóÉÏ¿´£¬¶Ô Envoy µÄÀ©Õ¹»á·Ç³£¶à£¬°üÀ¨Í¨Ñ¶ÐÒéºÍ¹¦ÄÜ¡£¿¼Âǵ½Î´À´¿ØÖÆÆ½ÃæÉÏ¿ÉÄܳöÏֵĸ÷ÖÖ´´Ð£¬±ØÈ»ÐèÒªÊý¾ÝÆ½Ãæ×öÅäºÏ£¬¸Ä¶¯»á³¤ÆÚ´æÔÚ
Golang »¹ÊǸüÊʺÏÔÆÔÉúʱ´ú£¬Ñ¡Ôñ Golang£¬³ýÁË×ö Sidecar£¬¶ÍÁ¶³öÀ´µÄÍŶӻ¹¿ÉÒÔÓÃ
Golang È¥Íê³ÉÆäËû¸÷ÖÖ²úÆ·¡£µ±È»Ñ¡Ôñ Envoy Ò²¿ÉÒÔÕâô¸É£¬µ«ÊÇÕâÑùÒ»À´ÒÔºóϵͳÖоÍÕæµÄ¶¼ÊÇc++µÄ²úÆ·ÁË¡£
ÁíÍâ Envoy ĿǰµÄ¹Ù·½¶¨Î»Ö»ÓÐ Sidecar Ò»ÖÖģʽ£¬¶øÎÒÃǹ滮ÖÐµÄ MSON ÏîÄ¿¸²¸ÇÁ˸÷ÖÖ·þÎñͨѶµÄ³¡¾°
ÈÕºóÈçºÎºÍ Envoy е÷ÊǸö´óÄÑÌâ¡£ÓÈÆäÎÒÃǺóÐø»áÓзdz£¶àµÄ´´ÐÂÏë·¨£¬Ò²»áÈÝÐí¿ìËÙÊÔ´íÒÔ¹ÄÀø´´Ð£¬Ñ¡Ôñ
Envoy ÔÚÕâ·½Ãæ»áÓкܶàÏÞÖÆ¡£
ËùÒÔ£¬×îºóÎÒÃǵÄÑ¡ÔñÊÇ£ºÏÈÄѺóÒ×£¬×ÅÑÛδÀ´¡£ÈÌÍ´£¨ÕæµÄºÜÍ´£©ÉáÆú Envoy£¬Ñ¡ÔñÓà Golang
ŬÁ¦´òÔìÎÒÃǵÄSOFAMosn ÏîÄ¿¡£

¶ÔÓÚͬÑùÃæÁÙÒª²»ÒªÑ¡Ôñ Envoy µÄͬѧ£¬ÎÒ¸ø³öµÄ½¨ÒéÊÇ£ºEnvoy ÊÇ·ñÊʺϣ¬È¡¾öÓÚÊDz»ÊÇÏë¡°¶¯¡±Ëü¡£
Èç¹ûÖ»ÊǼòµ¥µÄʹÓ㬻òÕßÉÙÁ¿µÄÀ©Õ¹£¬ÄÇôÆäʵÄã½Ó´¥µ½µÄÖ»ÊÇ Envoy ÔÚ±ùɽÉϵÄÕâһС²¿·Ö£¬ÕâÖÖÇé¿öϽ¨ÒéÄãÖ±½ÓÑ¡Ôñ
Envoy
Èç¹ûÄãºÍÎÒÃÇÒ»Ñù£¬½« Service Mesh ×÷ΪδÀ´¼Ü¹¹µÄºËÐÄ£¬Ô¤ÆÚ»áÓдóÁ¿µÄ¸Ä¶¯ºÍÀ©Õ¹£¬Í¬Ê±ÄãÓÖ²»Ô¸ÒâÈÃ×Ô¼ºµÄÖ÷Á÷±à³ÌÓïÑÔ¼¼ÊõÕ»ÖÐ
c++ Õ¼¾ÝÖ÷Á÷£¬ÄÇô¿ÉÒԲο¼ÎÒÃǵÄÑ¡Ôñ
µ±È»£¬¶ÔÓÚÔ±¾¾ÍÊÇÒÔ c/c++ ΪÖ÷Òª±à³ÌÓïÑÔÕ»µÄͬѧÀ´Ëµ£¬²»´æÔÚÕâ¸öÎÊÌâ¡£

½ñÌìµÄµÚÈý²¿·Ö£¬¸ø´ó¼Ò½éÉÜһϠSOFAMesh ÔÚÂ䵨ÆÚ¼äÓöµ½µÄµäÐÍÎÊÌâ¡£

ÕâÀï¸ø´ó¼ÒÁгöÁËÈý¸öÖ÷ÒªÎÊÌ⣺
ͨѶÐÒéÀ©Õ¹
Ç°ÃæÒ²¸Õ̸µ½¹ý£¬¾ÍÊÇÎÒÃÇ»áÐèÒªÖ§³Ö·Ç³£¶àµÄTCPÐÒ飬°üÀ¨¸÷ÖÖ˽ÓÐÐÒé¡£µ±È»Õâ¸öÆäʵ¸üÓ¦¸Ã¹éΪÐèÇ󣬺óÃæÏêϸչ¿ª¡£
ƽ»¬Ç¨ÒÆ´«Í³¼Ü¹¹
Ëùν´«Í³¼Ü¹¹Ö¸µÄÊÇ´«Í³µÄ SOA ¼Ü¹¹£¬Èç»ùÓÚ Dubbo µÄºÜ¶àÏÖÓÐÓ¦Óã¬ÎÒÃÇÏ£ÍûËüÃÇÄܹ»ÔÚ Service
Mesh ÖÐÖ±½ÓÅÜÆðÀ´£¬¶ø²»±ØÒ»¶¨ÒªÏȽøÐÐ΢·þÎñ¸ÄÔì¡£
ÊÊÅäÒì¹¹Ìåϵ
Òì¹¹ÌåϵָµÄÊÇ£¬µ±ÎÒÃǽøÐÐ Service Mesh ÂäµØÊ±£¬»á´æÔÚоÉÁ½ÌõÌåϵ£¬±ÈÈç˵еÄÓ¦ÓÃÊÇ»ùÓÚ
Service Mesh ¿ª·¢µÄ£¬¶ø¾ÉµÄÓ¦ÓÃÊÇ»ùÓÚ´«Í³¿ò¼Ü±ÈÈç˵ Dubbo »òÕßÊÇ Spring
Cloud¡£
µ±ÎÒÃÇ×öÓ¦ÓÃÇ¨ÒÆµÄʱºò£¬¿¼Âǵ½ÔÀ´µÄ´æÁ¿Ó¦ÓûáÓкܶàµÄ£¬±ÈÈçÉÏǧ¸öÓ¦Óã¬ÕâЩӦÓÿ϶¨²»¿ÉÄÜ˵һ¸öÍíÉÏÈ«²¿ÇйýÈ¥¡£ÖÐ¼ä±ØÈ»»áÓÐÒ»¸ö¹ý¶É½×¶Î£¬ÔÚÕâ¸ö¹ý¶É½×¶ÎоÉÌåϵÖеÄÓ¦ÓÃÓ¦¸ÃÔõôͨѶ£¬ÈçºÎ²ÅÄÜ×öµ½×îÀíÏë¡£
ÎÒÃÇÏÖÔÚÕýÔÚ×ö·½°¸£¬¾ÍÊÇÏÖÔÚPOCÖС£ÎÒÃÇÏÖÔÚ¸ø×Ô¼ºÉ趨µÄÄ¿±ê£¬¾ÍÊÇÏ£Íû¸ø³öÒ»Ì×·½°¸£¬¿ÉÒÔÈÃÏÖÓÐÓ¦Óò»×ö´úÂë¸Ä¶¯£¬È»ºó¿ÉÒÔÔÚоÉÁ½±ßËæ±ãÇУ¬ÒÔ±£Ö¤Æ½»¬Ç¨ÒÆ¡£
µ±È»ÕâÌ×·½°¸ÏÖÔÚÕýÔÚ×öPOC£¬·½°¸»¹Î´×îÖÕ¶¨ÐÍ£¬ËùÒÔ½ñÌìÎÒÃDz»»á°üº¬ÕâÒ»¿éµÄϸ½Ú¡£´ó¼ÒÈç¹ûÓÐÐËȤµÄ»°¿ÉÒÔÉÔºó¹Ø×¢ÎÒÃǵÄÕâ¸ö·½°¸¡£
½ñÌì¸ø´ó¼ÒÖ÷Òª·ÖÏíÇ°ÃæÁ½¸ö²¿·Ö£¬ÎÒÃÇÏêϸչ¿ª¡£

µÚÒ»¸öÒª½â¾öµÄÎÊÌâÊÇÈçºÎ¿ìËÙµÄÀ©Õ¹Ö§³ÖÒ»¸öеÄͨѶÐÒé¡£
Õâ¸öÎÊÌâÖ÷ÒªÔ´ÓÚÏÖÔÚ Istio µÄÉè¼Æ£¬°´ÕÕ Istio ÏÖÔڵķ½Ê½£¬Èç¹ûÒªÌí¼ÓÒ»¸öеÄͨѶÐÒ飬ÊÇÓм¸´ó¿é¹¤×÷Òª×öµÄ£º
Ìí¼ÓÐÒéµÄ Encoder ºÍ Decoder
Ò²¾ÍÊÇÐÒéµÄ±à½âÂ룬Õâ¸öûµÃ˵£¬¿Ï¶¨Òª¼ÓµÄ¡£
ÐÞ¸Ä Pilot Ï·¢ Virtual Host µÈÅäÖÃ
ÐÞ¸Ä Sidecar Èç Envoy£¬MOSN ȥʵÏÖÇëÇóÆ¥Åä
ºóÁ½ÕßÊÇ´óÁ¿Öظ´µÄ£¬¾Í¼¼ÊõʵÏÖ¶øÑÔ£¬ÐèÒªÐ޸ĵÄÄÚÈݺÍÏÖÓеĶ«Î÷²î²»¶à£¬µ«ÊDZØÐëÒªÔٸijöÒ»·ÝеÄÀ´¡£ÒòΪÎÒÃÇÐÒé±È½Ï¶à£¬ÓÉ´Ë´øÀ´µÄ¸Ä¶¯Á¿·Ç³£´ó¡£¸ù¾ÝÎÒÃÇ֮ǰµÄʵ¼ù£¬ÒÔÕâÑùµÄ·½Ê½¼ÓÒ»¸öеÄͨѶÐÒé¿ÉÄÜÐèÒª¼¸ÌìµÄ¹¤×÷Á¿£¬¶øÇÒÿ´Î¸Ä¶¯¶¼Öظ´´óÁ¿´úÂë¡£
ÔÚÕâÀïÎÒÃÇ×îºó¸ø³öÁËÒ»¸öÃûΪ x-protocol µÄͨÓýâ¾ö·½°¸£¬Ï¸½ÚÎÒÃÇÕâÀï²»Õ¹¿ª£¬Ö»¸ø´ó¼Ò¿´¸ö½á¹û¡£¸ù¾ÝÎÒÃÇ×îеÄÑéÖ¤Çé¿ö£¬Èç¹ûÎÒÃÇÒªÌí¼ÓÒ»¸öеÄͨѶÐÒ飬´ó¸Å¾ÍÊÇÒ»Á½°ÙÐдúÂ룬һÁ½¸öСʱ¾ÍÄÜÍê³É¡£¼´Ê¹¼ÓÉϲâÊÔ£¬»ù±¾ÉÏÒ²¿ÉÒÔ¿ØÖÆÔÚÒ»ÌìÖ®ÄÚ£¬ÎÒÃǾÍÄܹ»Îª
SOFOMesh ÐÂÔöÒ»¸öͨѶÐÒéµÄÖ§³Ö¡£

µÚ¶þ¸öÒª½â¾öµÄÎÊÌâ¾ÍÊÇÈô«Í³¼Ü¹¹µÄ´æÁ¿Ó¦ÓÃÉÏ Service Mesh µÄÎÊÌâ¡£
¾ÍÊǸղÅ˵µÄÏÖÓдóÁ¿µÄ»ùÓÚ SOA ¿ò¼ÜµÄ³ÌÐò£¬ÕâЩӦÓÃÒÔ´«Í³µÄ SOA ·½Ê½¿ª·¢£¬Èç¹ûÖ±½ÓŲµ½
Service Mesh Ï£¬ÈçIstio£¬»áÓöµ½ÎÊÌ⣺ÒòΪ Istio ÓõķþÎñ×¢²áÊÇͨ¹ý k8s
À´½øÐУ¬¶ø k8s µÄ·þÎñ×¢²áÄ£ÐͺÍÔÓÐµÄ SOA Ä£ÐÍÊDz»Æ¥ÅäµÄ¡£
SOA ¿ò¼Üµ±ÖУ¬Í¨³£ÊÇÒÔ½Ó¿ÚΪµ¥Î»À´×ö·þÎñ×¢²á£¬Ò²¾ÍÊÇÒ»¸öÓ¦ÓÃÀïÃæ²¿Êð¶à¸ö½Ó¿ÚµÄ£¬ÔÚÔËÐÐʱÊÇÒ»¸ö½ø³ÌÀïÃæÓжà¸ö½Ó¿Ú£¨»òÕß˵¶à¸ö·þÎñ£©¡£Êµ¼ÊÉÏÊÇÒÔ½Ó¿ÚΪÁ£¶È£¬·þÎñ×¢²áºÍ·þÎñ·¢ÏÖ£¬°üÀ¨·þÎñµÄµ÷Óö¼ÊÇÒÔ½Ó¿ÚΪÁ£¶È¡£µ«ÊÇÓиöÎÊÌ⣬²¿Êðµ½
Istio Öкó£¬Istio ×ö·þÎñ×¢²áÊÇÒÔ·þÎñΪÁ£¶ÈÀ´×ö·þÎñ×¢²á£¬Õâ¸öʱºò²»¹ÜÊÇ×¢²áÄ£ÐÍ£¬»¹Êǰ´½Ó¿Úµ÷Óõķ½Ê½¶¼²»Ò»Ö£¬¾ÍÊÇ˵ͨ¹ý
Interface µ÷ÓÃÊǵ÷²»Í¨µÄ¡£
×ó±ßµÄ´úÂëʵÀý£¬´ó¼Ò¿ÉÒÔ¿´µÃµ½£¬Ò»°ãÇé¿öÏ Dubbo ³ÌÐòÊǰ´ÕÕ Interface À´×¢²áºÍ·¢ÏÖ£¬µ÷ÓÃʱҲÊÇͨ¹ý
Interface À´µ÷Óá£ÁíÍ⣬ÔÚÕâ¸öµØ·½£¬³ýÁËͨ¹ý½Ó¿Úµ÷ÓÃÖ®Í⣬»¹ÓÐÁíÍâÒ»¸öÎÊÌ⣺·þÎñ×¢²áºÍ·þÎñ·¢ÏÖµÄÄ£ÐÍ£¬´ÓÔÀ´µÄÒ»¶ÔN£¬Ò²¾ÍÊÇÒ»¸ö½ø³ÌN¸ö½Ó¿Ú£¬±ä³ÉÁËÒªÒ»¶ÔÒ»£¬Ò»¸ö½ø³ÌÒ»¸ö·þÎñ¡£
Ôõô½â¾öÕâ¸öÎÊÌ⣿×îÕýͳµÄ×ö·¨ÊÇ£¬ÊÇÏȽøÐÐ΢·þÎñ¸ÄÔ죺°ÑÔÓеÄ
SOA µÄ¼Ü¹¹¸Ä³É΢·þÎñµÄ¼Ü¹¹£¬°ÑÏÖÓÐÓ¦Óòð·ÖΪ¶à¸ö΢·þÎñÓ¦Óã¬Ã¿¸öÓ¦ÓÃÀïÃæÒ»¸ö·þÎñ£¨»òÕß˵½Ó¿Ú£©£¬ÕâÑùÓ¦ÓúͷþÎñµÄ¹ØÏµ¾Í»á±ä³ÉÒ»¶ÔÒ»£¬·þÎñ×¢²áÄ£Ð;ͿÉÒÔÆ¥Åä¡£
µ«ÊÇÔÚÖ´ÐÐʱ»áÓÐÄÑ´¦£¬ÒòΪ΢·þÎñ¸ÄÔìÊÇÒ»¸ö±È½ÏºÄʱ¼äµÄ¹ý³Ì¡£ÎÒÃÇÓöµ½µÄʵ¼ÊµÄÐèÇóÊÇ£ºÄܲ»ÄÜÏȲ»×ö΢·þÎñ¸ÄÔ죬¶øÏÈÉÏ
Service Mesh £¿ÒòΪ Service Mesh µÄ¹¦Äܷdz£ÓÐÎüÒýÁ¦£¬ÈçÁ÷Á¿¿ØÖÆ£¬°²È«¼ÓÃÜ¡£ÄÇÄܲ»ÄÜÏȰÑÓ¦ÓðáǨµ½
Service Mesh ÉÏÀ´£¬ÏÈÈÃÓ¦ÓÃÅÜÆðÀ´£¬ºóÃæÔÙÂýÂýµÄÀ´×ö΢·þÎñ¸ÄÔì¡£
Õâ¾ÍÊÇÎÒÃÇʵ¼ÊÓöµ½µÄ³¡¾°£¬ÎÒÃÇÐèÒªÕÒµ½·½°¸À´½â¾öÎÊÌ⣺ע²áÄ£ÐͲ»Æ¥Å䣬ÔÓÐÓýӿڵ÷ÓõĴúÂëµ÷²»Í¨¡£

ÎÒÃÇÉè¼ÆÁËÒ»¸öÃûΪ DNSͨÓÃѡַ·½°¸
µÄ½â¾ö·½°¸£¬ÓÃÀ´Ö§³Ö Dubbo µÈSOA¿ò¼Ü£¬ÈÝÐíͨ¹ý½Ó¿ÚÃûÀ´µ÷Ó÷þÎñ¡£
ϸ½Ú²»Ì«ÊʺÏÕ¹¿ª£¬¸ø´ó¼Ò½éÉÜ×î»ù±¾µÄÒ»µã£¬¾ÍÊÇ˵ÎÒÃÇ»áÔÚ DNS ÖÐÔö¼Ó¼Ç¼£¬ÈçͼÉÏ×óϽÇËùʾ±êºìµÄÈý¸ö½Ó¿ÚÃû£¬ÎÒÃÇ»áÔÚDNSÖаÑÕâ¸öÈý¸ö½Ó¿ÚÖ¸Ïòµ±Ç°·þÎñµÄ
Cluster IP¡£k8s µÄ Cluster IP ͨ³£ÊÇÒ»¸ö·Ç³£¹Ì¶¨µÄÒ»¸öIP£¬Ã¿¸ö·þÎñÔÚk8s²¿Êðʱ¶¼»á·ÖÅä¡£
ÔÚÔö¼ÓÍêDNS¼Ç¼֮ºó£¬ÔÙͨ¹ý Interface µÄ·½Ê½È¥µ÷Óã¬ÖмäÔÚÎÒÃÇµÄ Service Mesh
ÀïÃæ£¬ÎÒÃÇ»á»ùÓÚ Cluster IP ÐÅÏ¢Íê³Éʵ¼ÊµÄѰַ£¬²¢ÅÜͨ Istio µÄËùÓй¦ÄÜ£¬ºÍÓ÷þÎñÃûµ÷ÓõÈͬ¡£
Õâ¸ö¹¦ÄÜÔÚÏÖÓÐµÄ SOFAMesh ÖÐÒѾÍêȫʵÏÖ£¬´ó¼Ò¿ÉÒÔÈ¥ÊÔÓá£ÉÔºóÎÒÃǻὫÕâ¸ö·½°¸Ìá½»¸ø k8s
»òÕß Istio ÉçÇø£¬¿´¿´ËûÃÇÊÇ·ñÔ¸Òâ½ÓÊÜÕâÑùÒ»¸ö¸üͨÓõÄѰַ·½Ê½¡£
ÔÚÕâÀïÎÒÃÇÌá³öÕâÑùÒ»¸öÉèÏ룺ÏÈÉϳµºó²¹Æ±¡£Ëùν¡±ÏÈÉϳµ¡±ÊÇָ˵ÏÈÉÏ
Service Mesh µÄ³µ£¬¡±ºó²¹Æ±¡±ÊÇÖ¸ºóÃæÔÙÈ¥²¹Î¢·þÎñ²ð·ÖµÄƱ¡£ºÃ´¦ÊÇÔÚ΢·þÎñ²ð·ÖÕâ¸ö¾Þ´óµÄ¹¤×÷Á¿Íê³É֮ǰ£¬ÌáǰÊÜÒæÓÚ
Service Mesh ÌṩµÄÇ¿´ó¹¦ÄÜ£»Í¬Ê±Ò²¿ÉÒÔÈò¿Êð±äµÃÊæ·þ£¬ÒòΪ²»ÐèÒªÇ¿ÖÆÏÈÈ«²¿Íê³É΢·þÎñ²ð·Ö²ÅÄÜÉÏ
Service Mesh ¡£ÓÐÁËÕâ¸ö·½°¸£¬¾Í¿ÉÒÔÔÚÓ¦Óò»×ö΢·þÎñ²ð·ÖµÄÇé¿öÏÂÔËÐÐÔÚ Service
Mesh ÉÏ£¬È»ºóÔÙ´ÓÈݵļÌÐø½øÐÐ΢·þÎñ²ð·ÖµÄ¹¤×÷£¬ÕâÊÇÎÒÃÇÌá³öÕâ¸ö½â¾ö·½°¸µÄ×î´ó³õÖÔ¡£

µ±È»£¬ÕâÀïÃæÓбȽ϶àµÄ¼¼ÊõʵÏÖϸ½Ú£¬ÀïÃæÓкܶàϸ½ÚµÄ¶«Î÷ʵÔÚÊDz»ÊʺÏÔÚÕâÀïÒ»Ò»Õ¹¿ª¡£Í¬Ê±Ò²Éæ¼°µ½±È½Ï¶àµÄ
k8s ºÍ Istio µ×²ã¼¼Êõϸ½Ú£¬ÐèÒª´ó¼Ò¶Ô k8s kubeproxy ÍøÂçת·¢·½°¸ºÍ Istio
µÄʵÏÖÓбȽÏÉîµÄÈÏÖª²ÅÄÜÍêÈ«Àí½â¡£ÕâÀï¸ø³öÁ˼¸ÆªÎÄÕ£¬´ó¼ÒÈç¹û¶ÔÕ⼸¸ö¼¼ÊõÓÐÐËȤ£¬¿ÉÒÔͨ¹ýÕâЩÎÄÕÂÀ´Á˽âÀïÃæµÄ¼¼Êõϸ½Ú£¬½ñÌì¾Í²»ÔÚÕâÀï¼ÌÐøÕ¹¿ªÁË¡£
×ܽáһϣ¬ÎÒÃǽâ¾öÁËÈçϼ¸¸öÎÊÌ⣺
¿ÉÒÔ¿ìËÙµÄÓü¸¸öСʱ¾ÍÔÚ SOFAMesh ÖÐÌí¼ÓÒ»¸öеÄͨѶÐÒé
¿ÉÒÔÈà SOA Ó¦ÓÃÔÚ SOFAMesh ÉϼÌÐøÍ¨¹ý½Ó¿Ú½øÐе÷Ó㬲»ÐèÒª¸Ä´úÂë
¿ÉÒÔʵÏÖ²»×ö SOA ³ÌÐòµÄ΢·þÎñ¸ÄÔ죬¾ÍÖ±½Ó°áǨµ½ SOFAMesh£¬ÌáǰÊÜÒæ

µÚËÄ¿é£¬Éæ¼°µ½Á÷Á¿½Ù³ÖµÄ·½°¸¡£
Service Mesh ÓÐÒ»¸öºÜÖØÒªµÄÌØÐÔ£¬¾ÍÊÇÎÞÇÖÈ룬¶øÎÞÇÖÈëͨ³£ÊÇͨ¹ýÁ÷Á¿½Ù³ÖÀ´ÊµÏֵġ£Í¨¹ý½Ù³ÖÁ÷Á¿£¬ÔÚ¿Í»§¶Ë·þÎñÆ÷¶ËÎÞ¸ÐÖªµÄÇé¿öÏ£¬¿ÉÒÔ½«
Service Mesh µÄ¹¦ÄÜ²å½øÈ¥¡£Í¨³£ÌرðÊʺÏÓÚÀàËÆ°²È«¼ÓÃܵȺÍÏÖÓÐÓ¦ÓõÄÒµÎñÂß¼ÍêÈ«·ÖÀëµÄ³¡ºÏ¡£
µ« Istio µÄÁ÷Á¿½Ù³Ö·½°¸×öµÄ»¹²»¹»ºÃ£¬Ä¿Ç° Istio Ö»¸øÁËÒ»¸ö·½°¸¾ÍÊÇ iptables¡£Õâ¸ö·½°¸ÓбȽ϶àµÄÎÊÌ⣬ËùÒÔÎÒÃÇÓм¸¸ö˼·£º
ÓÅ»¯ iptables
ÓÅ»¯ iptables Ö÷ÒªÊÇΪÁ˼õÉÙ¶ÔHostÖ÷»úµÄÓ°Ïì¡£
Óà iptables ÓÐÁ½ÖÖ˼·£ºÒ»¸öÊÇ pod only£¬¾ÍÊÇ˵ÔÚpodÀïÃæ×ö iptables£¬Õâ¸öIstioµÄ¹Ù·½×ö·¨£¬µ«ÊÇÕâÑùÐèÒªROOTȨÏÞÒÔ±ãÐÞ¸ÄiptablesÅäÖã»»¹ÓÐÒ»ÖÖ˼·ÓÃHostÖ÷»úÉϵÄ
iptables£¬Õâ¸ö»°¿ÉÒÔ²»ÓÃROOTȨÏÞ¡£ÎÒÃǶԱÈÖ®ºó£¬»¹ÊǾõµÃ·ÅÔÚpodÀïÃæ¸üºÃÒ»µã£¬ÒòΪÐÔÄÜËðºÄ±È½ÏСһЩ£¬ËùÒÔÔÝʱÎÒÃÇÓõÄÊÇÔÚpodÖз½°¸£¬µ«ÎÒÃÇ»á½øÐÐÓÅ»¯£¬±ÈÈç°Ñ
iptables µÄÄ£¿é¼ò»¯µ½×îС¡£
µ÷ÑÐIPVS·½°¸
ÎÒÃÇÏÖÔÚÕýÔÚµ÷ÑÐIPVS·½°¸¡£Ö÷ÒªÊÇ iptables ·½°¸´æÔÚ²¿ÊðÎÊÌ⣬¾ÍÊÇ iptables
Õâ¸öÄ£¿é¾³£±»ÏÞÖÆÊ¹Óá£ÏÖ³¡ÓÐûÓÐ×öÔËάµÄͬѧ£¿ÄãÃǵĻúÆ÷ÉÏ¿ªÆôÁË iptables Âð£¿ÎÒÄܸæËß´ó¼ÒµÄÊÇ£¬µ½Ä¿Ç°ÎªÖ¹£¬ÂìÒϽð·þÄÚ²¿µÄ»úÆ÷ÉÏ£¬iptables²»½ö½öÊǽûÓ㬶øÊÇÕû¸ö
iptables Ä£¿é¶¼±»Ð¶ÔØ¡£ÔÒòÊÇÐÔÄÜ¡¢°²È«¡¢Î¬»¤µÈ´ó¼ÒÖÜÖªµÄÔÒò£¬×ÜÖ®ÎÒÃÇÂìÒϽð·þÄÚ²¿ÊÇûÓÐÕâ¸öÄ£¿éµÄ¡£
ΪÁ˽â¾öÕâ¸öÎÊÌ⣬ÎÒÃÇÏÖÔÚÕýÔÚµ÷ÑÐIPVSµÄ·½°¸£¬×¼±¸ÓÃIPVSÀ´Ìæ»» iptables¡£Õâ¿é¹¤×÷ÕýÔÚ½øÐУ¬Ä¿Ç°·½°¸ÒѾÑéÖ¤£¬µ«ÊÇ»¹ÓÐһЩϸ½ÚûÓÐÍêÉÆ£¬ºóÃæÓиü¶àµÄÏûÏ¢Ò²¸ø´ó¼Ò¼ÌÐø½éÉÜ¡£
ÇáÁ¿¼¶¿Í»§¶ËµÄʵ¼ù
ÁíÍ⻹ÓÐÒ»¸öʵ¼ùÊÇ¿¼ÂDz»×öÁ÷Á¿½Ù³Ö¡£±ÈÈç˵£¬×îµäÐ͵ÄRPC·½°¸£¬ÒòΪRPCͨ³£À´Ëµ×ÜÊÇ»áÓÐÒ»¸ö¿Í»§¶ËµÄ¡£ÔÚÉÏ
Service Mesh Ö®ºó£¬¿ÉÒÔ½«ÔÀ´µÄ¿Í»§¶ËµÄһЩ¹¦ÄÜÈç·þÎñ·¢ÏÖ¡¢¸ºÔؾùºâ¡¢ÏÞÁ÷µÈ¾«¼ò£¬ÐγÉÒ»¸öеÄÇáÁ¿¼¶¿Í»§¶Ë£¬µ«´ËʱÖÕ¾¿»¹ÊÇÓÐÒ»¸ö¿Í»§¶ËÔڵġ£
Õâ¸öʱºò£¬Èç¹ûÄÜÖªµÀ Sidecar µÄ·ÃÎʵØÖ·£¬ÊÇ¿ÉÒÔ²»½øÐÐÁ÷Á¿½Ù³ÖµÄ£¬Óɿͻ§¶ËÖ±½Ó½«ÇëÇ󷢸ø
Sidecar ¾ÍºÃÁË¡£ËùÒÔ£¬×î»ù±¾µÄÏë·¨¾ÍÊÇͨ¹ý»·¾³±äÁ¿»òÕßÅäÖøø³ö Sidecar µÄµØÖ·£¬¸æË߿ͻ§¶Ë
Sidecar ¾ÍÔÚ localhost µÄ8080¶Ë¿Ú¡£È»ºó¿Í»§¶ËSDK¼òµ¥¶ÁȡһÏ£¬½ÓÏÂÀ´Ö±½Ó½«ÇëÇó·¢¹ýÈ¥¾ÍºÃÁË¡£Õâ¸ö·½°¸¿ÉÒÔÇáËɵÄÈÆ¿ªÁ÷Á¿½Ù³ÖµÄÎÊÌâ¡£
Õâ¸ö·½°¸ÎÒÃÇÄÚ²¿Ò²Êµ¼ù¹ý£¬ÔçÆÚÓÃÀ´Ìæ´ú¶àÓïÑÔ¿Í»§¶ËµÄ°æ±¾ÓõÄÊÇÕâ¸ö·½°¸¡£µ±È»£¬Êµ¼ùÖз¢ÏÖÁ÷Á¿½Ù³Ö»¹ÊÇÓбØÒªµÄ£¬ÕâÊÇÁíÍâÒ»¸ö»°Ì⣬ºóÃæÓлú»áÔÙÏêϸ½âÊÍ¡£
µ«ÉÏÃæÕâÈý¸ö¶¼²»ÊǽñÌìµÄÖØµã£¬½ñÌìµÄÖØµãÊÇÏÂÃæÕâ¸ö Cilium + eBPF µÄ˼·£¬ÕâÊÇÎÒÃÇĿǰ×îÃÜÇйØ×¢µÄÒ»¸ö·½°¸¡£

CiliumÊÇÒ»¸öºÜеÄÏîÄ¿£¬CiliumµÄ˼·ÖлáÉæ¼°µ½µ×²ãͨѶÖÐTCP¶ÑÕ»µÄÎÊÌâ¡£
ÕâÀïµÄͼƬÏÔʾÁËÓà iptables ºÍÇáÁ¿¼¶¿Í»§¶Ë·½°¸µÄÍøÂçµ÷ÓÃϸ½Ú£¬×ó±ßÊǿͻ§¶Ë Service
ºÍËüµÄ Sidecar Ö®¼äµÄµ÷Óùý³Ì£¬¿ÉÒÔ¿´µ½Ëü×ßÁËÁ½´ÎµÄTCP¶ÑÕ»¡£È»ºó»¹ÓÐ iptables
µÄÀ¹½Ø¡£ÇáÁ¿¼¶¿Í»§¶Ë·½°¸ºÍÁ÷Á¿½Ù³Ö·½°¸µÄ²î±ðÔÚÓÚ¼õÉÙÒ»´Îiptables£¬±Ü¿ªÁËiptablesµÄÐÔÄÜÏûºÄ¡£µ«ÊǼ´Ê¹Ã»ÓÐ
iptables£¬×îÖÕ»¹ÊÇÒª×ßÕû¸öµ÷ÓÃÁ÷³Ì£¬ËäÈ» Loopback »·»ØµØÖ·±Ènetwork ÍøÂçͨѶ¿ìºÜ¶à£¬µ«ÊÇËüÖÕ¾¿»¹ÊÇ×ßÁËÁ½´ÎTCP¶ÑÕ»£¬Á½´ÎTCP¶ÑÕ»ÕâÀïÊÇÓÐÐÔÄÜÏûºÄµÄ¡£

¶øCiliumÔò¸ø³öÁËÒ»¸öºÜºÃµÄ˼·£ºÏë°ì·¨ÈÆ¿ªTCP¶ÑÕ»¡£
Cilium·½°¸µÄºÃ´¦£¬¾ÍÔÚÓÚÔÚ socket Õâ¸ö²ãÃæ¾ÍÍê³ÉÁËÇëÇóµÄת·¢£¬Í¨¹ý sockmap
¼¼ÊõʵÏÖ redirect£¬µ±È»Õâ¸ö¼¼Êõϸ½ÚÔÛÃǾͲ»ÔÚÕâÀïÕ¹¿ª¡£½ñÌìÖ÷ÒªÊǽ²Ò»ÏÂÕâ¸ö˼·µÄºÃ´¦ºÍ¼ÛÖµ¡£Cilium
·½°¸×î´óµÄºÃ´¦£¬ÊÇ¿ÉÒÔÈÆ¿ªÁ½´ÎTCP¶ÑÕ»£¬ÈÆ¿ªÁ½´ÎTCP¶ÑÕ»µÄºÃ´¦£¬Ôò»á´øÀ´Ò»¸ö³öºõÒâÍâÉõÖÁÎ¥±³³£Ê¶µÄ½á¹û£ºCilium
½Ù³Ö¿ÉÒÔ±ÈÇáÁ¿¼¶¿Í»§¶Ë²»½Ù³Ö¸ü¿ì£¡Õâ¿ÉÄܵ߸²´ó¼ÒµÄ¹ÛÄî¡£
ÎÒÃÇÀ´Ìå»áһϡ£Á÷Á¿½Ù³Ö£¬Èç iptables£¬ÊÇÒªÔÚÔÀ´µÄµ÷ÓÃÁ´µ±ÖвåÈëÒ»¶Î£¬Ôö¼ÓÏûºÄµ¼ÖÂÐÔÄÜϽµ£¬¶Ô°É£¿ÕâÊÇÁ÷Á¿½Ù³Ö×îÈÝÒ׸øÈ˵ÄÁôϵĸºÃæÓ¡Ï󣬾ÍÊÇÁ÷Á¿½Ù³ÖÊÇÓÐÏûºÄµÄ£¬ËùÒÔÓÅ»¯µÄ˼·ͨ³£¶¼ÔÚÓÚ¼õÉÙÕâ¸öÏûºÄ£¬»òÕßÑ¡Ôñ²»×ö½Ù³Ö´Ó¶ø±Ü¿ªÕâ¸öÏûºÄ¡£ÄÇ
Cilium µÄ×ö·¨ÔòÊǸø³öÁíÍâÒ»ÖÖ½â¾öÁ÷Á¿½Ù³ÖÎÊÌâµÄ˼·£ºÍ¨¹ýÈÆ¿ªÁ½´ÎTCP¶ÑÕ»ºÍÆäËûµ×²ãϸ½Ú£¬¸ü¿ìµÄ½«ÇëÇóת·¢¸ø
Sidecar£¡
CiliumµÄÕâ¸ö˼·ÊÇÎÒÃǷdz£ÔÞÉ͵ģ¬Í¨¹ýÕâÑùµÄ·½Ê½¼õÉÙ·þÎñºÍ Sidecar
Ö®¼äµÄÐÔÄÜËðʧ£¬¿ÉÒÔ½â¾ö Service Mesh ÖÐÖÁ¹ØÖØÒªµÄÒ»¸öÎÊÌ⣺ÐÔÄÜÓë¼Ü¹¹µÄÈ¡Éá¡£
ÊìϤ Service Mesh ¼¼ÊõµÄͬѧ£¬Ó¦¸Ã¶àÉÙ¶¼ÓÐÕâÑùµÄÈÏÖª£º Service Mesh ÊÇÒ»ÃÅÖÐÓ¹µÄÒÕÊõ¡£ÔÚÐÔÄÜÓë¼Ü¹¹Ö®¼ä£¬
Service Mesh Ñ¡ÔñÎþÉüÐÔÄÜÀ´»»È¡¼Ü¹¹¡£ÔÚ´«Í³µÄÇÖÈëʽ¿ò¼ÜÖУ¬¿Í»§¶ËÒµÎñ´úÂëºÍ¿ò¼Ü´úÂëÖ®¼äÊÇͨ¹ýº¯ÊýÀ´½øÐе÷Óõģ¬Ëٶȷdz£¿ìÍêÈ«¿ÉÒÔºöÂÔ¡£¶ø
Service Mesh ÊÇÇ¿Ðаѿò¼ÜºÍÀà¿â°þÀë³öÀ´£¬½«ÉÏÊöµÄ·½·¨µ÷Óñä³ÉÒ»¸öÔ¶³Ìµ÷Óã¬ÒÔÎþÉüÁËÒ»´ÎÔ¶³Ìµ÷ÓõĿªÏúΪ´ú¼ÛÀ´»»È¡Õû¸ö¼Ü¹¹µÄÓÅ»¯¿Õ¼ä¡£ÕâÊÇ
Service Mesh ¼¼ÊõºÍ´«Í³ÇÖÈëʽ¿ò¼ÜµÄÒ»¸ö±¾ÖʲîÒ죬ҲÊÇ Service Mesh ¼¼ÊõºÍ´«Í³ÇÖÈëʽ¿ò¼ÜËùÓвîÒìµÄÔ´Í·¡£
ÕâÊÇ Service Mesh ¼¼Êõ×îÎªÖØÒªµÄÒ»´ÎÈ¡É᣺ÉáÆúÒ»´ÎÔ¶³Ìµ÷ÓõĿªÏú£¬»»È¡¸ü¸»Óе¯ÐԵļܹ¹ºÍ¸ü·á¸»µÄ¹¦ÄÜ¡£
Service Mesh ¼¼ÊõµÄ·¢Õ¹£¬Ò²Óɴ˳öÏÖÁ½¸ö´ó·½Ïò£ºÒ»·½ÃæÊǼÌÐøÔڼܹ¹ÉÏ»ñÈ¡ºÃ´¦£¬¸ü¶àµÄ¹¦ÄÜ£¬¸ü·á¸»µÄʹÓó¡¾°£¬¸÷ÖÖ´´Ð£¬½ß¾¡¿ÉÄܵĻñÈ¡ºìÀû£»ÁíÒ»·½Ã棬ÊÇÔÚÉá×ÖÉÏϹ¦·ò£¬¾¡¿ÉÄܵĽ«ÐÔÄÜËðʧ½µµ½×îµÍ£¬ÒÔÇóµÃµ½Ç°ÃæµÄ×î´óºÃ´¦¶ø½«¸¶³öµÄ´ú¼Û½µµ½×îµÍ¡£
ÎÒÃÇÔÚÇ°ÃæÁгöµÄÕâËĸöʵ¼ù£¬¶¼¿ÉÒÔ˵ÊÇÔÚÕâÌõ̰ÐĵÄ·ÉÏÒ»²½Ò»²½µÄ̽Ë÷ºÍ³¢ÊÔ£¬Ï£Íû¿ÉÒÔ½« Service
Mesh ¼Ü¹¹ÉϵÄÉáÆúµÄ²¿·ÖÔÙ¾¡¿ÉÄܶàµÄÒª»ØÒ»²¿·Ö¡£
µ±È»£¬Cilium ÔÚʵ¼ÊÂ䵨µÄʱºò»¹ÊÇ»áÓÐһЩÎÊÌ⣬±ÈÈç˵ÏÖÔÚ×î´óµÄÎÊÌâÊÇ Cilium ¶Ô Linux
Äں˵İ汾ҪÇóÌØ±ð¸ß£¬×îµÍÒªÇóÊÇ4.9ÍÆ¼ö4.10£¬È»ºóÀïÃæµÄ²¿·ÖÌØÐÔÒªÇóÊÇ4.14¡£Linux ÄÚºË4.14ÊÇ2017Äêµ×²Å·¢²¼µÄ£¬¶øÄ¿Ç°
Linux ÄÚºË×îа汾²Å4.18¡£Cilium ÒªÇóµÄ Linux Äں˵İ汾ʵÔÚÌ«ÐÂÁË£¬²¿ÊðʱºÜÄÑÂú×ã¡£ÁíÍâ¾ÍÊÇ
Cilium »¹ÊÇ´æÔÚһЩ°²È«ÎÊÌ⣬Ö÷ÒªÊÇ eBPF Êǽ«´úÂëÖ±½Ó×¢Èëµ½ÄÚºËÔËÐУ¬Ð§ÂʺÃÊǺ㬵«Êǿ϶¨»á´æÔÚ°²È«Òþ»¼¡£
ÎÒÃǽÓÏÂÀ´»áÖØµã¸ú×Ù Cilium ¼¼Êõ£¬Ò²ÓпÉÄÜ»á¸ø³öÆäËüµÄÀàËÆ·½°¸£¬ÓÐÐËȤµÄͬѧ¿ÉÒÔ¹Ø×¢ÎÒÃǵĽøÕ¹¡£

¼ÌÐø¸ø´ó¼Ò½éÉܽñÌìµÄµÚËIJ¿·ÖÄÚÈÝ£¬¶Ô·þÎñ¼äͨѶ·¶Î§µÄ̽Ë÷¡£

Service Mesh Æð³õ¹Ø×¢µÄÊǶ«Î÷ÏòͨѶ£¬¼´ÏµÍ³ÄÚ²¿¸÷¸ö·þÎñÖ®¼äµÄͨѶ£¬¶øÕâͨ³£¶¼ÊÇͬ²½µÄ£¬×ßREST»òÕßRPCÐÒé¡£
ÔÚService MeshµÄʵ¼ù¹ý³ÌÖУ¬ÎÒÃÇ·¢ÏÖ£¬Service Mesh ¿ÉÒÔÌṩµÄ¹¦ÄÜ£º
ÇëÇóת·¢£ºÈç·þÎñ·¢ÏÖ£¬¸ºÔؾùºâµÈ
·ÓÉÄÜÁ¦£ºÈçÇ¿´óµÄ Content Based Routing ºÍ Version Based Routing
·þÎñÖÎÀí£º»ùÓÚ·ÓÉÄÜÁ¦¶øÀ´µÄ»Ò¶È·¢²¼£¬À¶Â̲¿Ê𣬰汾¹ÜÀíºÍ¿ØÖÆ
¾À´íÄÜÁ¦£ºÏÞÁ÷£¬ÈÛ¶Ï£¬ÖØÊÔ£¬²âÊÔÄ¿µÄµÄ´íÎó×¢Èë
°²È«ÀࣺÉí·Ý£¬ÈÏÖ¤£¬ÊÚȨ£¬¼øÈ¨£¬¼ÓÃܵÈ
¿ÉÒÔÊÊÓÃÓÚ Service Mesh Ö®ÍâµÄÆäËûÁìÓò£¬Ò²¾ÍÊÇ˵ÎÒÃÇ¿ÉÒÔÔÚÆäËûÁìÓòÒýÈë²¢ÖØÓÃÕâЩÄÜÁ¦£¬ÊµÏֱȵ¥´¿µÄ¶«Î÷ÏòͨѶ¸ü¹ã·ºµÄ·þÎñ¼äͨѶ¡£

µÚÒ»¸ö̽Ë÷µÄ·½ÏòÊÇ API Gateway£¬ºÍ¶«Î÷ÏòͨѶֱ½Ó¶ÔÓ¦µÄÄϱ±ÏòͨѶ¡£
Ö÷ÒªÔÒòÊÇÄϱ±ÏòͨѶºÍ¶«Î÷ÏòͨѶÔÚ¹¦ÄÜÉϸ߶ÈÖØµþ£¬Èç·þÎñ·¢ÏÖ£¬¸ºÔؾùºâ£¬Â·ÓÉ£¬»Ò¶È£¬°²È«£¬ÈÏÖ¤£¬¼ÓÃÜ£¬ÏÞÁ÷£¬ÈÛ¶Ï¡¡Òò´Ë£¬ÖØÓö«Î÷ÏòͨѶµÄÕâЩÄÜÁ¦¾Í³ÉΪ×ÔÈ»¶øÈ»µÄÏë·¨¡£
´«Í³ÇÖÈëʽ¿ò¼ÜÏ£¬ÖØÓÃÕâЩÄÜÁ¦µÄ·½Ê½ÊÇ»ùÓÚÀà¿â·½Ê½£¬Ò²¾ÍÊÇÔÚ API Gateway µÄʵÏÖÖУ¬µäÐÍÈç
Zuul£¬ÒýÈë¶«Î÷ÏòͨѶÖеÄÀà¿â¡£¶ø Service MeshÏ£¬Ë¼Â·ÓÐËù²»Í¬£¬ÖØÓõIJ»ÔÙÊÇÀà¿â£¬¶øÊÇ
Sidecar£ºÍ¨¹ý½« Sidecar ÓÃÓÚÄϱ±ÏòͨѶ£¬ÖØÓà Sidecar µÄÇëÇóת·¢ºÍ·þÎñÖÎÀí¹¦ÄÜ¡£
½« Service Mesh ÒýÈë API Gateway µÄÓÅÊÆÔÚÓÚ:
ͳһ΢·þÎñºÍ API Gateway Á½Ì×Ìåϵ
´óÁ¿½ÚԼѧϰ/¿ª·¢/ά»¤µÄ³É±¾
¿ÉÒÔÔÚÄϱ±ÏòͨѶÖлñµÃ Service Mesh µÄ¸÷ÖÖÌØÐÔ
¿ÉÒÔͨ¹ý Service Mesh µÄ¿ØÖÆÆ½Ãæ¼ÓÇ¿¶ÔÄϱ±ÏòͨѶµÄ¿ØÖÆÁ¦
Õâ¸ö·½ÏòÉÏ£¬Òµ½çÒ²ÓÐһЩ̽Ë÷£º
Ambassador: Kubernetes-native microservices API gateway£¬»ùÓÚEnvoy¹¹½¨£¬¿ªÔ´ÏîÄ¿
Gloo: The Function Gateway built on top of Envoy£¬Í¬ÑùÊÇ»ùÓÚEnvoy£¬²»¹ýÕâ¸ö²»½ö½öÓÃÓÚ´«Í³µÄ΢·þÎñAPI
Gateway£¬Ò²¿ÉÒÔÓÃÓÚServerless¼Ü¹¹µÄFunction
Kong£ºÔÚ×î½üÐû²¼£¬¼´½«·¢²¼µÄ1.0°æ±¾£¬kong½«²»ÔÙÊǵ¥´¿µÄ API Gateway£¬¶øÊÇתÐÍΪ·þÎñ¿ØÖÆÆ½Ì¨¡£¿ÉνÊÇÒ»¸ö·´ÏòµÄ̽Ë÷°¸Àý£º´Ó
API Gateway Ïò Service Mesh ÇС£
¶øÎÒÃǵÄ˼·Ҳ·Ç³£Ã÷È·£ºÔÚ SOFAMesh ºÍ SOFAMosn µÄ»ù´¡ÉÏ£¬´òÔìÐ嵀 API Gateway
²úÆ·£¬ÒÔ´ËÀ´Í³Ò»¶«Î÷ÏòͨѶºÍÄϱ±ÏòͨѶ¡£Ä¿Ç°¸ÃÏîÄ¿ÒѾÆô¶¯£¬ºóÐøÒ²»á×÷Ϊ¿ªÔ´ÏîÄ¿¹«²¼³öÀ´£¬¶ÔÕâ¸ö»°ÌâÓÐÐËȤµÄͬѧ¿ÉÒÔ±£³Ö¹Ø×¢¡£

ǰ¶Îʱ¼äÎÒÃÇÔÚ¿¼ÂÇ Serverless ·½Ïòʱ£¬¸ÕºÃ¿´µ½ Google ÐÂÍÆ³öÁËËüµÄ Serverless
ÐÂÏîÄ¿ Knative£¬Ê±¼äµã·Ç³£µÄÇÉ¡£ºÍÆäËû Serverless ÏîÄ¿²»Í¬µÄÊÇ£¬Knative
ÏîÄ¿¹Ø×¢µÄÊÇ Serverless ƽ̨µÄ±ê×¼»¯ºÍ¹æ·¶»¯¡£
Knative ÏîÄ¿ÊÇ»ùÓÚ kubernetes ºÍ Istio µÄ£¬ÔÚ Knative ÖÐ Istio
ÓÃÓÚʵÏÖ²¿·Ö×é¼þÖ®¼äµÄͨѶ¡£ÔÚ Knative ÏîÄ¿ÖУ¬¶ÔÓÚÊÇ·ñÓ¦¸ÃÒýÈë Istio ´æÔںܴóÕùÒ飬ÒòΪ¾õµÃ
Istio Ì«ÖØÁË£¬ÎªÁËÉÙÁ¿ÐèÇóÒýÈë Istio ÓÐЩÐËʦ¶¯ÖÚ¡£²»¹ýÕâ¸öÎÊÌâ¶ÔÓÚ±¾À´¾ÍÒѾÔÚÓà Istio
µÄÎÒÃÇÀ´Ëµ²»ÊÇÎÊÌâ¡£
ĿǰÔÚ Serverless£¬ÓÈÆä Knative ·½Ã棬ÎÒÃÇ»¹ÔÚ̽Ë÷£¬Ä¿Ç°µÄ³õ²½Ïë·¨ÊÇÕâÑù£º
Serverless ºÜÖØÒª
ÓÈÆä Knative µÄ³öÏÖ£¬ÕÑʾ×Å Serverless ÁìÓòеÄÍæ·¨³öÏÖ£¬Serverless
ƽ̨³öÏÖ±ê×¼»¯ºÍͳһ»¯µÄÆõ»ú
Kubernetes + Serverless + Service Mesh£¨ÓÈÆäÊÇÀ©Õ¹·¶Î§Ö®ºóµÄ
Service Mesh£©ÊÇÒ»¸öºÜºÃµÄ×éºÏ
´ÓÏÂÏòÉÏ£¬´Óµ×²ã»ù´¡ÉèÊ©µ½·þÎñ¼äͨѶÔÙµ½ Function£¬ÔÚÓ¦ÓúÍϵͳ֮¼äÐγÉÁËÒ»Ì×ÍêÕûµÄÖ§³ÅÌåϵ¡£
ºóÐøÎÒÃǵIJúÆ·²ßÂÔ£¬»á¼ÌÐøÉîÈëµ÷ÑÐ knative£¬Ò»±ßPOCÒ»±ß¹æ»®²úÆ·£¬µ±È»½áºÏʵ¼ÊÒµÎñÐèÒªÒÔÂäµØÎªÄ¿±êÒÀÈ»ÊÇ»ù±¾ÒªÇó¡£È»ºó£¬·Ç³£×ÔÈ»µÄ£¬ÎÒÃǻὫ±ê×¼°æ±¾µÄ
Istio Ìæ»»ÎªÎÒÃÇµÄ SOFAMesh ºÍ SOFAMosn¡£
¾ÙÀý£¬Ä¿Ç°ÎÒÃÇÔڼƻ®³¢ÊÔʹÓà Serverless µÄµäÐͳ¡¾°£º
С³ÌÐò
AI£ºServerless AI Layer£¬Ò»Õ¾Ê½»úÆ÷ѧϰƽ̨
Databus£º ´óÊý¾Ý´¦Àí

ÕâÊÇÎÒÃÇĿǰ̽Ë÷ºÍ¹æ»®ÖеķþÎñ¼äͨѶµÄÍêÕûÀ¶Í¼£º
Service Mesh
¸ºÔð¶«Î÷ÏòͨѶ£¬Êµ¼ùÖоÍÊÇÎÒÃÇµÄ SOFAMesh ²úÆ·£¬»ùÓÚ Istio µÄÀ©Õ¹ÔöÇ¿°æ
API Gateway
¸ºÔðÄϱ±ÏòͨѶ£¬»¹ÔÚ̽Ë÷ÖУ¬ÎÒÃÇÔÚ³¢ÊÔ»ùÓÚ SOFAMosn ºÍ SOFAMesh ¿ª·¢Ð嵀 API
Gateway ²úÆ·
Serverless
¸ºÔðÒ첽ͨѶ£¬Ê¼þÇý¶¯Ä£ÐÍ£¬Á£¶ÈÒ²´Ó·þÎñ¼¶±ðϸ»¯µ½Function¼¶±ð£¬Ä¿Ç°ÔÚ»ý¼«Ì½Ë÷ºÍʵ¼ù knative
ÕâÀï¸ø³öÒ»¸öÎÒÃǵÄÔ¤²â£ºÔÚÔÆÔÉúµÄʱ´ú£¬·þÎñ¼äͨѶµÄδÀ´¶¼»áÊÇ Service Mesh ÕâÖÖ·½Ê½£¬½«·þÎñ¼äͨѶµÄÖ°Ôð°þÀ벢ϳÁ¡£

ÕâÊǽñÌìµÄ×îºóÄÚÈÝ¡£Ç°ÃæËĸö²¿·ÖµÄÄÚÈÝ»ù±¾É϶¼ÊǸø´ó¼Ò½éÉÜÎÒÃǵIJúƷʵ¼ù£¬Â䵨Óöµ½µÄÎÊÌ⣬ÒÔ¼°ÎÒÃÇÕýÔÚ×öµÄһЩ̽Ë÷£¬±È½Ïƫʵ¼Ê¡£µÚÎ岿·Ö»áÌØÊâÒ»µã£¬¿ÉÄܾÍÓеãÎñÐéÁË¡£Õâ¿éÒª½²ÊÇÔÚ¹ýÈ¥Ò»Äêµ±ÖУ¬ÔÚÏîÄ¿Â䵨µÄ¹ý³ÌÖеÄÌØ±ð¸ÐÊÜ£¬ÆäÖÐ×î¹Ø¼üµÄÒ»µã¾ÍÊÇ»ù´¡ÉèÊ©ºÍ·þÎñÍø¸ñÖ®¼äµÄ¹ØÏµ£¬»òÕß˵»ù´¡ÉèÊ©¶Ô·þÎñÍø¸ñµÄÒâÒå¡£

ÀïÃæÓÐÒ»¸öʱ´ú±³¾°£ºCloud Native£¬ÔÆÔÉú¡£¶øÔÚ½ñÄê6Ô£¬CNCF ¼¼Êõ¼à¶½Î¯Ô±»áͨ¹ýÁË
Cloud Native µÄ¶¨Ò壬ÖÐÎÄ·ÒëÈçÉÏ¡£
ÕâÀïÎÒÃǽ«¹Ø×¢µã·ÅÔÚ±êºìµÄÕâÒ»¾äÀ´£ºÔÆÔÉúµÄ´ú±í¼¼Êõ°üÀ¨ÈÝÆ÷¡¢·þÎñÍø¸ñ¡¢Î¢·þÎñ¡¢²»¿É±ä»ù´¡ÉèÊ©ºÍÉùÃ÷ʽAPI¡£

¶ÔÓÚÔÆÔÉú¼Ü¹¹£¬ÂìÒϽð·þµÄ²ßÂÔÊÇ£º»ý¼«Óµ±§! ÎÒÃÇδÀ´µÄ¼Ü¹¹Ò²»áÍùÕâ¸ö·½ÏòÑݽø¡£
¶ÔÓÚÇ°ÃæÁоٵÄÔÆÔÉú´ú±í¼¼Êõ£º
ÈÝÆ÷£º´ó°¢ÀïÔÚÈÝÆ÷¼¼ÊõÉÏÓзdz£Éî¶ÈµÄ»ýÀÛ£¬Êµ¼ù¶àÄ꣬¶øÐ°汾µÄ Sigma3.* °æ±¾Ò²½«»ùÓÚ k8s¡£
΢·þÎñ£ºÎ¢·þÎñµÄǰÉí£¬SOA ·þÎñ»¯£¬ÔÚ´ó°¢ÀïÒ²ÊÇʵ¼ù¶àÄ꣬ Dubbo / HSF / SOFA
¿ÉνÃûÂú½ºþ£¬Ä¿Ç°Ò²ÔÚÂ½Â½ÐøÐøµÄ΢·þÎñ¸ÄÔìÖС£
²»¿É±ä»ù´¡ÉèÊ©ºÍÉùÃ÷ʽAPI£ºÒ²ÊǸ߶ÈÈϿɺͳ¤ÆÚʵ¼ùµÄ¼¼Êõ¡£

¶ÔÓÚService MeshµÄ¶¨Î»£¬ÎÒÃÇÊÇÕâÑùÀí½âµÄ£º
Service Mesh ÊdzÐÉÏÆôϵÄÖØÒªÒ»»·
Ò»·½Ãæ³ä·ÖÀûÓõײãϵͳÄÜÁ¦
Ò»·½ÃæÎªÉϲãÓ¦ÓÃÌṩ¼áʵµÄµ××ù

¶ÔÓÚ Service Mesh£¬ÎÒÃÇÓÐÒ»¸öÖØÒªÅжϣ¬ÕâÒ²ÊǽñÌì×îÏëºÍ´ó¼Ò·ÖÏíµÄÒ»µã£ºService
Mesh µÄ¹éËÞ£¬»òÕß˵×îÖÕµÄÐÎ̬£¬ÊÇϳÁµ½»ù´¡ÉèÊ©£¡
´Ó Service Mesh µÄ·¢Õ¹¿´£¬´Ó¼òµ¥µÄ Proxy£¬µ½¹¦ÄÜÍêÉÆµÄSidecar£¨ÈçLinkerdºÍEnvoy£©£¬ÔÙµ½ÒÔ
Istio Ϊ´ú±íµÄµÚ¶þ´úService Mesh£¬ÑݽøµÄ·½Ê½ÈçÉÏͼ£º
µÚÒ»²½£º´ÓÓ¦ÓðþÀë
ͨ¹ý½«ÔÓеķ½·¨µ÷ÓøÄΪԶ³Ìµ÷Ó㬽«Àà¿âµÄ¹¦ÄÜÌ×ÉÏ Proxy µÄ¿Ç×Ó£¬Service Mesh
³É¹¦µÄ½«·þÎñ¼äͨѶ´Ó³ÌÐòÖаþÀë³öÀ´£¬´Ó´Ë·þÎñ¼äͨѶ²»ÔÙÊÇÓ¦ÓóÌÐòµÄÒ»²¿·Ö¡£
ÕâÒ»µãÊÇ´ó¼Ò×îÈÝÒ×½ÓÊܵģ¬¶Ô°É£¿ÕâÒ»²½Ò²ÊÇ×îÈÝÒ×ʵÏֵģ¬Ö»Òª´îÆðÀ´Ò»¸ö Sidecar »òÕß˵ Proxy£¬½«ÔÓÐÀà¿âµÄ¹¦ÄÜÈû½øÈ¥¾ÍºÃÁË¡£
µÚ¶þ²½£ºÏ³ÁΪ³éÏó²ã
ÕâЩ°þÀë³öÀ´µÄ·þÎñ¼äͨѶµÄÄÜÁ¦£¬ÔÚ°þÀëÖ®ºó£¬¿ªÊ¼Ï³Á£¬ÔÚÓ¦ÓóÌÐòÏÂÐγÉÒ»¸öµ¥¶ÀµÄ³éÏó²ã£¬³ÉΪ·þÎñ¼äͨѶרÓûù´¡ÉèÊ©²ã¡£´Ëʱ£¬ÕâЩÄÜÁ¦ÒÔÒ»¸öÍê³ÉµÄÐÎ̬³öÏÖ£¬²»ÔÙ´æÔÚµ¥¶ÀµÄÀà¿â»òÕß¿ò¼ÜÐÎʽ¡£
µÚ¶þ²½ºÍµÚÒ»²½ÍùÍùÊÇÒ»ÂöÏà³ÐµÄ£¬Ò»µ©×ß³öÁ˵ÚÒ»²½£¬×ÔÈ»¶øÈ»»á¼ÌÐø¡£ÒòΪ·þÎñ¼äͨѶ±»³éÈ¡³öÀ´Ö®ºó£¬¼ÌÐøÍùǰ·¢Õ¹£¬¾Í»áºÜ×ÔÈ»µØ°ÑËü¾Í±ä³ÉÒ»¸ö»ù´¡ÉèÊ©²ã¡£
µÚÈý²½£ºÈÚÈë»ù´¡ÉèÊ©
¼ÌÐøÏ³Á£¬ºÍµ×²ã»ù´¡ÉèÊ©ÃÜÇÐÁªÏµ£¬½ø¶øÈÚΪһÌ壬³ÉΪƽ̨ϵͳµÄÒ»²¿·Ö£¬µäÐ;ÍÊÇºÍ kubernetes
½áºÏ¡£
IstioÔÚÕâ·½Ãæ×öÁËÒ»¸ö·Ç³£´óµÄ´´Ð£¬IstioµÄ´´Ð£¬²»½ö½öÔÚÓÚÔö¼Ó¿ØÖÆÆ½Ã棬ҲÔÚÓÚºÍ kubernetes
µÄ½áºÏ¡£
Èç¹û´ó¼ÒÓÐÔÚÈ¥ÄêÌý¹ýÎÒµÄÑݽ²£¬»á·¢ÏÖÎÒÔÚÈ¥ÄêµÄʱºò¶Ô Service Mesh µÄÀí½âºÍÏÖÔÚ²»Ì«Ò»Ñù¡£ÔÚÈ¥ÄêµÄÕâ¸öʱºò£¬ÎÒÈÏΪ
Istio ×î´óµÄ´´ÐÂÊÇÔö¼ÓÁË¿ØÖÆÆ½Ãæ¡£µ«ÊÇ£¬½ñÄêÎÒ¾õµÃ»¹ÔÙ¼ÓÒ»¸ö¹Ø¼üµã£¬³ýÁË¿ØÖÆÆ½ÃæµÄÔö¼ÓÖ®Í⣬IstioºÜÖØÒªµÄÒ»µãÊÇ¿ªÊ¼¸úk8sÈںϣ¬³ä·ÖÀûÓÃ
k8s µÄÄÜÁ¦¡£k8s ´ú±íµÄÊǵײã»ù´¡ÉèÊ©£¬ËùÓеĸ÷ÖÖÄÜÁ¦ÔÚk8sÉϳÁµí¡£ÔÚIstioÉÏ£¬ÒѾÄܹ»¿´µ½ÕâÑùÒ»¸ö·Ç³£Ã÷ÏÔµÄÇ÷ÊÆ£º
Service Mesh ÒѾ¿ªÊ¼ºÍµ×²ã»ù´¡ÉèÊ©ÃÜÇÐÁªÏµ£¬ÈÚΪһÌ壬³ÉΪÕû¸öƽ̨ϵͳµÄÒ»²¿·Ö¡£
´ó¼Ò×¢ÒâÌå»áÕâÖмäµÄϸ΢²îÒ죬µÚÒ»²½ºÍµÚ¶þ²½£¬½«·þÎñ¼äͨѶµÄÄÜÁ¦³éÈ¡³öÀ´³Áµí³ÉÒ»¸ö³éÏó²ã£¬¶øÈç¹ûÖ¹²½ÓÚµÚ¶þ²½µÄ»°£¬Õâ¸ö³éÏó²ãºÍµ×²ã»ù´¡ÉèÊ©ÊÇûÓÐÈκιØÏµµÄ¡£×¢Ò⣬±ÈÈç˵
Linkerd »òÕß Envoy£¬ÔÚ²¿ÊðµÄʱºò£¬²»¹ÜÊÇÎïÀí»ú¡¢ÐéÄâ»ú»òÕßÈÝÆ÷£¬¶¼Ã»ÓÐÈκιØÏµ£¬±¾ÉíÒ²²»ÀûÓõײãµÄÈκÎÄÜÁ¦£¬¿Éνãþμ·ÖÃ÷¡£µ«ÊÇÒ»µ©Ñݽøµ½ÁËIstio£¬°üÀ¨ÏÖÔÚµÄLinkerd
2.0£¬¾Í»á·¢ÏÖתΪµÚÈý²½µÄÕâÖÖÐÎ̬¡£
½ñÌìÏë¸ú´ó¼Ò˵µÄÊÇ£¬Service Mesh µÄδÀ´£¬Êǽ«·þÎñ¼äͨѶµÄÄÜÁ¦Ï³Áµ½»ù´¡ÉèÊ©£¬È»ºó³ä·ÖÀûÓõײã»ù´¡ÉèÊ©µÄÄÜÁ¦À´¼Ü¹¹Õû¸öÌåϵ¡£¶ø²»ÔÙ½«µ×²ã»ù´¡ÉèÊ©³éÏó³ÉΪ¾ÍÊÇÒ»¸ö¼òµ¥µÄ²Ù×÷ϵͳ³éÏ󣺸øÎÒcpu£¬¸øÎÒÄڴ棬¸øÎÒÍøÂ磬¸øÎÒIO£¬ÆäËûµÄÊÂÇéºÍµ×²ãûÓÐÈκιØÏµ£¬ÎÒ×Ô¼ºÉÏÃæÈ«²¿¸ã¶¨¡£Õâ¸ö˼·ÔÚ
Service Mesh µÄδÀ´·¢Õ¹ÖÐÊDz»ºÏÊʵģ¬ Service Mesh δÀ´Ò»¶¨ÊÇͨ¹ýºÍ»ù´¡ÉèÊ©Èںϵķ½Ê½À´ÊµÏÖ¡£
×¢ÒâÕâ¸ö·½Ê½¸ú´«Í³·½Ê½µÄ²îÒ죬²»½ö½öÔÚÓÚ¼¼Êõ£¬¶øÊÇÕâ¸ö·½Ê½»á»ìÏýÁ½¸ö´«Í³µÄ²¿ÃÅ£ºÒ»¸ö½Ð×öÖмä¼þ£¬¾ÍÏñÎÒËùÔڵIJ¿ÃÅ£¬»òÕßÓÐЩ¹«Ë¾½Ð×ö»ù´¡¼Ü¹¹²¿ÃÅ£»»¹ÓÐÒ»¸ö²¿ÃÅͨ³£ÊÇÔËά²¿ÃÅ»òÕß½Ð×öϵͳ²¿ÃÅ£¬¸ºÔðά»¤µ×²ã»ù´¡ÉèÊ©¡£´ó²¿·Ö¹«Ë¾Ò»°ãÕâÁ½¸ö²¿ÃÅÔÚ×éÖ¯¼Ü¹¹ÉÏÊÇ·ÖÀëµÄ¡£×ök8sµÄͬѧ£¬ºÍ×ö΢·þÎñ¿ò¼Ü±ÈÈç
Dubbo£¬Spring Cloud µÄͬѧ£¬Í¨³£ÊÇÁ½¸ö²»Í¬µÄ×éÖ¯¼Ü¹¹£¬±Ë´Ëãþμ·ÖÃ÷¡£µÚÈý²½Òª×ßͨµÄ»°£¬¾Í»áÒªÇóÖмä¼þ²¿Ãźͻù´¡ÉèÊ©²¿ÃŹØÏµÒªÐµ÷µÄÌØ±ðºÃ£¬ÒªÃÜÇеĺÏ×÷£¬²ÅÄܽ«ÊÂÇé×öºÃ¡£
ÕâÊÇÔÚ¹ýÈ¥ÕâÒ»Äêµ±ÖУ¬ÎÒÃÇÔÚʵ¼ùÖеõ½µÄ×î´óµÄÒ»¸ö¸ÐÊÜ£¬Ò²ÊǽñÌìÕû¸öÑݽ²ÖÐ×îÏ£Íû¸ø´ó¼Ò·ÖÏíµÄÄÚÈÝ¡£

ÕâÀïÅ׳öÒ»¸öÎÊÌ⣬ºÍ´«Í³µÄ Spring Cloud£¬DubboµÈÇÖÈëʽ¿ò¼ÜÏà±È£º
Service MeshµÄ±¾ÖʲîÒìÔÚÄÄÀ
Èç¹ûÈ¥ÄêµÄÎÒÀ´»Ø´ðÕâ¸öÎÊÌ⣬ÄÇÎÒ»á¸æËßÄ㣺ÏÂÒÆ£¬³Áµí£¬ÐγÉÒ»¸öͨѶ²ã¡£¶ø½ñÌ죬ÎÒ»á¸æËß´ó¼Ò£¬³ýÁËÕâµãÖ®Í⣬»¹Óеڶþµã£º³ä·ÖÀûÓõײã»ù´¡ÉèÊ©¡£ÕâÊÇDubbo£¬Spring
Cloud´ÓÀ´Ã»ÓÐ×öµ½µÄ£¡
ÕâÊǽñÌì×îÏëºÍ´ó¼Ò·ÖÏíµÄ¹Ûµã£¬Ò²ÊǹýÈ¥Ò»Äêʵ¼ùÖÐ×î´óµÄ¸ÐÎò£º
Service Mesh ºÍ Spring Cloud
/ Dubbo µÄ±¾ÖʲîÒ죬²»½ö½öÔÚÓÚ½«·þÎñ¼äͨѶ´ÓÓ¦ÓóÌÐòÖаþÀë³öÀ´£¬¸üÔÚÓÚһ·Ï³Áµ½»ù´¡ÉèÊ©²ã²¢³ä·ÖÀûÓõײã»ù´¡ÉèÊ©µÄÄÜÁ¦¡£

×îºó£¬ÎÒÃÇ×ܽáһϽñÌìµÄÄÚÈÝ£º
¸ø´ó¼Ò½éÉÜÁËÒ»ÏÂÎÒÃÇµÄ SOFAMesh ÏîÄ¿£¬Èç¹û´ó¼ÒÓмƻ®Ó¦Óà Service Mesh ¼¼Êõ£¬ÏëÉÏ
Istio£¬¿ÉÒÔ³¢ÊÔÁ˽âÒ»ÏÂÎÒÃǵÄÕâ¸öÏîÄ¿£¬»áÈôó¼ÒÂ䵨¸üÊæ·þһЩ
Æä´Î¸ø´ó¼Ò½éÉÜÁËÑ¡Ôñ Golang µÄÔÒò£¬Ö÷ÒªÊÇÒòΪÓïÑÔÕ»µÄ³¤ÆÚÑ¡Ôñ¡£Èç¹ûÓÐÕýÔÚ½øÐÐ Service
Mesh ¼¼ÊõÑ¡ÔñµÄͬѧ£¬¿ÉÒÔ×÷Ϊ²Î¿¼¡£Èç¹ûºÍÎÒÃÇÒ»Ñù£¬¸üÔ¸ÒâÔÚδÀ´±£³Ö Golang ºÍ Java
ΪÖ÷ÒªÓïÑÔÕ»£¬Ôò¿ÉÒԲο¼ÎÒÃǵķ½°¸£¬µ±È»ÎÒÃǸüÏ£ÍûÄãÃÇ¿ÉÒÔºÍÎÒÃÇÒ»ÆðÀ´¹²½¨ SOFAMesh Õâ¸ö¿ªÔ´ÏîÄ¿
È»ºó¸ø´ó¼Ò·ÖÏíÁËÎÒÃÇÓöµ½µÄ¼¸¸öµäÐÍÎÊÌ⣬ÈçºÎ¿ìËÙµÄÖ§³Ö¸ü¶àͨѶÐÒ飬ÈçºÎÈô«Í³µÄSOA¼Ü¹¹µÄÓ¦ÓóÌÐòÔÚ²»½øÐдúÂëÐ޸ĵÄÇé¿öÏÂÒ²ÄÜ´Ó
Service Mesh ÖÐÊÜÒæ£¬ÊµÏÖϵͳµÄƽ»¬Ç¨ÒÆ¡£¶ÔÓÚ×¼±¸Êµ¼ÊÂ䵨µÄͬѧ»áÓаïÖú£¬ÓÉÓÚʱ¼äËùÏÞδÄܽ«Ï¸½ÚÕ¹¿ª£¬´ó¼Ò¿ÉÒÔ»áºó²é¿´×ÊÁÏ»òÕßÖ±½ÓÕÒÎÒÃǽ»Á÷
¶Ô·þÎñ¼äͨѶµÄ·¶Î§½øÐÐÁË̽ÌÖ£¬´ÓÔÓеĶ«Î÷ÏòͨѶ£¬À©Õ¹µ½Äϱ±ÏòͨѶ£¬»¹ÓÐÔÚ serverless ÏîÄ¿ÖеÄʹÓá£Ï£ÍûÄܹ»Èôó¼ÒÁ˽⵽
Service Mesh ¼¼Êõ¿ÉÒÔÓ¦Óõĸü¶à³¡¾°¡£
×îºó̸ÁËÒ»ÏÂÇÐÉí¸ÐÊÜ£ºService Mesh ¼¼ÊõÒªÏëÍêÈ«·¢»Ó×÷Óã¬ÐèÒªºÍµ×²ã»ù´¡ÉèÊ©Èںϣ¬ÒÔ³ä·Ö·¢»Ó»ù´¡ÉèÊ©µÄÄÜÁ¦¡£Õâ¿éµÄÈÏÖª£¬»áÓ°Ïìµ½
Service Mesh µÄ¼¼ÊõÑ¡ÐÍ£¬²úÆ··½°¸£¬ÉõÖÁÓ°Ïì×éÖ¯¹ØÏµ¡£¿ÉνÖÁ¹ØÖØÒª£¬Ï£ÍûÿλÓÐÖ¾Óڴ˵ÄͬѧÄÜÈÏÈÏÕæÕæµÄÉóÊÓÕâ¸öÎÊÌâ¡£

Service Mesh ÊÇÒ»¸öÐÂÉúÊÂÎÐÂÊÂÎïÔÚ¸Õ³öÏÖʱ×ÜÊÇ»áÓöµ½¸÷ÖÖÌôÕ½ºÍÖÊÒÉ£¬ÓÈÆäÔÚËü×ÔÉí»¹²»¹»ÍêÈ«³ÉÊìµÄʱºò¡£¶øService
Mesh ±³ºóµÄCloud Native£¬¸üÊÇÒ»³¡Ç°ËùδÓеľ޴ó±ä¸ï¡£
ÎÒÃÇÐÄ»³ÃÀºÃÔ¸¾°£¬ã¿ã½Î´À´µÄ Cloud Native ¼Ü¹¹£¬ÄÇÀïÓÐÎÒÃÇµÄ Service Mesh£¬ÓÐk8s£¬ÓÐ΢·þÎñ¡¡¶øÐµļܹ¹£¬Ðµļ¼Êõ£¬´ÓÀ´¶¼²»ÊÇÄÜÒ»õí¶ø¾ÍµÄ£¬¸ü²»´æÔÚÒ»·«·ç˳֮ÀàµÄÃÀºÃ¶øÌìÕæµÄÏë·¨¡£
µÀ·´ÓÀ´¶¼ÊÇÈË×ß³öÀ´µÄ£¬»òÕß˵£¬Ì˳öÀ´µÄ¡£×÷Ϊ¹úÄÚ Service Mesh ¼¼ÊõµÄÏÈÇýÕߣ¬ÎÒÃÇ̹ÑÔ
Service Mesh ¼¼Êõ»¹²»¹»³ÉÊ죬»¹ÓкܶàÎÊÌâµÈ´ý½â¾ö£¬»¹Óзdz£¶àµÄÌôÕ½ÔÚÇ°ÃæµÈ×ÅÎÒÃÇ¡£µ«ÎÒÃÇÓÐÐÅÐÄÏàÐÅ£¬ÎÒÃǵķ½ÏòÊÇÕýÈ·µÄ£¬ÎÒÃǽñÌìµÄÿһ·ÝŬÁ¦£¬Ã¿Ò»·Ý¸¶³ö£¬¶¼ÔÚÈÃÎÒÃÇÀëÄ¿±ê¸ü½üÒ»²½¡£
³ѸÏÈÉú˵£ºµØÉϱ¾Ã»Óз£¬×ßµÄÈ˶àÁË£¬Ò²±ã³ÉÁË·¡£ÔÚ Service Mesh µÄÕâ¸ö·½Ïò£¬ÏàÐÅ»á³öÏÖÔ½À´Ô½¶àŬÁ¦Ì½Ë÷µÄÉíÓ°¡£ÕâÌõ·£¬ÎÒÃÇÖÕ¾¿»áŬÁ¦Ì˳öÀ´£¡
³¤Â·ÂþÂþ£¬Îá±²µ±Ì¤¸è¶øÐУ¡

Ŀǰ SOFAMesh ºÍ SOFAMosn ÏîÄ¿¶¼ÒѾÔÚ github ¿ªÔ´£¬µØÖ·ÈçÏ£º
sofa-mesh: https://github.com/alipay/sofa-mesh
sofa-mosn: https://github.com/sofastack/sofa-mosn
»¶Ó´ó¼Ò¹Ø×¢ÕâÁ½¸öÏîÄ¿µÄ½øÕ¹£¬Èç¹ûÄÜstarһϱíʾ֧³Ö¾Í¸üºÃÁË£¬¸Ð¼¤²»¾¡£¡
¸üÏ£Íû¿ÉÒÔÒ»ÆðÀ´²ÎÓëÕâÁ½¸öÏîÄ¿µÄ½¨É裬ÆÚ´ýIssue£¬ÆÚ´ýPR£¡
|