±à¼ÍƼö: |
ÎÄÕÂÖ÷Òª½éÉÜÁË×÷Õß¾Íproxyµ½µ×¸Ã×öÄÄЩÊÂÇ飿¼Ü¹¹µÄÓÅÃÀºÍÐÔÄܵÄʵ¼Ê±íÏÖ¸ÃÈçºÎƽºâ£¿µÄÁ½¸öÎÊÌâ¶ÔService
Mesh¼Ü¹¹ÄÚÈݵķ´Ë¼¡£
±¾ÎÄÀ´×ÔÓÚskyao.io£¬ÓÉ»ðÁú¹ûÈí¼þ΢΢±à¼¡¢ÍƼö¡£ |
|
¿àµÈÒ»Ä꣬ʼÖÕ²»¼ûIstioµÄÐÔÄÜÓÐʵÖÊÐÔÌáÉý£¬Ê§ÍûÖ®Ó࣬¿ªÊ¼·´Ë¼Istio¶øÖÁService
MeshµÄ¼Ü¹¹¡£½¹µãËùÔÚ£ºproxyµ½µ×¸Ã×öÄÄЩÊÂÇ飿¼Ü¹¹µÄÓÅÃÀºÍÐÔÄܵÄʵ¼Ê±íÏÖ¸ÃÈçºÎƽºâ£¿
ÎÊÌâËùÔÚ
IstioµÄÐÔÄÜ£¬´ÓÈ¥Äê5ÔÂÎÊÊÀÒÔÀ´£¬¾ÍÊÇÒ»¿éÐIJ¡¡£
ǰ¶Îʱ¼äIstio 0.7.1°æ±¾·¢²¼£¬²»¾ÃÎÒÃǵõ½ÁËÕâ¸öÒ»¸ö¡±Ï²Ñ¶¡±£ºIstioµÄÐÔÄÜÔÚ0.7.1°æ±¾Öеõ½ÁË´ó·ùÌáÉý£¡

×î´óQPS´Ó0.5.1µÄ700£¬µ½0.6.0µÄ1000£¬ÔÙµ½0.7.1µÄ1700£¬×ÝÏò±È½ÏIstio×î½üµÄÐÔÄÜÌáÉýµÄÈ·²»´í£¬¶¼2.5±¶ÐÔÄÜÁË¡£
µ«ÊÇ£¬×¢Ò⣬QPS 700/1000/1700¡£Êǵģ¬Ã»´í£¬ÄãûÓп´´í£¬Ã»ÓЩµôÒ»¸öÁã»òÕßÁ½¸öÁã¡£
ÉÔ΢»Ø¹ËһϽüÄêÖÐÓÐ×Ô¼ºÓÐʵ¼Ê¸ÐÊܵÄÀý×Ó£º
¼¸¸öÔÂ֮ǰдÁËÒ»¸ö»ùÓÚnetty4.1µÄHTTPת·¢µÄdemo£¬Ã»×öÈκÎÓÅ»¯ºÍµ÷½Ì£¬ÇáËÉ10Íò+µÄQPS
Á½ÄêǰдµÄdolphin¿ò¼Ü£¬gRPCÖ±Á¬£¬15ÍòQPSÇáËÉ×öµ½
È»ºó£¬°×Òº͸ô±ÚÀÏÍõÁ½Î»Í¬Ñ§ÇáÃèµÐ´µÄºÃÏñ˵¹ý£¬OSP¼«ÖÂÐÔÄܹýÁË20ÍòQPSÁË£¨±³¾°²¹³ä£ºOSPÊÇΨƷ»áµÄ·þÎñ»¯¿ò¼Ü£¬sidecarģʽ£¬ËüµÄProxyÊDZ»´ó¼ÒÚ¸²¡ÒÔÂýÖø³ÆµÄJava£©¡£
µ±È»Istio²âÊÔ³¡¾°ÉÔ΢¸´ÔÓһЩ£¬±Ï¾¹²»ÊÇ¿ÕÇëÇ󣬵«ÊÇÈçÂÛÈçºÎ£¬´ÓQPSÊ®¼¸¶þÊ®ÍòÕâ¸ö¼¶±ð£¬Ö±Âäµ½QPSÒ»Á½Ç§£¬ÖмäÓм¸ºõ100±¶µÄ²î¾à¡£Õâ¸ö²î¾àδÃâÓÐЩ̫´ó£¬´ÓʵÓÃÐÔÉÏ˵£¬2000¼¶±ðµÄQPS£¬µÍÁ˵㡣
·´Ë¼µÄµÚÒ»¸ö»³ÒɶÔÏóÊÇproxyת·¢ÐÔÄÜ£¬µ«ÊÇËæ¼´·ñ¾ö£º¶àÁËproxy¿Ï¶¨»áÓÐÓ°Ï죬µ«ÊÇÔ¶²»ÖÁÓÚ´Ë¡£¶øÇÒ£¬Î¨Æ·»áµÄOSP£¬»¹ÓлªÎªµÄService
MesherµÄÐÔÄܱíÏÖҲ˵Ã÷ÁËÎÊÌâ²»ÊdzöÔÚproxyת·¢ÉÏ¡£
±³¾°»Ø¹Ë
IstioµÄÐÔÄÜÎÊÌâÆäʵÓÉÀ´ÒѾ㬺ÜÔç¾Í±©Â¶£¬¹Ù·½Ò²Îª´Ë×öÁ˸Ľø£¬ÎÒÃÇÏÖÔÚ¿´µ½µÄ 700/1000/1700
ÒѾÊǸĽøÖ®ºóµÄ½á¹û¡£
½ñÌìÀ´ºÃºÃÁÄÏÂÕâ¸öÎÊÌ⣬ÕâÉæ¼°µ½IstioµÄ¼Ü¹¹Éè¼Æ£¬ÉõÖÁÉæ¼°µ½Service MeshµÄÑݽø¹ý³Ì¡£
×¢£º¹ØÓÚService MeshµÄÑݽø¹ý³Ì£¬ÔÚ֮ǰµÄÑݽ² DreamMeshÅ×שÒýÓñ(6)-ÐÔÄÜ¿ªÏú
¡£
Service Mesh¸Õ³öÏÖʱ£¬ÒÔLinkerd/EnvoyΪ´ú±í:

