±à¼ÍƼö: |
±¾ÎÄÒÔÔËÓªÉÌBSSÕËÎñÖÐÐÄϵͳµÄÔÆÔÉú΢·þÎñ¼Ü¹¹ÑݽøÊµÀý£¬·ÖÏíÔÆÔÉú¼Ü¹¹Â䵨¹ý³ÌÓöµ½µÄÀ§ÄѼ°Æä³É¹û
¡£
±¾ÎÄÀ´×ÔÓÚ¹«Öںţº
ºÆ¾¨¿Æ¼¼
£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼¡¢ÍƼö¡£ |
|
µ¼¶Á£º
°éËæÔÆ¼ÆËãµÄ¹ö¹öÀ˳±£¬ÔÆÔÉú(CloudNative)µÄ¸ÅÄîÓ¦Ô˶øÉú¡£½üÄêÀ´£¬ÔÚÆóÒµÊý×Ö»¯×ªÐͽø³Ì²»¶ÏÌáËÙ±³¾°Ï£¬ÔÆÔÉú¼¼Êõ·ÉËÙ·¢Õ¹£¬ÒÑÔÚÖÚ¶àÐÐÒµºÍÁìÓò¶¼ÓÐÁËÐí¶à³É¹¦Â䵨°¸Àý£¬ÒÔkubernetes¡¢Î¢·þÎñ¡¢·þÎñÍø¸ñ¡¢serverless¡¢DevOpsΪ´ú±íµÄÔÆÔÉú¼¼ÊõÒÑ×ßÏò³ÉÊìºÍ¹ã·ºÓ¦Óã¬Ë³ÊƶøÎªÈ«ÃæÓµ±§ ¼´½«µ½À´µÄ ÔÆÔÉúʱ´ú¡£
01 ¹ÅÀϵÄtuxedoÖ®éä
Ê®¼¸Äêǰ£¬weblogic+tuxedoÊÇÔËÓªÉÌÕËÎñÖÐÐĵıê×¼¼¼Êõ¼Ü¹¹£¬tuxedo·þÎñ¿ò¼Ü×÷ΪºËÐĵķþÎñ¿ò¼Ü£¬³ÐÔØ×ÅÕËÎñÖÐÐĵĺËÐÄ·þÎñ¹¦ÄÜ£¬¼¼Êõ¼Ü¹¹ÈçÏ£º