ÕâʱµÄservice mesh£¬Ö÷ÒªÊÇÒÔproxy/sidecarµÄÐÎʽ³öÏÖ£¬¹¦ÄÜ»ù±¾¶¼ÔÚsidecarÖУ¨linkerdÓиönamedµÄÄ£¿é·Ö³öÁ˲¿·Ö¹¦ÄÜ£©¡£ÇëÇóͨ¹ýsidecarת·¢£¬ÆÚ¼ä·¢ÉúµÄ¸÷ÖÖ¼ì²é/ÅжÏ/²Ù×÷£¬¶¼ÊÇÔÚsidecarÖнøÐС£

Òò´Ë£¬´ÓÐÔÄÜÉÏ˵£¬Óë¿Í»§¶Ë/·þÎñÆ÷¶ËÖ±½ÓÁ¬½ÓÏà±È£¬×öµÄÊÂÇé»ù±¾Ò»Ö£¬Ö»ÊǶàÁËproxyת·¢µÄ¿ªÏú¡£¶øÕâ¸ö¿ªÏú£¬Óë·þÎñÆ÷¶ËÒµÎñ´¦ÀíµÄ¿ªÏúÏà±È£¬·Ç³£Ð¡£¬´ó¶àÊýÇé¿öÏÂÊÇ¿ÉÒÔºöÂԵġ£
È»ºóService MeshÑݽøµ½Á˵ڶþ´ú£¬Istio³öÏÖ£¬ºÍºóÃæ½ô¸úµÄConduit¡£Õâ¸öʱºò£¬ÔÚµÚÒ»´úµÄ»ù´¡ÉÏ£¬Service
Mesh¿ªÊ¼ÔÚ¶ÔϵͳµÄÕÆ¿ØÉÏ·¢Á¦£¬¿ØÖÆÆ½ÃæÓɴ˵®Éú£º

¿ØÖÆÆ½ÃæµÄ¼ÓÈ룬ÊÇÒ»¸ö·Ç³£ÁîÈËÐ˷ܵÄÊÂÇ飬ÒòΪ´øÀ´ÁËÌ«¶àµÄʵÓÃÐ͵ŦÄÜ£¬istioÒò´Ë±¸ÊܹØ×¢ºÍÍÆ³ç£¬Ëæºó½ô¸úIstio½Å²½µÄConduitÒ²ÑØÓÃÁËÕâÌ׼ܹ¹Ìåϵ£º

ÔÚÕâ¸ö¼Ü¹¹µ±ÖУ¬¿ØÖÆÆ½ÃæµÄÈý´óÄ£¿é£¬ÆäÖеÄPilotºÍAuth¶¼²»Ö±½Ó²ÎÓëµ½trafficµÄ´¦ÀíÁ÷³Ì£¬Òò´ËËûÃDz»»á¶ÔÔËÐÐʱÐÔÄܲúÉúÖ±½ÓÓ°Ïì¡£
ÐèÒªÉóÊÓµÄÊÇ£¬ÐèÒª²ÎÓëµ½trafficÁ÷³ÌµÄMixerÄ£¿é£¬Çë×¢ÒâÉÏͼÖУ¬´Óenvoyµ½mixerµÄÁ½¸ö¼ýÍ·£¬Õâ´ú±í×ÅÁ½´Îµ÷Ó㬶øÇÒÊÇÁ½´ÎÔ¶³Ìµ÷Óá£ÏÂÃæÕâ¸öͼ£¬¿ÉÒÔ¿´µÄ¸üÇå³þһЩ£º