Ëæ×ÅÔËÓªÉÌÒµÎñ²»¶Ï·¢Õ¹£¬ÌرðÊǾÀúÁË4G»¥ÁªÍøÊ±´úµÄ¸ßËÙ·¢Õ¹£¬µ½ÏÖÔÚ5GÎïÁªÍøÊ±´úµÄ¿ªÆô£¬ÀϾɵÄtuxedo·þÎñ¼Ü¹¹ÔçÒÑÄÑÒÔÂú×ãÒµÎñ·¢Õ¹µÄÒªÇó£¬Ö÷Òª´æÔÚÈçϱ׶ˣº
- ÓÐ״̬£¬²»Ö§³ÖÈÝÆ÷»¯²¿Ê𣬲¿Êð·±ËöÒ׳ö´í £ºÖ»ÄܲÉÓô«Í³È˹¤»ò½Å±¾µÄÉý¼¶²¿Êð·½Ê½£¬Éý¼¶¹ý³ÌÐèҪͣϵͳ£¬Ö»ÄÜһ̨Ö÷»úһ̨Ö÷»úµÄÉý¼¶£¬Éý¼¶¹ý³Ì·±ËöºÄʱ£¬ÈÝÒ׳ö´í¡£
- ÎÞ·¨Ë®Æ½À©Õ¹£¬¿É¿¿ÐԲϵͳÀ©ÈÝÀ§ÄÑ £ºÔö¼ÓÖ÷»úÐèÒªÈ˹¤²¿ÊðÓ¦Óã¬ÐÞ¸ÄÅäÖ㬲¢½«Õû¸öϵͳȫ²¿ÖØÆô¡£
- ϵͳñîºÏ¸ß£¬¿ÉÀ©Õ¹ÐÔ²î £ºÐÂÔö½»Ò×ÐèÒªÖØÐ±àÒ룬ÐÞ¸ÄÏà¹ØÇ°ºó¶ËÅäÖÃÎļþ£¬ÖØÐ²¿ÊðÓ¦Óã¬ÐèÈ«Á¿ÖØÆôtuxedoºÍweblogic·þÎñ¡£
- ȱÉÙ·þÎñ×ÔÖÎÄÜÁ¦£¬¿Éά»¤ÐÔ²î £ºÏµÍ³ÄÑÒÔά»¤£¬³öÏÖ¶ÓÁлýѹ£¬½ø³ÌÒì³£Í˳ö¡¢Ö÷»ú¹ÊÕϵÈÎÊÌ⣬ȱ·¦¸æ¾¯»úÖÆ£¬ÇÒÎÊÌⶨλºÍÅŲéÄѶȴ󣬹ÊÕϻָ´Ê±¼ä³¤¡£
- TuxedoºÍweblogic¾ùΪº£ÍâÉÌÓÃÈí¼þ£¬ÔÚ¹úÄÚºËÐļ¼ÊõÒª×ÔÖ÷µÄ´ó±³¾°Ï£¬È¥IOE¼°º£ÍâÉÌÓÃÈí¼þÒÑÉÏÉýµ½ÕþÖθ߶ȡ£
02 ΢·þÎñ¼Ü¹¹ÑݽøÖ®Â·
2012ÄêÒÔºó£¬Ëæ×ÅÒÆ¶¯»¥ÁªÍøµÄÐËÆð£¬Î¢·þÎñ˼Ïë¾ÍÓ¦Ô˶øÉú¡£2015Äê×óÓÒ¹úÄÚ´ó³§¿ªÊ¼½øÐÐÏîÄ¿Éý¼¶£¬×ªÕ½Î¢·þÎñ£¬2017Ä괫ͳÆóÒµÒ²·×·×̤ÉÏÁË΢·þÎñ¼Ü¹¹Éý¼¶Ö®Â·¡£ÔÚÕâÒ»Ä꣬ÎÒÃÇÒ²¿ªÊ¼ÁËÕËÎñÖÐÐÄ΢·þÎñ»¯ÑݽøÖ®Â·£¬×¼±¸Ò»´ÎÐÔ³¹µ×½â¾öµôtuxedoÕâ¸öÀúÊ·°ü¸¤£¬µ«Ó½ÓÎÒÃǵIJ¢·ÇÒ»·¬·ç˳¡£
ÕÊÎñÖÐÐÄdubbo»¯¸ÄÔìÖ®¿à
µ±Ê±Dubbo & Spring CloudÁ½´óÖ÷Á÷µÄ¿ªÔ´Î¢·þÎñ¿ò¼Ü¡£¼øÓÚDubboÏà¶ÔSpring Cloud¿ò¼ÜµÄ¼òµ¥ºÍÇáÁ¿ÐÍÒÔ¼°ÔÚÐÔÄÜÉϵÄÓÅÊÆ£¬ÎÒÃÇÑ¡ÔñÁËDubbo¿ò¼Ü£¬È»ºóÐËÖ²ª²ªµÄ¿ªÊ¼ÁË·þÎñDubbo»¯Ö®Â·¡£
ÕËÎñÖÐÐÄ·þÎñdubbo»¯¼¼Êõ¼Ü¹¹Í¼ÈçÏ£º

¾¹ý³¤´ïÒ»Äê°ëµÄ·þÎñdubbo»¯¸ÄÔìÖ®ºó£¬ÎÒÃDz»µÃ²»³ÐÈϵ±³õÑ¡ÔñÁËÒ»ÌõºÄ·ÑÈËÁ¦µÄÍ´¿à֮·£º
¿çÓïÑÔ¸ÄÔìÖ®¿à£º
Dubbo & Spring Cloud¶¼ÊôÓÚJAVA¼¼ÊõÕ»£¬¶ÔÓÚÍêȫʹÓÃC++¿ª·¢µÄtuxedo·þÎñ£¬¿çÓïÑÔÊÇÎÒÃÇÃæÁٵĵÚÒ»µÀ¿²¡£ÎÒÃÇÍ´¿àµÄÑ¡Ôñ½«tuxedo·þÎñʹÓÃJAVAÓïÑÔÖØÐ´£¬µ«×îÖÕ¹¤×÷Á¿¼°ÖØÐ´·çÏÕ£¬ÈÃÎÒÃÇÖ¹²½ÓÚ²éѯ¹¦ÄÜÖØÐ´£¬¶ø´ó²¿·ÖºËÐŦÄÜÈÔÈ»ÎÞ·¨°ÚÍÑTuxedo£¬Ö»ÄÜͨ¹ýRocketMQÀ´¾¡Á¿½«Í¬²½µ÷ÓøÄΪÒì²½µ÷ÓõÄC++Ïû·ÑÕß¡£
·þÎñÖÎÀíÖ®¿à£º
Dubbo·þÎñµÄÖÎÀíÄÜÁ¦·Ç³£Èõ£¬Ãæ¶Ô¿Í»§¶ÔÓÚ°²È«ÈÏÖ¤¡¢·þÎñÏÞÁ÷¡¢·þÎñÈÛ¶Ï¡¢»Ò¶È·¢²¼¡¢·þÎñÔÚÏß·¢²¼µÈÄÜÁ¦µÄÐèÇ󣬿ªÔ´µÄDubbo·þÎñ¿ò¼Ü¾ù²»Ö§³Ö£¬ÓÚÊÇÎÒÃÇÖ»ÄÜͨ¹ý¶ÔDubbo·þÎñµ÷Óõķº»¯½Ó¿ÚÔöÇ¿·â×°»òͨ¹ýDubbo¹ýÂËÆ÷À©Õ¹Ò»Ð©°²È«ÈÏÖ¤¡¢»Ò¶È·¢²¼¡¢·þÎñÏÞÁ÷µÈÍêÉÆÐÔ¹¦ÄÜ
ÐÔÄܵ÷ÓÅÖ®¿à£º
ÓÉÓÚ·þÎñ¿É¹Û²âÐÔ½ÏÈõ£¬È±ÉÙ·þÎñµ÷ÓÃÁ´£¬ÔÚÐÔÄÜѹ²âʱֻÄÜͨ¹ýÔʼµÄ²»¶ÏÔö¼ÓÐÔÄÜÏà¹ØÈÕÖ¾µÄ·½Ê½£¬ÐÔÄÜÎÊÌⶨλºÍµ÷ÓŹ¤×÷ЧÂʼ«µÍ£¬ÀàËÆÏ̳߳شóС¼°Êý¾Ý¿âÁ¬½Ó³Ø²ÎÊý²»ºÏÀíµ¼ÖµĻñÈ¡Á¬½Ó³¬Ê±£¬ÒÔ¼°SQL²¢·¢Ö´Ðеij¬Ê±µÈÒì³£³¬Ê±Çé¿ö£¬ÔÚÉÏÏߺó¾¹ýÁË2¸öÔµÄÍ´¿àÖÜÆÚ²Å½«dubbo·þÎñÐÔÄܽ¥½¥µ÷ÓÅÎȶ¨¡£
´«Í³Î¢·þÎñ¿ò¼ÜDubbo & Spring CloudµÄ¾ÖÏÞ