MixerµÄÖ°Ôð
ÎÒÃÇÖ±½Ó°á³ömixer¹Ù·½Îĵµ¶ÔmixerµÄ½éÉÜ£º
https://istio.io/docs/reference/config/policy-and-telemetry/mixer-overview/
Mixer ÌṩÈý¸öºËÐŦÄÜ£º
ǰÌáÌõ¼þ¼ì²é¡£ÔÚÏìÓ¦À´×Ô·þÎñµ÷ÓÃÕߵĴ«ÈëÇëÇó֮ǰ£¬Ê¹µÃµ÷ÓÃÕßÄܹ»ÑéÖ¤Ðí¶àǰÌáÌõ¼þ¡£ÔÊÐí·þÎñÔÚÏìÓ¦À´×Ô·þÎñÏû·ÑÕߵĴ«ÈëÇëÇó֮ǰÑé֤һЩǰÌáÌõ¼þ¡£Ç°ÌáÌõ¼þ¿ÉÒÔ°üÀ¨·þÎñʹÓÃÕßÊÇ·ñ±»ÕýÈ·ÈÏÖ¤£¬ÊÇ·ñÔÚ·þÎñµÄ°×Ãûµ¥ÉÏ£¬ÊÇ·ñͨ¹ýACL¼ì²éµÈµÈ¡£
Åä¶î¹ÜÀí¡£ ʹ·þÎñÄܹ»ÔÚ¶à¸öά¶ÈÉÏ·ÖÅäºÍÊÍ·ÅÅä¶î£¬µ±·þÎñÏû·ÑÕß¶ÔÓÐÏÞµÄ×ÊÔ´·¢ÉúÇÀռʱ£¬Åä¶î¾Í³ÉÁËÒ»ÖÖÓÐЧµÄ×ÊÔ´¹ÜÀí¹¤¾ß£¬ËüΪ·þÎñÖ®¼äµÄ×ÊÔ´ÇÀÕ¼ÌṩÏà¶ÔµÄ¹«Æ½¡£ÆµÂÊ¿ØÖƾÍÊÇÅä¶îµÄÒ»¸öʵÀý¡£
Ò£²â±¨¸æ¡£Ê¹·þÎñÄܹ»Éϱ¨ÈÕÖ¾ºÍ¼à¿Ø¡£ÔÚδÀ´£¬Ëü»¹½«ÆôÓÃÕë¶Ô·þÎñÔËÓªÉÌÒÔ¼°·þÎñÏû·ÑÕߵĸú×ٺͼƷÑÁ÷¡£
È»ºó£¬×î¹Ø¼üµÄµÄÊÇ£º
ÕâЩ»úÖÆµÄÓ¦ÓÃÊÇ»ùÓÚÒ»×éÊôÐԵģ¬Ã¿¸öÇëÇ󶼻ὫÕâЩÊôÐÔ³ÊÏÖ¸øMixer¡£ÔÚIstioÖУ¬ÕâЩÊôÐÔÊÇÓɶÔSidecar´úÀí£¨Ò»°ãÊÇEnvoy£©µÄÿһ´ÎÇëÇó²úÉúµÄ¡£
Ò²¾ÍÊÇ˵£¬ÎªÁËÈÃmixerÄܹ»¹¤×÷£¬¾ÍÐèÒªenvoy´Óÿ´ÎÇëÇóÖлñÈ¡ÐÅÏ¢£¬È»ºó·¢ÆðÁ½´Î¶ÔmixerµÄÇëÇó£º
ÔÚת·¢ÇëÇó֮ǰ£ºÕâʱÐèÒª×öǰÌáÌõ¼þ¼ì²éºÍÅä¶î¹ÜÀí£¬Ö»ÓÐÂú×ãÌõ¼þµÄÇëÇó²Å»á×öת·¢
ÔÚת·¢ÇëÇóÖ®ºó£ºÕâʱҪÉϱ¨ÈÕÖ¾µÈ£¬ÊõÓïÉϳÆÎªÒ£¸ÐÐÅÏ¢£¬Telemetry£¬»òÕßReporting¡£
Éè¼Æ³õÖÔ
¼ÌÐø°áÔ˹ٷ½Îĵµ£º
ºó¶Ë»ù´¡·þÎñΪ¹¹½¨µÄ·þÎñÌṩ¸÷ÖÖÖ§³Ö¹¦ÄÜ¡£ÕâЩ¹¦ÄܰüÀ¨·ÃÎÊ¿ØÖÆÏµÍ³¡¢¼ÆÁ¿ÊÕ¼¯²¶»ñϵͳ¡¢Åä¶îÖ´ÐÐϵͳ¡¢¼Æ·ÑϵͳµÈ¡£´«Í³·þÎñ»áÖ±½ÓºÍÕâЩºó¶Ëϵͳ´ò½»µÀ£¬Óëºó¶Ë½ôÃÜñîºÏ£¬²¢¼¯³ÉÆäÖеĸöÐÔ»¯ÓïÒåºÍÓ÷¨¡£
MixerÔÚÓ¦ÓóÌÐò´úÂëºÍ»ù´¡¼Ü¹¹ºó¶ËÖ®¼äÌṩͨÓÃÖнé²ã¡£ËüµÄÉè¼Æ½«²ßÂÔ¾ö²ßÒÆ³öÓ¦Óò㣬ÓÃÔËάÈËÔ±Äܹ»¿ØÖƵÄÅäÖÃÈ¡¶ø´úÖ®¡£Ó¦ÓóÌÐò´úÂë²»ÔÙ½«Ó¦ÓóÌÐò´úÂëÓëÌØ¶¨ºó¶Ë¼¯³ÉÔÚÒ»Æð£¬¶øÊÇÓëMixer½øÐÐÏ൱¼òµ¥µÄ¼¯³É£¬È»ºóMixer¸ºÔðÓëºó¶ËϵͳÁ¬½Ó¡£
MixerµÄÉè¼ÆÄ¿µÄÊǸıä²ã´ÎÖ®¼äµÄ±ß½ç£¬ÒÔ´ËÀ´½µµÍ×ÜÌåµÄ¸´ÔÓÐÔ¡£´Ó·þÎñ´úÂëÖÐÌÞ³ý²ßÂÔÂß¼£¬¸ÄÓÉÔËάÈËÔ±½øÐпØÖÆ¡£
·Ç³£ÓÅÐãµÄÉè¼Æ£¬´Óϵͳ¼Ü¹¹ÉÏûµÃ˵£¬½â¿ªÓ¦Óúͺó¶Ë»ù´¡ÉèÊ©µÄñîºÏ£¬ºÃ´¦¶à¶à£¬ÕâÒ²ÊÇÎÒÃǰ®IstioµÄÖØÒªÀíÓÉ¡£
µ«ÊÇ£¬×¢Ò⣬Õâ¶ÎÎÄ×Ö½âÊ͵ÄÊÇ£ºÎªÊ²Ã´Òª½«ÕâЩ¹¦ÄÜ´ÓÓ¦ÓÃÀïÃæ°á³öÀ´·Å½øÈ¥service meshºÍmixer¡£ÕâµãÎÒ¾ÙË«ÊÖÔ޳ɣ¬¶øÎÒµÄÒÉÎÊÔÚÓÚ£ºÕâЩÂß¼´ÓÓ¦ÓÃÖÐÒÆ¶¯µ½service
meshÖ®ºó£¬ÎªÊ²Ã´Òª·ÅmixerÖУ¬¶ø²»ÊÇproxy£¿
Õâ¾ÍÉæ¼°µ½µÚ¶þ´úservice meshµÄºËÐÄÉè¼ÆÁË£ºÔÓеÄsidecar±»¹é½áΪdata plane£¬È»ºóÔÚdata
planeÉÏÔö¼Ócontrol plane¡£ÄÇô£¬×î×îÖØÒªµÄÉè¼ÆÎÊÌâ¾ÍÀ´ÁË£¬ÔÚÕâ¸ö¼Ü¹¹ÖУ¬´ÓÖ°Ôð·Ö¹¤ºÍ²¿ÊðÉÏ£º
data planeºÍcontrol planeµÄ½çÏÞÔÚÄÄÀ
IstioµÄÑ¡Ôñ
µ±Ç°£¬istioÔÚÕâ¸öÎÊÌâÉÏ£¬Ñ¡ÔñµÄÊǷdz£ÀíÏ뻯µÄ»®·Ö·½Ê½£º
data plane Ö»¸ºÔðת·¢£¬ÆäÖв¿·ÖÊý¾ÝÀ´×ÔPilotºÍAuth¡£
ºÍºó¶Ë»ù´¡ÉèÊ©Ïà¹ØµÄ¹¦ÄÜ·ÅÖÃÔÚmixerÖУ¬Í¨¹ý¸÷ÖÖadapterʵÏÖ
Õâ¸ö·½Ê½¼Ü¹¹ÇåÎú£¬Ö°Ôð·ÖÃ÷£¬ÔÚ²»¿¼ÂÇÐÔÄÜʱ£¬ÎÞ¿ÉÌôÌÞ¡£
ÔÙ¿¼Âǵ½IstioµÄ±³¾°£¬IstioÏîÄ¿Æô¶¯Ê±:
envoyÒѾ»ù±¾³ÉÊì¡£ÕâÑùistioµÄdata planeÖ±½ÓÓÐÏֳɵÄÒ»¸ö»ù´¡£¬ÔÚÕâ¸ö»ù´¡ÉÏмÓcontrol
plane£¬ºÏºõÇéÀí¡£
ÐÂдµÄcontrol planeÓÃgolang±àд£¬Ò²ÊÇ·ûºÏÇéÀí£¬±Ï¾¹Öмä¼þÓÃgoÊǸö³±Á÷£¬¼ÓÉÏÊÇgoogle×Ô¼ºµÄ²úÆ·¡£
ͬʱenvoyÊÇ»ùÓÚc++µÄ£¬Ð´¸÷ÖֺܾßÌåºÜ·±ËöµÄÍâΧ¹¦ÄÜδÃâÓÐЩÄÑÊÜ£¬±ÈÈçmixerÖк͸÷ÖÖºó¶Ë´ò½»µÀµÄadapter¡£
ËùÓУ¬ÔÚÎÒ¿´À´£¬istioµ±Ê±Ñ¡ÔñÏÖÔÚÕâÑùÒ»¸ö¼Ü¹¹£¬ºÏºõÇéÀí£¬Ò²±È½Ï×ÔÈ»¡£
Ö»ÊÇ£¬Ñ¡ÔñÕâ¸ö·½Ê½Ö®ºó£¬ÓÐЩÎÊÌâ¾ÍÎ޿ɻرܣº
ΪÁËÔÚÇëÇó´¦Àí¹ý³ÌÖе÷Óõ½mixer£¬¾ÍÖ»µÃÔÚת·¢Ç°ºó·¢ÆðÁ½´Î¶ÔmixerµÄµ÷ÓÃ
ÓÉÓÚenvoyÊÇc++£¬ÐµÄmixerÊÇgo£¬¶ÀÁ¢²¿Êð
µ¼Ö£¬ÕâÁ½´Îµ÷Ó㬠¶¼ÊÇÔ¶³Ìµ÷Ó㬶øÇÒÒ²²»ÊÇlocalhostµÄ±¾µØµ÷ÓÃ
ÕâÑùÒ»À´£¬ÐÔÄÜ¿ªÏú¾ÍÎ޿ɱÜÃâ¡£IstioÈ¥Äê5Ô³öÀ´Ö®ºó£¬¾Í±»·¢ÏÖÐÔÄܷdz£Ôã¸â£¬±ÈÏÖÔÚµÄQPS 700/1000/1700
»¹ÒªÔã¸âºÜ¶à¡£
##IstioµÄ¸Ä½ø
Ö®ºó£¬Istio¸ø³öÁËÒ»¸ö¸ÄÁ¼µÄ·½°¸£ºÔÚenvoyÖÐÔö¼Ómixer filter¡£Õâ¸öFilterºÍ¿ØÖÆÃæµÄMixer×é¼þ½øÐÐͨѶ£¬Íê³É²ßÂÔ¿ØÖƺÍÒ£²âÊý¾ÝÊÕ¼¯¹¦ÄÜ¡£