¿çÓïÑÔÎÊÌ⣺¾ùÊôÓÚJAVA¼¼ÊõÕ»£¬²»Ö§³ÖÆäËûÓïÑÔµÄRPCµ÷Ó᣶ÔÓÚʹÓÃÆäËûÓïÑÔ(ÈçC++)¿ª·¢µÄÓ¦ÓøÄÔìΪ΢·þÎñ¼Ü¹¹ÎÞ·¨Ê¹Óã¬Ö»ÄÜ¿¼ÂÇÖØÐ´¡£ Ó¦ÓÃñîºÏ¸ß£º»ùÓÚ×¢²áÖÐÐÄʵÏÖ·þÎñ¶¯Ì¬·¢ÏÖ£¬¸÷×ÔÓÐ×Ô¼ºµÄÓ¦Óü¼Êõ¿ò¼Ü£¬ÒµÎñÓ¦ÓÃÓë¿ò¼ÜÉî¶È°ó¶¨£¬Ç¿ñîºÏ¡£Ó¦ÓÃÐèÒª½øÐпò¼Ü¸ÄÔ죬²¢ÇÒÐèÒªÅäÌ×Ïà¹Ø×é¼þ¼°ÅäÖᣠ·þÎñÖÎÀíÄÜÁ¦Èõ£ºdubbo·þÎñÖÎÀíÄÜÁ¦×îÈõ£¬±¾ÖÊÉÏÖ»ÄÜËãÒ»¸ö·Ö²¼Ê½RPC¿ò¼Ü£¬Ö»Óлù´¡µÄ·þÎñ·¢ÏÖ£¬ÏÞÁ÷¡¢ÈÛ¶Ï¡¢»Ò¶È·¢²¼¡¢ÖÇÄÜ·ÓÉ¡¢×·×ÙµÈ΢·þÎñ¿ò¼ÜÄÜÁ¦¾ùÐèÒª×ÔÐж¨ÖÆÍêÉÆ¡£ ȱÉÙ²¿ÊðÓëÔËάÄÜÁ¦£ºspring cloudµÄ·þÎñÖÎÀíÄÜÁ¦ÐèҪͨ¹ý¼¯³É¸÷ÖÖÅäÌ××é¼þʵÏÖ£¬²¢ÇÒҲȱÉÙ»Ò¶È·¢²¼¡¢·þÎñµ÷¶È¡¢¹ÊÕÏ×ÔÓú¡¢µ¯ÐÔÉìËõÕâЩÔËάÄÜÁ¦¡£
ÐÂÒ»´ú΢·þÎñ¼Ü¹¹Istio & Grpc
Ëæ×ÅÈÝÆ÷»¯¼¼ÊõµÄÆÕ¼°£¬kubernetesÉú̬µÄ²»¶ÏÍêÉÆ£¬»ùÓÚkubernetesµÄ΢·þÎñ¼Ü¹¹Ò²Ó¦Ô˶øÉú¡£ÔÚ¾ÀúÁËÕËÎñÖÐÐÄ·þÎñdubbo»¯µÄÍ´¿àÖ®ºó£¬ÎÒÃÇÒ²ÖÕÓÚÕÒµ½ÁËеijö·£¬¼´»ùÓÚk8sµÄIstio & Grpc¡£
·þÎñÍø¸ñService MeshµÄÉè¼ÆÀíÄî
Ê×ÏÈ£¬ÎüÒýÎÒÃǵÄÊÇ·þÎñÍø¸ñµÄÉè¼ÆÀíÄService MeshÊÇÔÚÍøÂç²ãTCP/IPÉϽ¨Á¢µÄÒ»¸öÖмä²ã£¬½Ó¹Ü·þÎñÖ®¼äµÄͨÐÅÁ÷Á¿£¬½«Î¢·þÎñÖÎÀíÄÜÁ¦Ï³Á£¬´Ó¶øÊµÏÖ¶ÔÉϲã Ó¦ÓÃ͸Ã÷¡¢²»ÏÞÖÆÓïÑÔ¡¢ÎÞÇÖÈë µÄÏíÊÜ΢·þÎñÄÜÁ¦¡£Õâ²»ÕýºÃ½â¾öÁËÎÒÃǾÀúµÄ·þÎñDubbo»¯µÄÍ´µãÎÊÌâÂð£¿
ͨ¹ýÔÚÓ¦Ó÷þÎñÅÔ±ß×¢ÈëÒ»¸öSideCar´úÀí£¬ÊµÏÖ¶Ô·þÎñÍøÂçÁ÷Á¿µÄÀ¹½Ø¡£½«·þÎñÖ®¼äµÄͨѶÍêÈ«½»¸øÓÉSideCar´úÀí×é³ÉµÄ·þÎñͨÐÅÍøÂ磬½«Î¢·þÎñµÈÄÜÁ¦¾ùϳÁµ½Sidecar´úÀíÖÐʵÏÖ£¬´Ó¶ø¶ÔÓ¦ÓÃ͸Ã÷ÎÞÇÖÈë¡£

·þÎñÍø¸ñIstio¼Ü¹¹
ÓÉÓÚkubernetesÓëIstioµÄÌìÔ´»¥²¹£¬IsitoÊÇCNCFÔÆÔÉú»ù½ð»áÊ×ÍÆµÄÔÆÔÉú΢·þÎñ¼Ü¹¹£¬¾¹ý¼¸ÄêµÄ·¢Õ¹£¬IstioÒѳÉΪ·þÎñÍø¸ñÖÚ¶àʵÏÖ·½°¸Öе±Ö®ÎÞÀ¢µÄ×î¼Ñ¿ªÔ´Êµ¼ù£¬³ÉΪ´ó¼ÒÔÚ·þÎñÍø¸ñ¼¼ÊõÑ¡ÐÍʱµÄĬÈÏÑ¡Ïî¡£

IstioÖ÷Òª¹¦ÄÜÌØÐÔ£º
Á¿¹ÜÀí£ºÎªHTTP¡¢gRPC¡¢TCPµÈÁ÷Á¿Â·ÓɺͿØÖÆ£¬×îа汾ÒÑÖ§³ÖDubboÐÒé¡£
¶¯Ì¬Â·ÓÉ£ºÍ¨¹ý·á¸»µÄ·ÓɹæÔò¡¢ÖØÊÔ¡¢¹ÊÕÏ×ªÒÆºÍ¹ÊÕÏ×¢Èë¶ÔÁ÷Á¿ÐÐΪ½øÐÐϸÁ£¶È¿ØÖÆ¡£
¿ØÖƲßÂÔ£º¿É²å°ÎµÄ²ßÂÔ²ãºÍÅäÖÃAPI£¬Ö§³Ö·ÃÎÊ¿ØÖÆ¡¢ËÙÂÊÏÞÖÆºÍÅä¶î¡£
¿É¹Û²ìÐÔ£º·þÎñ¼äÁ÷Á¿µÄ×Ô¶¯»¯¶ÈÁ¿¡¢ÈÕÖ¾¼Ç¼ºÍ×·×Ù¡£
°²È«£º»ùÓÚÉí·ÝÑéÖ¤ºÍÊÚȨµÄ£¬ÊµÏÖ°²È«µÄ·þÎñ¼äͨÐÅ¡£
Kubernetes+istioµÄÖ÷ÒªÓÅÊÆ£º
Ó¦ÓÃÎÞÇÖÈ룺·þÎñÍø¸ñ¶ÀÁ¢²¿ÊðÅäÖ㬶ÔÓ¦ÓóÌÐò͸Ã÷ÎÞ¸ÐÖª¡¢³ÌÐòÓïÑÔÎ޹ء¢RPC¿ò¼ÜÎ޹أ¬Ó¦ÓøÄÔìÁ¿¼«Ð¡¼´¿ÉʵÏÖ΢·þÎñ¼Ü¹¹¡£
IstioÓëk8sÌìÈ»Èںϣº·þÎñÖÎÀí¡¢¹Û²â¼°ÔËάƽ̨Ïà¹ØÄÜÁ¦Í걸£¬¿ªÏä¼´Óá£Dubbo¿ò¼Ü·þÎñÖÎÀíÄÜÁ¦Èõ£¬Spring CloudËäͨ¹ý¸÷ÖÖ×é¼þ²¹Æë·þÎñÖÎÀíÄÜÁ¦£¬ÔÚûÓÐk8sµÄ¼Ó³ÖÏ£¬ËüÃǶ¼È±ÉÙ²¿ÊðÓëÔËάµÄÄÜÁ¦£¬Òò´Ë¶¼ÐèҪʹÓÃdubbo/Spring CloudÓëk8sµÄÈںϷ½°¸¡£IstioÒ²¾Í³ÉΪDubbo¡¢Spring CloudÓëk8sÈںϵÄÇÅÁº¡£
03 ÕËÎñÖÐÐÄ΢·þÎñ»¯Êµ¼ù
¿çÓïÑÔ½â¾ö·½°¸
gRpcÊÇ¿ªÔ´µÄÇáÁ¿¼¶¿çÓïÑÔµÄRPC¿ò¼Ü£¬gRpcÊÇIstioµÄÍ·ºÅ¹«Ãñ¡£
1.ʹÓÃGrpcʵÏÖ¿çÓïÑÔµÄRPCµ÷Óã¬Í¨¹ý´î½¨µ×²ãC++µÄgrpc Server¹«¹²¿ò¼ÜÌæ´útuxedo·þÎñ£¬ÔÚtuxedo·þÎñÈë¿Ú×ögrpc·þÎñÊÊÅä¸ÄÔ죬¸´ÓÃÏÖÓеÄC++ÒµÎñºËÐÄ´úÂ룬´Ó¶ø½«Ó¦ÓõĸÄÔ칤×÷Á¿¿ØÖƵ½×îС¡£
2.ÒýÈëIstio·þÎñÍø¸ñ(service mesh)£¬¹¹½¨·þÎñͨÐÅÍøÂçÖмä²ã£¬ÓÉk8s+istioÀ´ÊµÏÖ΢·þÎñµÄ·þÎñ·¢ÏÖ¡¢¸ºÔؾùºâ¡¢·þÎñ·ÓÉ¡¢ÈÛ¶ÏÏÞÁ÷¡¢¼øÈ¨¡¢»Ò¶È·¢²¼µÈ΢·þÎñÄÜÁ¦¡£