¹Ø¼üÖ®´¦£¬ÔÚÓÚÔö¼ÓÁË»º´æ£º
Mixer FilterÖб£´æÓвßÂÔÅжÏËùÐèµÄÊý¾Ý»º´æ£¬Òò´Ë´ó²¿·Ö²ßÂÔÅжÏÔÚEnvoyÖоʹ¦ÀíÁË£¬²»ÐèÒª·¢ËÍÇëÇóµ½Mixer¡£
ÁíÍâEnvoyÊÕ¼¯µ½µÄÒ£²âÊý¾Ý»áÏȱ£´æÔÚEnvoyµÄ»º´æÖУ¬Ã¿¸ôÒ»¶Îʱ¼äÔÙͨ¹ýÅúÁ¿µÄ·½Ê½Éϱ¨µ½Mixer¡£
´Ó¹Ù·½²©¿Í Mixer and the SPOF Myth ¸ø³öµÄÐÅÏ¢¿´£¬ÕâÀïµÄ»º´æÊµÏÖ»¹×öµÄºÜÖܵ½£¬ÉõÖÁʵÏÖÁËÁ½¼¶»º´æ£º

»º´æµÄ¹¤×÷·½Ê½ÈçÏ£º
Sidecar Öаüº¬±¾µØ»º´æ£¬Ò»´ó²¿·ÖµÄǰÖüì²é¿ÉÒÔͨ¹ý»º´æÀ´½øÐС£
ÁíÍ⣬sidercar »á°Ñ´ý·¢Ë͵ÄÖ¸±êÊý¾Ý½øÐлº³å£¬ÕâÑù¿ÉÄÜÔÚ¼¸Ç§´ÎÇëÇóÖ®ºó²Åµ÷ÓÃÒ»´Î Mixer¡£
ǰÖüì²éºÍÇëÇó´¦ÀíÊÇͬ²½µÄ
Ö¸±êÊý¾ÝÉÏËÍÊÇʹÓà fire-and-forget ģʽÒì²½Íê³ÉµÄ¡£
´ÓÃèÊöÉÏ¿´·Ç³£ÁîÈËÂúÒ⣬Èç¹ûÕâ¸ö·½Ê½ÊµÏÖÁË£¬ÄÇôMixer´øÀ´µÄÐÔÄÜÆ¿¾±Ó¦¸Ã¿ÉÒÔ½â¾ö¡£µ«ÊÇ£¬¶ÔÕÕÒ»ÏÂʱ¼ä£¬Õâ¸ö²©¿Í·¢±íÓÚ2017Äê12Ô£¬ÔÚÕâÖ®ºóµÄС°ëÄ꣬istioµÄÐÔÄÜ»¹ÊÇÅÇ»²ÔÚ
QPS 700/1000/1700 µÄË®×¼¡£
ÕâÀ¸öÈË´æÔÚ¼¸¸öÖÊÒÉ£º
¡°Ò»´ó²¿·ÖµÄǰÖüì²é¿ÉÒÔͨ¹ý»º´æÀ´½øÐС±£¬´ó²¿·Ö£¿¿ÉÊÇÖ»ÒªÓÐÒ»¸öǰÖüì²é²»ÄÜ»º´æ£¬¾Í±ØÐëÈ¥mixerÀïÃæÇëÇó
ûÓп´µ½ÈκιØÓÚquotaµÄ˵Ã÷¡£µ½µ×quatoÔõô°ì£¿Åä¶î°´ËµÊÇû·¨»º´æµÄ£¬·ñÔòÅä¶î¾Í²»×¼È·ÁË¡£¶øÒ»µ©ÐèÒªÖ´ÐÐÅä¶î¹ÜÀí£¬»¹ÊDZØÐë·¢ÆðÇëÇóµ½mixer
envoyÖÐÒªÖ´ÐÐǰÖüì²é£¬²»½ö½öÐèÒª»º´æÇ°Öüì²éµÄ¸÷ÖÖÅäÖÃÐÅÏ¢£¬Ò²±ØÐëÒªÇóenvoyÓÐÖ´ÐÐǰÖüì²éµÄÄÜÁ¦£¬¼´ÔÀ´ÔÚmixerÖÐʵÏÖǰÖüì²éµÄËùÓÐÂß¼´úÂë±ØÐëÔÚenvoyÀïÃæÔÙʵÏÖÒ»´Î¡£
ÆäÖеĵÚÈýÌõ£¬»á´øÀ´Ò»¸öã£ÂÛ£º
Èç¹ûenvoyûÓаÑËùÓеÄǰÖüì²éµÄ´úÂëÂß¼¶¼ÊµÏÖÒ»±é£¬ÄÇô×ß»º´æ¾Í»áÔì³ÉÖ´Ðнá¹ûºÍ×ßmixer²»Ò»Ö£¬Õâ²»ÊÇÒ»¸öÑϽ÷µÄ×ö·¨£»
Èç¹ûenvoy×öµÄ×ã¹»ÑϽ÷£¬±£Ö¤ÁËenvoyµÄǰÖüì²é¿ÉÒÔ100%¸²¸ÇmixerÀïÃæµÄʵÏÖ£¬ÄǺοàÔÙ±£ÁômixerµÄǰÖüì²éÂß¼£¬È¥µô¾ÍºÃÁË£¬·ñÔòά³Öͬһ¸ö´úÂëÂß¼µÄÁ½Ì×ʵÏÖ°æ±¾
TBD: Õ⼸¸öÒÉÎÊÃ²ËÆÎó½â£¬Ö»ÄÜÈ¥·´úÂëÁË¡£ÉÔºó¸üÐÂÕâ¿éÄÚÈÝ¡£
ÁíÒ»¸öÑ¡Ôñ
IstioµÄÑ¡Ôñ³ö·¢µã£¬ÎÒÀí½âÊÇÈÃdata plane±£³Ö¼òµ¥£¬¾¡¿ÉÄܽ«ÆäËü¹¦ÄÜÒÆ³öÀ´¡£È»¶øÓöµ½ÐÔÄÜÎÊÌ⣬ÖÕ¾¿»¹ÊÇÒª×öÍ×У¬±ÈÈçcacheµÄ³öÏÖ¡£
Èç¹ûÎÒÃÇ·ÅÆúproxy×î¼ò»¯µÄÏë·¨£¬²»ÔÙ½«ÏµÍ³¼Ü¹¹ÓÅÃÀ·ÅÔÚµÚһ룬¶øÊǽ«ÐÔÄÜ·ÅÔÚÊ×룬ÄÇô£¬ÎÒÃǾͿÉÒÔÓÐÁíÍâÒ»ÖÖÑ¡Ôñ¡£
ÎÒÃÇÔÙ´ÎÉóÊÓmixerµÄÈý´ó¹¦ÄÜ£º
ǰÖÃÌõ¼þ¼ì²é¡£Õâ¸öÊDZØÐëÔÚÇëÇóµÄtraffi´¦ÀíÁ÷³ÌÖÐÍê³ÉµÄ£¬ÒòΪtraffic±ØÐëµÈ´ý¼ì²é½á¹ûÀ´¾ö¶¨ÏÂÒ»²½µÄÐÐΪ£¬ÊǾܾøÇëÇó»¹ÊǼÌÐø×ª·¢£¬±ØÐëÓÐÃ÷È·´ð°¸¡£
Åä¶î¹ÜÀí¡£ ͬÉÏ£¬±ØÐëͬ²½µÈ´ý½á¹û²ÅÄܼÌÐø¡£
Ò£²â±¨¸æ¡£Õâ¸ö¿ÉÒÔÓÅ»¯£¬Á½¸ö·½Ê½£¬¿ÉÒÔÒì²½Ìá½»£¬¿ÉÒÔÅúÁ¿Ìá½»£¬µ±Ê±Êµ¼Ê´úÂëʵÏÖʱ»áÑ¡ÔñÒì²½£«ÅúÁ¿¡£
Òò´Ë£¬ÓÅ»¯µÄ·½ÏòºÜÃ÷ÏÔ£¬Ç°ÖÃÌõ¼þ¼ì²éºÍÅä¶î¹ÜÀí¶¼ÊÇͬ²½²Ù×÷£¬Ó¦¸ÃÒÆ»Øproxy¡£Ò£²â¿ÉÒÔͨ¹ýÒì²½£«ÅúÁ¿µÄ·½Ê½¼õÉÙ¶ÔmixerÇëÇóµÄÊýÁ¿¼¶À´½øÐÐÓÅ»¯¡£
µ«ÊÇ£¬¶ÔÓÚÒ£²â±¨¸æ£¬»¹ÓÐÒ»¸öÖØÒªµÄ¿¼Á¿µã£ºÒ£²â±¨¸æÉæ¼°µ½ÈÕÖ¾µÈÊý¾ÝÌá½»£¬Èç¹û¶¼¼¯ÖÐʽµÄÏÈÐÐÌá½»¸ømixer£¬È»ºómixerÔÙÁ¬½Óºó¶Ë»ù´¡ÉèÊ©£¬ÔòÊý¾ÝÁ¿£¨ÓÈÆäÅúÁ¿Ö®ºó£©»á¼¯ÖÐÔÚmixerÕâ¸öµ¥µã¡£Òò´Ë£¬´ÓÐÔÄÜ¿¼ÂÇ£¬Ò£²â±¨¸æ×îºÃÒ²ÊÇproxyÖ±½ÓÌá½»ºÏÊÊ¡£
°´ÕÕÕâ¸ö˼·£¬mixer¼¸ºõ±»È«²¿ºÏ²¢»Øproxy¡£IstioµÄ¼Ü¹¹ÐèÒª×ö¾Þ´óµÄµ÷Õû£ºcontrol
planeÖ»ÁôÏÂPilotºÍAuth£¬ÔÚenvoyÖÐÖØÐÂʵÏÖÒ»·Ýmixer¡£
ÎÒ²»ÖªµÀIstio»á²»»áÓÐÕâô´óµÄ¾öÐÄ¡£
È»¶ø£¬¿ìÒ»ÄêÁË£¬istioµÄÐÔÄÜʼÖÕÅÇ»²ÔÚÒ»¸öµÍµÄÀëÆ×µÄµØ²½£¬×ܸÃÕÒµ½Ä³ÖÖ·½Ê½À´½â¾öÎÊÌ⣬¶Ô°É£¿
ConduitµÄÑ¡Ôñ
×÷Ϊlinkerd²ÒÔâistio×è»÷Ö®ºóµÄ¾øµØ·´»÷£¬conduit´Ó³öÉú¿ªÊ¼¾Í´øÓб¯¾çÉ«²Ê£¬Ç¿´óµÄ¶ÔÊÖ£¬Ð¡Ð¡µÄÍŶӣ¬²»·Å̾͵ÈËÀµÄ´¦¾³¡£
ÕâÖÖÇé¿öϵÄconduit£¬Ôڼܹ¹ÉÏÑ¡ÔñÁËÖ±½ÓÎüÊÕistioµÄÓŵ㣬Òò´Ë£¬istioÌá³öµÄ¿ØÖÆÃæ°åconduit¼¸ºõÕÕÑùÀ´ÁËÒ»·Ý¡£Ò²Òò´Ë£¬istio
mixerÓöµ½µÄÎÊÌ⣬conduitҲû¶ã¹ý¡£´ÓÕâ¸ö½Ç¶È˵£¬istio°Ñ×Ô¼ººÍconduit¶¼´ø½ø¿ÓÁË¡£
±¾ÖÜ£¬´ø×ÅÇ°ÃæµÄÒÉÎʺ͵£ÓÇ£¬ÅÜÈ¥conduitµÄslackÉÏ£¬¼òµ¥×öÁËһϽ»Á÷¡£µÃµ½µÄ´ð¸´ÈçÏ£º
kl [1:49 AM] @Sky Ao/°½Ð¡½£ thanks for the suggestions!
totally agree that the policy stuff should be pushed
out asynchronously. and in 0.4.0 we moved telemetry
to a setup where prometheus scrapes stat data directly
from the proxies themselves, separate from the request
path, and no longer reliant on the controller
william [4:03 AM] @Sky Ao/°½Ð¡½£ we¡¯re looking at ways
to push policy into the proxies, rather than polling
the controller per requet (and caching). but it¡¯s
still early. like Kevin says, telemetry is no longer
pushed from the proxy in 0.4.0 already
Ò²¾ÍÊÇ£º
ÔÚз¢²¼µÄ0.4.0°æ±¾ÖУ¬Ò£²â±¨¸æÒѾ´Ó¿ØÖÆÆ½ÃæÒƳö£¬ÏÖÔÚÊÇ´ÓproxyÖ±½Ó×ß
δÀ´½«»á¼ÌÐø½«policyµÄ²¿·ÖÒÆµ½proxyÖУ¨Ö»ÊÇÏÖÔÚ»¹Ã»Óж¯£©
¿ÉÒÔ˵£¬conduitÒѾÒâʶµ½¿ÓµÄ´æÔÚÁË£¬ÏÖÔÚÒ»ÌõÍÈÒѾ°Î³öÀ´£¬ÁíÍâÒ»ÌõÍÈÒª°Î³öÀ´µÄ»°»¹ÐèÒªÒ»µãʱ¼ä¡£
ÆÄ¸ÐÐÀο¡£
ÆäËüÈ˵ÄÑ¡Ôñ
ºÜÔç֮ǰ£¬ºÍ°×ÒÂͬѧÉîÈëÌÖÂÛÕâ¸ö»°Ì⣬µ±Ê±°×Ò¾ͶÔmixerµÄ×ö·¨ÓÐÒìÒ飬ÒòΪÐÔÄÜÎÊÌâÊÇÃ÷°Ú×ŵġ£Î¨Æ·»áµÄOSP¿ò¼Ü£¬Ñ¡ÔñµÄÊǽ«¹¦Äܶ¼ÔÚproxyÖÐÍê³É£¬ÐÔÄÜ»¹ÊÇÓÐ×ã¹»µÄ±£ÕÏ¡£
½üÈÕÔÚȺÄÚÌÖÂÛʱ£¬Á˽⵽»ªÎªµÄÐÖµÜÃÇ´ÓÒ»¿ªÊ¼¾ÍÈÆ¿ªÁËÕâ¸ö¿Ó£¬Ö±½ÓÔÚproxyÖÐʵÏÖ¹¦ÄÜ¡£
¸üУºÁªÏµµ½ÐÂÀË΢²©µÄͬѧ£¬È·ÈÏmotan meshµÄ×ö·¨Ò²ÊÇÖ±½Ó×ö½øÈ¥proxyµÄ¡£
×ܽá
ºÃ¶àÄêǰ£¬Ä³Î»Í¬Ñ§£¨ÒÀÏ¡Êǰ×Ò£©Ôø¾´ò¹ýÒ»¸ö±ÈÓ÷£¬·Ç³£Éú¶¯£¬´óÒâÈçÏ£º
¼Ü¹¹Ê¦¾ÍÊÇÒÕÊõ¼Ò£¬¾«Ðĵñ¿ÌÁËÒ»¸ö¾«ÃÀ¾øÂ׵Ļ¨Æ¿£¬È»ºó£¬ÎªÁËijЩ¿¼ÂÇ£¬ÓÖ²»µÃ²»ÔÚ»¨Æ¿µÄµ×ϵæÁËÒ»¿é°åש
Service MeshÖÐÊý¾ÝÆ½ÃæºÍ¿ØÖÆÆ½ÃæµÄ¹ØÏµ£¬µ½Á˸ÃÖØÐÂÈÏÕæÉóÊӺͷ´Ë¼µÄʱºòÁË£º»¨Æ¿ËäÃÀ£¬µ«ÊÇÄÇ¿é°åש£¬ÊDz»ÊǸÿ¼ÂǵæÉÏÈ¥ÁË
:)
δÀ´µÄÒ»¶Îʱ¼ä£¬ÎÒÃDz»·Á¹Ø×¢istioºÍconduit¶Ô´ËµÄÑ¡Ôñ¡£
ÄÔ¶´Ê±¼ä
×îºó£¬ÄÔ¶´Ò»Ï£ºÈç¹ûÓÃgoÖØÐ´proxy£¬Ìæ´úenvoy£¬ÄÇômixerÀïÃæµÄ¹¦ÄÜÒª°á¹ýÀ´¾ÍÊÇÇáËÉ×ÔÈç¡£
×öÕâ¸öÊÂÇéµÄǰÌá: ÊÇÄÜÌṩһ¸ögo°æ±¾µÄproxy£¬×öµ½×ã¹»ºÃ£¬ÒÔ±ãÌæ´úenvoyµÄλÖá£
¸Ð̾һÏ£ºÈç¹ûµ±Äêenvoy²»ÊÇÓÃc++£¬¶øÊÇÓÃgo£¬ÊÂÇé¾ÍÍêÈ«²»Ò»ÑùÁË¡£È»ºó£¬conduitµÄproxyÊÇrustдµÄ£¬rustÓÃÀ´ÊµÏÖproxyµ¹ÊÇÉñÆ÷£¬µ«ÊÇÓÃÀ´Ð´¸÷ÖÖadapter£¬Ïë±ØÒ²ÎªÄÑ¡£Ò²Ðí£¬Î´À´ÎÒÃÇ»á¼ûµ½Ò»¸ö´¿go°æ±¾µÄservice
mesh£¿ |