»ùÓÚÒµÎñÖ¸±êµÄ¶¯Ì¬ÉìËõ
K8sÖм¸ÖÖµäÐ͵Ķ¯Ì¬ÉìËõ»úÖÆ£º

1) »ùÓÚHPAµÄµ¯ÐÔÉìËõ K8s ÔÉúµÄ HPAÖ§³Ö»ùÓÚCPU¡¢MemoryµÄ×Ô¶¯À©ËõÈÝ¡£ ÀûÓÃPrometheus adapter¿É»ñÈ¡prometheus×Ô¶¨ÒåÖ¸±êÀ©Õ¹¡£ ͨ¹ýCronHPAÀ©Õ¹¶¨Ê±×Ô¶¯À©ËõÈÝ¡£
2) »ùÓÚKPAµÄµ¯ÐÔÉìËõ Knative Serving ×Ô¶¯À©ËõÈÝ£¨KPA£©£º»ùÓÚ·þÎñ²¢·¢ÇëÇóÖ¸±êµÄÃë¼¶À©ËõÈÝ£¨½öÖ§³ÖHTTP/GRPC£©£¬Ö§³ÖËõÈÝÖÁ0ºÍ´Ó0µ½1µÄÀäÆô¶¯ Knative eventing ×Ô¶¯À©ËõÈÝ£¨KPA£©£º»ùÓÚ·þÎñ²¢·¢ÇëÇóÖ¸±êµÄÃë¼¶À©ËõÈÝ£¬Ö§³Ö0-1µÄÀäÆô¶¯¡£

ÕËÎñÖÐÐĵĵ¯ÐÔÉìËõÓ¦Óó¡¾°£º 1) ÕËÎñHTTP&GRPC·þÎñ²ÉÓÃKPA£¬knativeµÄ¶¯Ì¬ÉìËõÓŵãÊǶÔÓÚÍ»·¢Á÷Á¿Äܹ»×öµ½Ãë¼¶ÉìËõ¡£HPAÉìËõÊÇ·ÖÖÓ¼¶£¬5·ÖÖÓµÄÎȶ¨ÆÚ£¬ÇÒprometheusµÄÀ©Õ¹ÒµÎñÖ¸±ê²É¼¯±¾Éí´æÔÚ30sÒÔÉÏÑÓ³Ù¡£ 2) ÒøÐнӿڡ¢DCC½Ó¿Ú¡¢Dubbo·þÎñÖ»ÄÜʹÓÃHPA+prometheus×Ô¶¨ÒåÖ¸±ê·½Ê½£¬¶øistioĬÈÏÄÚÖÃÁËjaeger+prometheus+grafanaµÈ·þÎñ¼à¿ØÓëÈÕÖ¾×·×ٵĿªÔ´×é¼þ£¬²¢Ä¬ÈϽøÐÐÁËjaegerÂñµã¡¢Éú³ÉÁËprometheusµÄ·þÎñÐÔÄܼ°½»Ò×Á¿µÈ·þÎñÖ¸±ê£¬Ö±½Ó¿ÉÓÃÓÚhpaÖУ¬ÎÞÐèÓ¦ÓÃÔÙ×öÈκÎÂñµãºÍÖ¸±ê²É¼¯µÄÊÊÅä¸ÄÔì¡£ 3) ¶¨Ê±ÈÎÎñ¡¢ÈÕÔÂÕËÈÎÎñ¡¢ÅúÁ¿ÈÎÎñÊʺϲÉÓö¨Ê±ÉìËõ£¬ÈçÏÂÕ˵ÄÈÎÎñ¿ÉÒÔÔÚÏÂÕËǰÀ©Õ¹Ö´ÐÐÆ÷ºÍÅúÁ¿´¦Àí·þÎñÊýÁ¿¡£

ȫϵͳ¡¢Î¢·þÎñÁ£¶ÈµÄ»Ò¶È·¢²¼
»ùÓÚNginxµÄ»Ò¶È·¢²¼£¬¾ÖÏÞÔÚ½ÓÈë²ã½øÐлҶÈ·ÓÉ£¬AB²¿ÊðģʽÀË·Ñ×ÊÔ´£¬»Ò¶ÈÁ£¶È´ó£¬²¢ÇÒ»ùÓÚÄÚÈݵĻҶȷ¢²¼ÒÀÀµ¶¨ÖƵÄlua²å¼þʵÏÖ¡£

³£¼ûweb»òÕßhttp½Ó¿ÚµÄ»Ò¶È·¢²¼ÊµÏÖ£¬Ö÷Ҫͨ¹ýǰ¶ËNginx·´Ïò´úÀíÖÐ×¢Èëlua²å¼þʵÏÖ»Ò¶È·ÓÉ£¬²»Äܵ¥¶ÀÕë¶Ôºó¶Ë·þÎñ£¨dubbo·þÎñ¡¢grpc·þÎñ£©µÄ»Ò¶È·¢²¼£¬Òò´Ëͨ¹ý²ÉÓÃABÁ½Ìײ¿Êðģʽ£¬»Ò¶È·¢²¼Á£¶È´ó£»ÁíÍ⣬ÓÉÓÚ¸÷ÀàÓ¦ÓýӿÚÐÒé¡¢web¶Ë²Î²îÒì´ó£¬×Ô¶¨Òålua²å¼þͨÓÃÐԽϲ
DubboºÍspring cloud¾ùÓи÷×ԵĻҶȷ¢²¼£¬Ó¦Óó¡¾°¾ÖÏÞÔÚ¸÷×ԵķþÎñ¿ò¼ÜÖУ¬Í¨ÓÃÐԲ¸÷×ÔÅäÖúÍʵÏÖ·½Ê½²îÒì´ó¡£
spring cloudÒÀÀµzuul»òcloudgatewayÍø¹ØÊµÏÖ»Ò¶È·ÓɲßÂÔ£¬¶ÔÓÚDubbo·þÎñͨ³£ÊÇÔÚ·þÎñÏû·Ñ¶ËʵÏÖ×Ô¶¨ÒåµÄ»Ò¶È·ÓɹæÔò¡£½«Dubbo»Ò¶È·¢²¼¡¢spring cloud»Ò¶È·¢²¼ÒÔ¼°Nginx»Ò¶È·¢²¼½áºÏÆðÀ´£¬¿ÉÒÔʵÏÖ·þÎñÁ£¶ÈµÄ»Ò¶È·¢²¼¡£µ«ÓÉÓÚËüÃǸ÷×ÔµÄʵÏÖ·½Ê½¸÷²»Ïàͬ£¬ÍùÍù»¹ÐèҪͳһ¶¨ÒåÒ»¸öͳһ»Ò¶È·¢²¼¹æÔòÅäÖúͲÙ×÷½çÃæÀ´ÆÁ±ÎÅäÖúͲÙ×÷ÉϲîÒ죬½µµÍÅäÖúͲÙ×÷¸´ÔÓ¶È£¬ÔöÇ¿Ò×ÓÃÐÔ¡£
IsioÔòͨ¹ýÆä¶¯Ì¬Â·ÓÉÄÜÁ¦ÊµÏÖ È«ÏµÍ³¡¢·þÎñÁ£¶È¡¢Í³Ò»·½Ê½¡¢Áé»î»Ò¶È²ßÂÔ µÄ»Ò¶È·¢²¼¡£Ó¦ÓÃÎÞÇÖÈ룬ÎÞÐè¶îÍâµÄ¿ª·¢£¬ÅäÖÃÒ²²ÉÓÃk8sµÄyamlÎļþ¶¨Ò壬ÅäÌ×helm¿ÉʵÏÖÒ»¼ü»Ò¶È·¢²¼£¬Ò»¼ü¹ö¶¯¸üС£

ÓªÒµWEB£º²ÉÓÃcookieÖеŤºÅ×÷Ϊ»Ò¶È¹æÔò½øÐзÓÉ£» ¼¯ÍÅOpenAPI£º²ÉÓÃhttp headerÖеÄÇþµÀIDºÍÓ¦ÓÃID×÷Ϊ»Ò¶È¹æÔò½øÐзÓÉ£» WS½Ó¿Ú£º²ÉÓÃÁ÷Á¿È¨ÖصĻҶȷ¢²¼£»ÒøÐнӿںÍDCC½Ó¿Ú·þÎñÒÑÎȶ¨ÎÞÐè»Ò¶È·¢²¼£» Dubbo&Grpc·þÎñ£º²ÉÓÃGrpc Header»òÕßDubbo contextÖеŤºÅ¡¢ÕË»§ID¡¢²âÊÔºÅÂë×÷Ϊ»Ò¶È¹æÔò½øÐзÓÉ£» Ò첽ʵʱÈÎÎñ£ºMQÏû·ÑÕß½ø³ÌÄÚ²¿µ÷ÓÃGrpc»òÕßDubbo·þÎñ£¬Ò²Í¨¹ýIstioʵÏÖ°´ÕÕ¹¤ºÅ¡¢ÕË»§ID¡¢²âÊÔºÅÂë×÷Ϊ»Ò¶È¹æÔò·ÓÉ¡£
ÁãÐÅÈÎÍøÂçµÄ·þÎñ°²È«
Ë«ÏòTLSÉí·ÝÑéÖ¤£º·þÎñÖ®¼äͨ¹ýsidecarÖ®¼äË«Ïò TLS ÎÕÊÖ£¬ÑéÖ¤·þÎñÆ÷Ö¤ÊéÖÐÌṩµÄ·þÎñÕÊ»§ÊÇ·ñÓÐȨÔËÐÐÄ¿±ê·þÎñ£¬ÎÞÐè¸ü¸ÄÓ¦ÓóÌÐò´úÂëºÍ»ù´¡¼Ü¹¹£¬Í¨¹ý¼òµ¥ÅäÖÃʵÏÖĬÈϵķþÎñ°²È«¡£

JWT+HTTPSµÄ½ÓÈëÉí·ÝÈÏÖ¤£ºÀûÓÃIstio»ùÓÚJWTµÄÉí·ÝÈÏÖ¤»úÖÆ£¬ÔÚIngressGateWayÈë¿ÚÍø¹Ø½øÐÐJWTÓÐЧÐÔµÄÑéÖ¤¡£ÊµÏÖÍⲿCRMͳһÃÅ»§½ÓÈëWEBµÄÉí·ÝÈÏÖ¤¡£

ͨ¹ýCRMͳһÃÅ»§µÇ¼ÈÏÖ¤·þÎñÉú³ÉJWTÇ©Ãû£¬ÔÚ·ÃÎÊÕËÎñweb½çÃæÊ±ÔÚheaderÖÐЯ´øJWT¡£ Authorization: Bearer <jwt token> ÀûÓÃIstio»ùÓÚJWTµÄÉí·ÝÈÏÖ¤»úÖÆ£¬ÔÚIngressGateWayÈë¿ÚÍø¹Ø½øÐÐJWTÓÐЧÐÔµÄÑéÖ¤£¬Í¨¹ýÑéÖ¤·½¿É·ÃÎÊÕËÎñweb¡£ ͳһÃÅ»§Óëingressgateway£¬ingressgatewayÓëÕËÎñweb·þÎñÖ®¼ä¾ù²ÉÓÃtlsÐÒé¼ÓÃÜ´«Ê䣬·ÀÖ¹JWTй¶¡£
04 ½áÓï
ÔÆÔÉúµÄ΢·þÎñ¼Ü¹¹k8s+istio+grpc£¬Æ¾½èÆäÓ¦ÓÃÎÞÇÖÈë¡¢ÓïÑÔÎ޹ء¢¿ò¼ÜÎ޹أ¨¼æÈÝdubbo£©¡¢·þÎñÖÎÀíÄÜÁ¦Í걸¡¢¿ªÏä¼´Óá¢Óëk8sÌìÈ»Èںϻ¥²¹µÈ¶ÀÌØÓÅÊÆ£¬ÌṩÁËÒ»¸öÆÕÊʶȹ㡢ӦÓøÄÔì³É±¾Ð¡¡¢·çÏÕ×îµÍ¡¢·þÎñÖÎÀí¹¦ÄÜÍ걸£¬²¢³ä·ÖÀûÓÃÁËk8sÔÉú²¿ÊðºÍÔËάÄÜÁ¦µÄ½â¾ö·½°¸¡£ÎÒÃǵÄÕËÎñÖÐÐÄ΢·þÎñ»¯Ö®Â·×îÖÕҲͨ¹ý¸Ã½â¾ö·½°¸£¬×îÖÕ´Ódubbo»¯¸ÄÔìµÄÄà̶ÖеÃÒÔ½âÍÑ£¬Ò²ÈÃÎÒÃdzÉÎªÔÆÔÉú¼¼ÊõµÄÈÈÖÔ×·ËæÕߣ¬Ë³ÊƶøÎªÈ«ÃæÓµ±§ÔÆÔÉúʱ´ú°É£¡
|