|
ÔÚÕâÆªÎÄÕÂÀ ÎҼƻ®º¸Ç΢·þÎñ¼Ü¹¹£¨MSA£©µÄºËÐļܹ¹¸ÅÄÒÔ¼°ÄãÈçºÎÔÚʵ¼ùÖÐʹÓÃÕâЩ¼Ü¹¹ÀíÂÛ¡£
Èç½ñ£¬Î¢·þÎñ¡°microservice¡±ÒѾ³ÉΪÈí¼þ¼Ü¹¹ÁìÓò×îÁ÷ÐеÄÈÈ´ÊÖ®Ò»¡£ÊÐÃæÉÏÒ²ÓкܶàÓë΢·þÎñµÄ»ù´¡ÖªÊ¶ÒÔ¼°ÓŵãÏà¹ØµÄѧϰ×ÊÁÏ£¬µ«ÊǹØÓÚÈçºÎÔÚÕæÊµµÄÆóÒµ³¡¾°ÖÐÓ¦ÓÃ΢·þÎñµÄ×ÊÁÏ»¹ÊDz»¶à¡£
ÔÚÕâÆªÎÄÕÂÀ ÎҼƻ®º¸Ç΢·þÎñ¼Ü¹¹£¨MSA£©µÄºËÐļܹ¹¸ÅÄÒÔ¼°ÄãÈçºÎÔÚʵ¼ùÖÐʹÓÃÕâЩ¼Ü¹¹ÀíÂÛ¡£
µ¥Ìå¼Ü¹¹
ÆóÒµÈí¼þÉè¼ÆÐèÒªÂú×ã¶àÖÖ¶àÑùµÄÒµÎñÐèÇó¡£Òò´Ë£¬Ò»¸öÌØ¶¨µÄÓ¦ÓÃÈí¼þ»á°üÀ¨Óм¸°Ù¸ö¹¦ÄÜÏ¶øËùÓÐÕâЩ¹¦ÄÜÏî¶¼´ò°ü½øÁËÒ»¸öµ¥ÌåµÄÓ¦ÓÃÖС£µäÐ͵ÄÀý×ÓÓУ¬ERP,
CRMµÈÆäËû¸÷ÖÖ¸÷ÑùµÄÈí¼þ¡£¶ÔÓÚÕâÖÖÒ°ÊÞ¼¶±ðµÄÈí¼þÓ¦Ó㬲¿Êð£¬ÅÅ´í£¬ À©Õ¹ºÍÉý¼¶¹¤×÷¶¼ÊÇÒ»¸ö¸öجÃΡ£
ÃæÏò·þÎñ¼Ü¹¹£¨SOA) Éè¼ÆÊÇÕë¶ÔÉÏÊöÎÊÌâµÄÒ»¸ö½â¾ö·½°¸£¬ SOAÒýÈëÁË·þÎñµÄ¸ÅÄÓÃÀ´½«Èí¼þÖÐÏàËÆµÄ¹¦ÄܽøÐзÖ×é¾ÛºÏÔÚÒ»Æð¡£Òò´Ë£¬ÓÐÁËSOA£¬Èí¼þ¾Í±»Éè¼ÆÎªÒ»×é´ÖÁ£¶È·þÎñµÄ×éºÏ¡£
µ«ÊÇSOA²¢Ã»Óнâ¾öËùÓеÄÎÊÌâ¡£ÔÚSOAÀһ¸ö·þÎñµÄ·¶Î§ÊǷdz£¹ãµÄ¡£ÓÉ´Ë´øÀ´µÄ±×¶ËÊÇ·þÎñ±¾ÉíÅÓ´ó¶ø¸´ÔÓ£¬ÊýÊ®¸ö¹¦Äܵ㣬ÒÔ¼°¸´ÔÓµÄÏûÏ¢¸ñʽºÍ±ê×¼£¨ÀýÈçËùÓеÄWS*¹æ·¶£©

ͼ1 µ¥Ìå¼Ü¹¹
ÔÚ´ó¶àÊýÇé¿öÏ£¬SOAÀïÃæµÄ·þÊÇ»¥Ïà¶ÀÁ¢µÄ£¬¶øÇÒÊÇÓëÆäËûËùÓеķþÎñ²¿ÊðÔÚͬһ¸öÔËÐÐʱÉÏÃæ¡££¨¿ÉÒÔÏëÏóһ϶à¸öwebÓ¦Óò¿Êðµ½Í¬Ò»¸ötomcatʵÀýµ±ÖУ©¡£
¶øÇÒÓëµ¥ÌåÈí¼þÀàËÆ£¬ÕâЩ·þÎñ»áËæÊ±¼äÔ½³¤Ô½´ó£¬ÒòΪÀۼӵŦÄÜÔ½À´Ô½¶à¡£×îºó£¬ÕâЩӦÓñ¾ÉíÒѱä³ÉÁ˵¥ÌåÈí¼þ£¬Ó봫ͳµÄµ¥ÌåÈí¼þ£¨±ÈÈçERP)ҲûɶÁ½Ñù¡£Í¼1ÃèÊöÁËÒ»¸öÁãÊÛÒµµÄÈí¼þ£¬Ëü°üº¬Óжà¸ö·þÎñ£¬ËùÓÐÕâЩ·þÎñ¶¼²¿ÊðÔÚͬһ¸öÔËÐÐʱÉÏ¡£
ÕâÊÇÒ»¸öºÜºÃµÄµ¥Ìå¼Ü¹¹µÄÀý×Ó¡£ÕâÀïÎÒÁгöÕâÖÖ»ùÓÚµ¥Ìå¼Ü¹¹Èí¼þµÄÒ»Ð©ÌØµã£º
µ¥¶ÀÓ¦ÓÃÊÇ×÷Ϊһ¸öÕûÌåµ¥ÔªÀ´Éè¼Æ£¬¿ª·¢£¬²¿ÊðµÄ
µ¥ÌåÓ¦Ó÷dz£¸´ÔÓ£¬µ¼ÖµĽá¹û¾ÍÊÇά»¤£¬Éý¼¶ºÍÔö¼Óй¦Äܶ¼·Ç³£À§ÄÑ
ÔÚµ¥Ìå¼Ü¹¹Ï£¬·Ç³£ÄÑʵ¼ùÃô½ÝµÄ¿ª·¢ºÍ²¿Êð·½·¨
Èç¹ûÒª¸üÐÂËüµÄij¸ö²¿Êð£¬ÔòÐèÒªÖØÐ²¿ÊðÕû¸öÓ¦ÓÃ
À©Õ¹£º±ØÐë×÷Ϊµ¥¸öÈí¼þÀ´À©Õ¹£¬µ±ÓÐ×ÊÔ´ÐèÇó³åͻʱÀ©Õ¹¾Í±äµÃ·Ç³£À§ÄÑ£¨±ÈÈç Ò»¸ö·þÎñÐèÒª¸ü¶àµÄCPUµ«ÊÇÆäËûµÄ·þÎñÒª¸ü¶àÄڴ棩
¿É¿¿ÐÔ£ºÒ»¸ö²»Îȶ¨µÄ·þÎñ¿ÉÄܻᵼÖÂÕû¸öÓ¦Óò»¿ÉÓÃ
×è°´´Ð£º ÓÉÓÚËùÓеŦÄܶ¼»ùÓÚͬһÌ×¼¼Êõ¿ò¼ÜÀ´¹»¹¹½¨£¬Ïë¼ÓÈëеļ¼Êõ»òÕß¿ò¼Ü¾Í·Ç³£À§ÄÑ
΢·þÎñ¼Ü¹¹
΢·þÎñ¼Ü¹¹µÄ»ù´¡ÊÇ¿ª·¢Ò»¸öÓ¦ÓÃÓÉÒ»×éСµ«ÊǶÀÁ¢µÄ·þÎñÀ´×é³É£¬ÕâЩ·þÎñÔËÐÐÔÚ×Ô¼ºµÄ½ø³ÌÖУ¬¿ÉÒÔ±»¶ÀÁ¢¿ª·¢£¬¶ÀÁ¢²¿Êð¡£
ÔÚ´ó¶àÊýµÄ΢·þÎñ¼Ü¹¹µÄ¶¨ÒåÀÕâ±»½âÊÍΪ½«Ò»¸öµ¥ÌåÓ¦ÓÃÀïÃæµÄ·þÎñ²ð·ÖΪһ×é¶ÀÁ¢µÄ·þÎñ¡£µ«ÊÇ£¬ÎÒ¾õµÃ£¬Õâ²»ÊÇ΢·þÎñµÄÈ«²¿¡£
ºËÐĵĹ۵ãÊÇͨ¹ý²é¿´µ¥Ìå·þÎñÌṩµÄ¹¦ÄÜÏîÄ¿£¬À´Ê¶±ð³ö±ØÐëµÄÒµÎñÄÜÁ¦¡£È»ºóÕâЩҵÎñÄÜÁ¦¿ÉÒÔ×÷Ϊһ¸öÍêÈ«¶ÀÁ¢µÄ£¬Ï¸Á£¶ÈµÄ£¬×Ô°üº¬µÄ·þÎñÀ´ÊµÏÖ£¨Î¢·þÎñ£©¡£ËûÃǵÄʵÏÖ¿ÉÒÔÊÇ»ùÓÚ²»Í¬µÄ¼¼ÊõÕ»£¬¶øÇÒÿ¸ö·þÎñÃèÊöµÄÊÇÒ»¸öÃ÷È·µÄÌØ¶¨µÄÓÐÏÞµÄÒµÎñ·¶Î§¡£
Òò´Ë£¬ÎÒÃÇÉÏÎÄÖÐÌáµ½µÄÔÚÏßÁãÊÛϵͳ¿ÉÒÔÓÃͼ2ÀïÃæµÄ΢·þÎñ¼Ü¹¹À´ÊµÏÖ¡£ ÔÚ΢·þÎñ¼Ü¹¹Ï£¬ÁãÊÛÈí¼þÓ¦ÓÃͨ¹ýÒ»×é΢·þÎñÀ´ÊµÏÖ¡£ËùÒÔÄã¿´µ½Í¼2ÖУ¬ÎÒÃÇÔö¼ÓÔÚÔÀ´µ¥ÌåÓ¦ÓÃÀïÃæµÄÒ»×é·þÎñµÄ»ù´¡ÉÏÐÂÔö¼ÓÁËÒ»¸ö·þÎñ¡£ËùÒÔºÜÃ÷ÏÔ£¬Ê¹ÓÃ΢·þÎñ¼Ü¹¹²»Êǽö½ö½«µ¥ÌåÓ¦ÓÃÀïÃæµÄ·þÎñ²ð·ÖÄÇô¼òµ¥¡£

ͼ2 ΢·þÎñ¼Ü¹¹
½ÓÏÂÀ´£¬ÈÃÎÒÃǸü¼ÓÉîÈëÁ˽â΢·þÎñµÄºËÐļܹ¹ÔÔò¡£¸üÖØÒªµÄ£¬ÈÃÎÒÃǹØ×¢ÈçºÎ½«ËûÃÇÓ¦Óõ½Êµ¼ùÖС£
Éè¼ÆÎ¢·þÎñ£º ´óС£¬·¶Î§ºÍÄÜÁ¦
Äã¿ÉÄÜÔÚʹÓÃ΢·þÎñ¼Ü¹¹´ÓÍ·¹¹½¨Ò»¸öÈí¼þ£¬Ò²¿ÉÄÜÊÇÒª°ÑÒÑÓеÄÓ¦Ó÷þÎñת»»ÎªÎ¢·þÎñ¡£ÎÞÂÛÄÄÖÖ£¬·Ç³£ÖØÒªµÄÒ»µã¶¼ÊÇÄã±ØÐëºÏÀíµÄ¾ö¶¨Î¢·þÎñµÄ´óС£¬·¶Î§ºÍÄÜÁ¦¡£Õ⼫ÓпÉÄÜÊÇÔÚʵ¼ù΢·þÎñ¼Ü¹¹³õÆÚÅöµ½µÄ×îÄѵÄÊÂÇé¡£
½ÓÏÂÀ´ÎÒÃÇÀ´ÌÖÂÛÓë΢·þÎñµÄ´óС£¬·¶Î§£¬ÄÜÁ¦Ïà¹ØµÄһЩʵ¼ÊµÄ¿¼ÂǵãºÍ´íÎó¹Ûµã¡£
´úÂëÐÐÊýºÍÍŶӴóСʺÜÔã¸âµÄ¶ÈÁ¿Ö¸±ê£º»ùÓÚ´úÂëÐÐÊý»òÕßÍŶӴóСÀ´¾ö¶¨Î¢·þÎñµÄ´óСÒѾÓжà¸öÌÖÂÛÁË¡££¨±ÈÈç
Á½¸öpizzaµÄÍÅ¶Ó £©¡£ µ«ÊÇ£¬ÕâЩ¶¼ÊǷdz£²»ÇÐʵ¼Ê¶øÇҷdz£Ôã¸âµÄ¶ÈÁ¿Öµ£¬ÒòΪÎÒÃÇÓøüÉٵĴúÂë»òÕßÁ½¸öpizzaµÄÍŶӿª·¢³öÀ´µÄ·þÎñÈÔÈ»¿ÉÄÜÍêȫΥ±³Î¢·þÎñµÄ¼Ü¹¹ÔÔò¡£
΢microÕâ¸ö´Ê»áµ¼ÖÂÎó½â£º´ó¶àÊý¿ª·¢ÈËÔ±ÇãÏòÓÚÈÏΪÃÇÓ¦¸Ã½«·þÎñ×öµÄԽСԽºÃ¡£µ«ÊÇÕâÍêÈ«ÊÇ´íÎóµÄ½âÊÍ¡£
ÔÚSOAµÄÉÏÏÂÎÄÀïÃæ£¬·þÎñͨ³£±»ÊµÏÖΪ°üÀ¨ºÜ¶à¹¦ÄܵĺÍÔËÓªÖ§³ÖµÄµ¥Ìå½á¹¹¡£ËùÒÔÈç¹û½ö½öÊǽ«SOAÄÇÖÖ·þÎñÖØÐ´òÉÏ΢·þÎñµÄ±êÇ©²»»á¸øÄã´øÀ´Î¢·þÎñ¼Ü¹¹µÄÈçºÎºÃ´¦¡£
ÄÇô£¬ÎÒÃǸÃÈçºÎºÏµØÉè¼ÆÎ¢·þÎñ¼Ü¹¹ÏµķþÎñÄØ£¿
΢·þÎñÉè¼ÆÔÔò
µ¥Ò»ÔðÈÎÔÔò£¨Single Responsibility Principle, SRP)£º ¶ÔÓÚÒ»¸ö΢·þÎñ¶øÑÔ¾ßÓÐÓÐÏ޵ĺ͹Ø×¢µÄÒµÎñ·¶Î§¿ÉÒÔ°ïÖúÎÒÃÇÂú×ã·þÎñ¿ª·¢ºÍ½»¸¶µÄÃô½ÝÐÔ¡£
ÔÚ΢·þÎñµÄÉè¼Æ½×¶Î£¬ ÎÒÃÇÓ¦¸ÃÕÒµ½ËûÃǵı߽磬²¢½«ËüÃÇÓëÒµÎñÄÜÁ¦Ïà¹ØÁª¡££¨ÔÚ ÁìÓòÇý¶¯Éè¼Æ ÀïÕâ½ÐÓб߽çµÄÉÏÏÂÎÄ£©
±ØÐ뱣֤΢·þÎñÉè¼ÆÄÜÖ§³Ö·þÎñµÄÃô½Ý/¶ÀÁ¢µØ¿ª·¢ºÍ²¿Êð
ÎÒÃÇÓ¦¸Ã¹Ø×¢Î¢·þÎñµÄ·¶Î§£¬¶ø²»ÊÇһζµÄ°Ñ·þÎñ×öС¡£Ò»¸ö·þÎñµÄ£¨ÕýÈ·µÄ£©´óСӦ¸ÃµÈÓÚÂú×ãij¸öÌØ¶¨ÒµÎñÄÜÁ¦ËùÐèÒªµÄ´óС¡£
ÓëSOAÀïÃæµÄ·þÎñ²»Í¬£¬Ò»¸ö¸ø¶¨µÄ΢·þÎñÓ¦¸ÃÓÐÏ൱ÉÙµÄÔËÓªºÍ¹¦Äܵ㣬ÒÔ¼°¼òµ¥µÄÏûÏ¢¸ñʽ
ͨ³£Ò»¸öºÃµÄʵ¼ùÊÇÏÈ´ÓÒ»¸ö±È½Ï´óµÄ·þÎñ±ß½ç¿ªÊ¼£¬È»ºóËæ×Åʱ¼äÍÆÒÆ»ùÓÚÒµÎñÐèÇóÀ´Öع¹³É¸üСµÄ¡£
ÔÚÎÒÃǵÄÁãÊÛϵͳµÄ°¸ÀýÖУ¬Äã¿ÉÒÔ·¢ÏÖÎÒÃǽ«ÔÀ´µ¥ÌåÓ¦ÓõŦÄָܷÁË4¸ö²»Í¬µÄ΢·þÎñÖУ¬ 'invenory",
"accountng", "shipping", "store"¡£
ËüÃÇÃèÊöµÄÊÇÒ»¸öÓÐÏÞµ«¹Ø×¢µÄÒµÎñ·¶Î§£¬¶øÇÒ·þÎñÖ®¼ä»¥ÏàÍêÈ«½âñ±£Ö¤ÁË¿ª·¢ºÍ²¿ÊðµÄÃô½ÝÐÔ¡£
΢·þÎñÀïµÄÏûÏ¢
ÔÚµ¥ÌåÓ¦ÓÃÀïÃæ£¬²»Í¬×é¼þµÄÒµÎñ¹¦ÄÜͨ¹ýº¯Êýµ÷ÓûòÕßÓïÑÔ¼¶±ðµÄ·½·¨µ÷ÓÃÀ´ÊµÏÖ¡£ÔÚSOAÖУ¬Õâת±äΪ¸ü¼ÓËÉñîºÏµÄweb
service¼¶±ðµÄÏûÏ¢£¬Ö÷ÒªÊÇ»ùÓÚHTTP,JMSµÈ²»Í¬ÐÒéµÄSOAP¡£Webservice °üº¬µÄ¼¸Ê®ÖÖ²Ù×÷ÒÔ¼°¸´ÔÓµÄÏûÏ¢»úÖÆÊÇ×è°web
servicesÁ÷ÐеÄÒ»¸öÖØÒªÒòËØ¡£¶ÔÓÚ΢·þÎñ¼Ü¹¹¶øÑÔ£¬±ØÐëÒªÓÐÒ»¸ö¼òµ¥ÇÒÇáÁ¿¼¶µÄÏûÏ¢»úÖÆ¡£
ͬ²½ÏûÏ¢- REST, Thrift
¶ÔÓÚ΢·þÎñÁìÓòµÄͬ²½ÏûÏ¢»úÖÆ¶øÑÔ£¨¿É»ñµÃÐèÒª·þÎñ¸øÒ»¸ö¼°Ê±µÄÏìÓ¦·ñÔòÒ»Ö±µÈ´ý£©£¬ REST Êǹ«ÈϵÄÑ¡Ôñ¡£ËüÌṩÁËÒ»ÖÖ¼òµ¥µÄÏûÏ¢·ç¸ñ£¬¾ßÌåʵÏÖÊÇHTTPµÄÇëÇó-ÏìÓ¦£¬»ùÓÚ×ÊÔ´µÄAPI·ç¸ñ¡£Òò´Ë´ó¶àÊýµÄ΢·þÎñʵÏÖÊÇʹÓÃhttpºÍ»ùÓÚ×ÊÔ´API·ç¸ñµÄ¡££¨Ã¿Ò»¸ö¹¦Äܶ¼ÊÇͨ¹ýÒ»¸ö×ÊÔ´ÒÔ¼°ÔÚËüÖ®ÉÏÖ´ÐеIJÙ×÷À´ÊµÏÖ£©

ͼ3£¬ ͨ¹ýREST½Ó¿ÚÀ´±©Â¶Î¢·þÎñ
Thrift ÊÇREST/HTTP ͬ²½ÏûÏ¢Ö®ÍâµÄÁíÒ»¸öÑ¡ÏʹÓÃËüÄã¿ÉÒÔ¸øÄãµÄ΢·þÎñ¶¨ÒåÒ»¸ö½Ó¿Ú¶¨Òå¡£
Òì²½ÏûÏ¢- AMQP, STOMP, MQTT
ÔÚijЩ΢·þÎñ³¡¾°Ï£¬ÐèҪʹÓÃÒì²½ÏûÏ¢¼¼Êõ£¨¿É»ñµÃ²»ÐèÒªÁ¢¼´µÃµ½»Ø¸´£¬ÉõÖÁÍêÈ«²»Òª»Ø¸´£©¡£ÔÚÕâÖÖ³¡¾°Ï£¬
Òì²½ÏûÏ¢ AMPQ , STOMP , MQTT µÈ±»¹ã·ºÊ¹ÓÃ
ÏûÏ¢¸ñʽ - jSON, XML, Thrift£¬ProtoBuf£¬Avro
Ϊ΢·þÎñÀ´¾ö¶¨×îÊʺϵÄÏûÏ¢¸ñʽÊÇÁíÒ»¸ö¹Ø¼üÒªËØ¡£´«Í³µÄµ¥ÌåµÄÈí¼þʹÓø´ÔӵĶþ½øÖƵĸñʽ£¬SOA/Web
servicesµÄÓ¦ÓÃʹÓûùÓÚ¸´ÔÓÏûÏ¢¸ñʽ£¨SOAP)ºÍschema£¨xsd£©µÄÎı¾ÏûÏ¢¡£ÔÚ´ó¶àÊýµÄ΢·þÎñÀïÃæ£¬ËüÃÇʹÓüòµ¥µÄ»ùÓÚÎı¾µÄÏûÏ¢¸ñʽ£¬ÀýÈç»ùÓÚHTTP
×ÊÔ´API·ç¸ñÖ®ÉϵÄJSON/XMLµÈ¡£ÔÚijЩÇé¿öÏÂËüÃÇÐèÒª¶þ½øÖƵĸñʽʱ£¨Îı¾ÏûÏ¢ÔÚijЩ³¡¾°ÏÂÏԵƪࣩ£¬¿ÉÒÔʹÓöþ½øÖƵÄÐÒéÀýÈç¶þ½øÖƵÄThrift£¬
Protobuf £¬ Arvo ¡£
·þÎñÐÒé - ¶¨Òå·þÎñµÄ½Ó¿Ú - Swagger£¬RAML, Thrift IDL
µ±ÄãÒѾÓÐÒ»¸öÒµÎñÄÜÁ¦ÒÔ·þÎñµÄÐÎʽʵÏÖÖ®ºó£¬ ÄãÐèÒª¶¨ÒåºÍ·¢²¼·þÎñÐÒé¡£ ÔÚ´«Í³µ¥ÌåÓ¦ÓÃÖУ¬ ÎÒÃǺÜÉÙÕÒµ½Õâ¸ö¹¦ÄÜÀ´¶¨Òåij¸öÓ¦ÓõÄÒµÎñÄÜÁ¦¡£
ÔÚSOA/Web servicesµÄÊÀ½çÀïÃæ£¬ WSDLÓÃÀ´ÃèÊö·þÎñÐÒ飬µ«ÊÇ£¬ÎÒÃǶ¼ÖªµÀ£¬WSDL²¢²»ÊÇÃèÊö΢·þÎñµÄÀíÏë·½°¸£¬ÒòΪËüÌ«¸´ÔÓÁ˶øÇÒÓëSOAP¸ß¶ÈñîºÏ¡£
¼ÈÈ»ÎÒÃÇÊÇ»ùÓÚREST¼Ü¹¹·ç¸ñÀ´¹¹½¨µÄ΢·þÎñ£¬ÎÒÃÇ¿ÉÒÔʹÓÃͬÑùµÄREST API¶¨ÒåµÄ¼¼ÊõÀ´¶¨Òå·þÎñÐÒé¡£Òò´Ë£¬Î¢·þÎñʹÓñê×¼µÄREST
API¶¨ÒåÓïÑÔÀ´¶¨Òå·þÎñÐÒ飬 ±ÈÈç Swagger ºÍ RAML ¡£
¶ÔÓÚÆäËûһЩ²»ÊÇ»ùÓÚHTTP/RESTµÄ΢·þÎñʵÏÖ£¨ÀýÈçThrift£©£¬ÎÒÃÇ¿ÉÒÔÐÒé¼¶±ðµÄ½Ó¿Ú¶¨ÒåÓïÑÔ¡£±ÈÈç
Thrift IDL
¼¯³É΢·þÎñ£¨¿ç·þÎñ/½ø³ÌͨѶ£©
ÔÚ΢·þÎñ¼Ü¹¹Àһ¸öÈí¼þÓ¦ÓÃÊÇ»ùÓÚÒ»×é¶ÀÁ¢µÄ·þÎñ¹¹½¨µÄ¡£ Òò´ËΪÁËʵÏÖij¸öÓ¦Óó¡¾°£¬ÐèÒª²»Í¬Î¢·þÎñ¡¢½ø³ÌÖ®¼äµÄͨѶ»úÖÆ¡£ÕâÒ²ÊÇ΢·þÎñÖ®¼ä¿ç·þÎñ¡¢½ø³ÌͨѶÕâÃ´ÖØÒªµÄÔÒò
ÔÚSOAµÄʵÏÖÖУ¬·þÎñÖ®¼äµÄ¿ç·þÎñͨѶÊÇͨ¹ýÆóÒµ·þÎñ×ÜÏßESBÀ´ÊµÏֵ쬲¢ÇҴ󲿷ֵÄÒµÎñÂß¼ÔÚÖмä²ãÖУ¨ÏûϢ·ÓÉ£¬´«ËÍ£¬±àÅÅ£©¡£µ«ÊÇ΢·þÎñ¼Ü¹¹ÍƳçÈ¥µôÖÐÑëÏûÏ¢×ÜÏß½«ÒµÎñÂß¼·Åµ½·þÎñºÍ¿Í»§¶ËÈ¥£¨Ò²³ÆÖ®Îªsmart
endpoints£©
ÒòΪ΢·þÎñʹÓÃHTTP£¬ JSONµÈ±ê×¼ÐÒ飬µ±×ö¿ç΢·þÎñÖ®¼äµÄͨѶʱ£¬ÐèÒª¸úÒ»¸ö²»Í¬µÄÐÒé×ö¼¯³ÉµÄÐèÇóºÜÉÙ¡£ÔÚ΢·þÎñÀïÃæµÄÁíÒ»¸ö¿ÉÑ¡·½°¸ÊÇʹÓÃÒ»¸öÇáÁ¿¼¶µÄÏûÏ¢×ÜÏß»òÕß
Íø¹Ø £¬Íø¹ØÉÏ´ø×îÉٵķÓɹ¦ÄÜ£¬²»´øÈκÎÒµÎñÂ߼ʵÏÖ¶ø½ö½öÊÇÒ»¸öÑÆ¹ÜµÀ¡£»ùÓÚÕâЩ·½Ê½£¬ÔÚ΢·þÎñ¼Ü¹¹ÀïÃæ¾ÍÓÐÁËÈçϼ¸ÖÖͨѶģʽ¡£
µã¶Ôµã·ç¸ñ- Ö±½Óµ÷Ó÷þÎñ
ÔÚµã¶Ôµã·ç¸ñÀÕû¸öµÄÏûϢ·ÓÉÂß¼Ôڶ˵ãÉÏ£¬·þÎñÖ®¼äÖ±½ÓͨѶ¡£Ã¿¸ö·þÎñ±©Â¶Ò»×éREST API£¬ÍⲿµÄ·þÎñ»òÕ߿ͻ§¶Ëͨ¹ýREST
API À´µ÷Óá£

ͼ4£¬ ·þÎñ¼äͨѶ£º µã¶ÔµãÁ¬½Ó
Ã÷ÏԵģ¬ÕâÖÖÄ£ÐͶÔÓÚ¼òµ¥µÄ΢·þÎñ¼Ü¹¹Ó¦ÓÃÓÐЧ¡£µ«ÊÇËæ×Å·þÎñÊýÁ¿µÄÔö¼Ó£¬Ëü»áÂýÂý±äµÃ¸´ÔÓ¡£ÕâÒ²ÊÇΪʲôÔÚSOAÀïÃæÒªÓÃESBÀ´±ÜÃâÔÓÂҵĵã¶ÔµãµÄÁ¬½Ó¡£ÈÃÎÒÃÇÊÔ×Å×ܽáһϵã¶ÔµãģʽµÄ±×¶Ë¡£
·Ç¹¦ÄÜÐèÇó ±ÈÈçÓû§ÈÏÖ¤£¬ Á÷¿Ø£¬¼à¿ØµÈ±ØÐëÔÚÿ¸ö΢·þÎñÀïʵÏÖ
ÓÉÓÚͨÓù¦ÄܵÄÖØ¸´£¬Ã¿¸ö΢·þÎñµÄʵÏÖ±äµÃ¸´ÔÓ
ÔÚ·þÎñºÍ¿Í»§¶ËÖ®¼äûÓÐͨѶ¿ØÖÆ£¨ÉõÖÁ¶ÔÓÚ¼à¿Ø£¬¸ú×Ù£¬¹ýÂ˵ȶ¼Ã»ÓУ©
¶ÔÓÚ´óµÄ΢·þÎñʵÏÖÀ´ËµÖ±½ÓµÄͨѶÐÎʽͨ³£±»ÈÏΪÊÇ ·´Ä£Ê½
Òò´Ë£¬ ÔÚ¸´ÔÓµÄ΢·þÎñÓ¦Óó¡¾°Ï£¬²»ÒªÊ¹Óõã¶ÔµãÖ±Á¬»òÕßÖÐÑëµÄESB£¬ÎÒÃÇ¿ÉÒÔʹÓÃÒ»¸öÇáÁ¿¼¶µÄÖÐÑëÏûÏ¢×ÜÏ߸øËùÓÐ΢·þÎñÌṩһ¸ö³éÏó²ã£¬¶øÇÒ¿ÉÒÔÓÃÀ´ÊµÏÖ¸÷Öַǹ¦ÄܵÄÄÜÁ¦¡£ÕâÖÖ·ç¸ñÒ²½Ð×öAPI
Gateway·ç¸ñ¡£
API Gateway·ç¸ñ
API Gateway·ç¸ñµÄºËÐÄÀíÄîÊÇʹÓÃÒ»¸öÇáÁ¿¼¶µÄÏûÏ¢Íø¹Ø×÷ΪËùÓпͻ§¶Ë¡¢Ïû·ÑÕßµÄÖ÷Èë¿Ú²¢ÇÒÔÚÍø¹Ø²ãÃæÉÏʵÏÖͨÓõķǹ¦ÄÜÐÔÐèÇó¡£
ͨ³££¬Ò»¸öAPIÍø¹ØÔÊÐíÄãͨ¹ýRESTÀ´Ïû·ÑÒ»¸öÊܹÜÀíµÄAPI¡£ Òò´ËÎÒÃÇ¿ÉÒÔʹÓÃËüÀ´±©Â¶Î¢·þÎñËùʵÏÖµÄÒµÎñ¹¦ÄÜ£¬
ÒÔÊܹÜÀíµÄAPIµÄÐÎʽ¡£ ʵ¼ÊÉÏ£¬ ÕâÊÇ΢·þÎñ¼Ü¹¹ÓëAPI¹ÜÀíµÄ×éºÏ£¬¸øÄã´øÀ´Á½ÖÖ¼¼ÊõµÄÓŵ㡣

ͼ5 ËùÓзþÎñͨ¹ýÒ»¸öAPIÍø¹ØÀ´±©Â¶
ÔÚÎÒÃÇÁãÊÛµÄÀý×ÓÖУ¬Èçͼ5ËùÃèÊöµÄ£¬ ËùÓеķþÎñͨ¹ýAPI Íø¹ØÀ´±©Â¶£¬ÕâÊÇËùÓпͻ§¶Ë·ÃÎʵÄΨһÈë¿Ú¡£
Èç¹ûÒ»¸ö΢·þÎñÒª·ÃÎÊÁíÒ»¸ö΢·þÎñ£¬Ò²ÒªÍ¨¹ýÕâ¸öÍø¹Ø¡£
APIÍø¹Ø´øÀ´ÒÔÏÂÓŵ㣺
ÔÚÍø¹Ø²ãÃæ¶Ô´æÔÚµÄ΢·þÎñÌṩ±ØÒªµÄ³éÏó¡£ÀýÈç£¬Íø¹Ø¿ÉÒÔÑ¡Ôñ²»Ìṩһ¸öÊÊÓÃËùÓеÄApI£¬ ¶øÑ¡Ôñ¶Ô²»Í¬µÄÓû§±©Â¶²»Í¬µÄAPI¡£
ÔÚÍø¹Ø²ãÃæµÄÇáÁ¿¼¶ÏûϢ·ÓɺÍת»»
Ò»¸öÖÐÐĵĵط½Ìṩ·Ç¹¦ÄÜÐÔµÄÄÜÁ¦£¬ ±ÈÈ簲ȫ£¬¼à¿Ø£¬ÏÞÁ÷µÈ
ͨ¹ýÊÊÓÃAPIÍø¹ØÄ£Ê½£¬Î¢·þÎñ¿ÉÒÔ±äµÃ¸ü¼ÓÇáÁ¿£¬ÒòΪ·Ç¹¦ÄÜÐÔÐèÇó¶¼ÔÚÍø¹ØÉÏʵÏÖÁË¡£
APIÍø¹Ø·ç¸ñ¿ÉÄÜÊÇ´ó¶àÊý΢·þÎñ ʵÏÖ Àï×î±»ÆÕ±é²ÉÓõÄÐÎʽ¡£
ÏûÏ¢´úÀí·ç¸ñ
΢·þÎñ¼Ó¿ÉÒÔÓëÒì²½ÏûÏ¢³¡¾°¼¯³É£¬±ÈÈçµ¥ÏòµÄÇëÇóºÍʹÓöÓÁлòÕßÖ÷ÌâµÄ·¢²¼¶©ÔÄÏûÏ¢»úÖÆ¡£Ä³¸ö΢·þÎñ¿ÉÒÔʹһ¸öÏûÏ¢µÄÖÆÔìÕߣ¬ËüÄܽ«ÏûÏ¢Òì²½µÄ·¢Ë͵½Ò»¸ö¶ÓÁлòÕßÖ÷ÌâÀïÃæ¡£Ïû·ÑÐ͵Ä΢·þÎñ¿ÉÒÔÏû·Ñ¶ÓÁлòÕßÖ÷ÌâÀïÀ´µÄÏûÏ¢¡£ÕâÖÖ·½Ê½½«ÏûÏ¢µÄÖÆÔìÕߺÍÏû·ÑÕß½âñ¶øÇÒÖмäµÄÏûÏ¢´úÀí»á»º´æÏûÏ¢Ö±µ½Ïû·ÑÕß´¦ÀíËüÃÇ¡£
ÖÆÔìÏûÏ¢µÄ΢·þÎñ¶ÔÏû·ÑÏûÏ¢µÄ΢·þÎñÍêȫδ֪¡£

ͼ6 Òì²½ÏûÏ¢»úÖÆ£¬ »ùÓÚPUB-SUB¼¯³É
Éú²úÕßÓëÏû·ÑÕßÖ±½ÓµÄͨѶÓÉÏûÏ¢´úÀíÀ´Íê³É£¬»ùÓÚµÄÊÇÒì²½ÏûÏ¢±ê×¼£¬ ±ÈÈçAMQP, MQTT£¬µÈµÈ¡£
È¥ÖÐÐÄ»¯µÄÊý¾Ý¹ÜÀí
ÔÚµ¥Ìå¼Ü¹¹ÖУ¬Ó¦Óý«Êý¾Ý´æÔÚÒ»¸ö¼¯Öл¯µÄÊý¾Ý¿âÖÐÀ´ÊµÏÖ¸÷ÖֵŦÄܺÍÒµÎñÄÜÁ¦¡£

ͼ7 µ¥ÌåÓ¦ÓÃʹÓÃÒ»¸ö¼¯Öл¯µÄÊý¾Ý¿âÀ´ÊµÏÖËùÓÐÌØÐÔ
ÔÚ΢·þÎñ¼Ü¹¹À¹¦ÄÜÊÇ¿ç¶à¸ö΢·þÎñÀ´ÌṩµÄ£¬ÕâÑùÒ»À´£¬Èç¹ûÎÒÃǼÌÐøÊ¹Óü¯Öл¯µÄÊý¾Ý¿â£¬ÄÇô΢·þÎñÖ®¼ä¾Í²»ÊÇ»¥Ïà¶ÀÁ¢ÁË£¨ÀýÈçÊý¾Ý¿âµÄij¸öschemaΪÁËij¸ö·þÎñÒª¸ü¸Ä£¬ÄÇô¼«ÓпÉÄÜ»áÆÆ»µÆäËûµÄ·þÎñ£©¡£
Òò´Ëÿ¸ö΢·þÎñ±ØÐëÓÐ×Ô¼ºµÄÊý¾Ý¿â¡£

ͼ8 ΢·þÎñÓÐ×Ô¼ºµÄ˽ÓÐÊý¾Ý¿â£¬ËüÃÇÎÞ·¨Ö±½Ó·ÃÎÊÆäËû΢·þÎñµÄÊý¾Ý¿â
ҪʵÏÖ΢·þÎñ¼Ü¹¹ÏµÄÈ¥ÖÐÐÄ»¯Êý¾Ý¿â¹ÜÀíÓÐÈçϼ¸¸öºËÐĹØ×¢µã£º
ÿ¸ö΢·þÎñ¶¼ÓÐÒ»¸ö˽ÓеÄÊý¾Ý¿â£¬ ´æ·ÅµÄÊý¾ÝÓÃÀ´ÊµÏÖËüËùÒªÌṩµÄÒµÎñ¹¦ÄÜ
Ò»¸öÌØ¶¨µÄ΢·þÎñ×Ô¼ºÄÜ·ÃÎÊ×Ô¼ºµÄ˽ÓÐרÓõÄÊý¾Ý¿â£¬¶ø²»ÄÜÖ±½Ó·ÃÎÊÆäËû΢·þÎñµÄÊý¾Ý¿â
ÔÚijЩҵÎñ³¡¾°Ï£¬ÎªÁËÊÂÎñÐÔÒªÇóÄã¿ÉÄÜÐèÒªÒ»´Î¸üжà¸öÊý¾Ý¿â¡£ÔÚÕâÖÖÇé¿öÏ£¬ÆäËû΢·þÎñµÄÊý¾Ý¿â¸üÐÂÓ¦¸Ãͨ¹ýËüµÄAPIµ÷ÓÃÀ´Íê³É£¨²»ÔÊÐíÖ±½Ó·ÃÎÊËüµÄÊý¾Ý¿â£©
È¥ÖÐÐÄ»¯µÄÊý¾Ý¹ÜÀíÈÃÄã¿ÉÒԵõ½ÍêÈ«½âñîµÄÊý¾Ý¿â£¬ ²¢ÇÒÒ²ÓÐÁË×ÔÓÉÑ¡Ôñ¸÷ÖÖÊý¾Ý¿â¼¼ÊõµÄÄÜÁ¦£¨±ÈÈçSQL »òÕßNOSQL,ÿ¸ö·þÎñ¶¼¿ÉÒÔÓв»Í¬µÄÊý¾Ý¿â¹ÜÀíϵͳ£©¡£
µ«ÊÇ£¬ ¶ÔÓÚ¸´ÔÓµÄÉæ¼°¶à¸ö΢·þÎñµÄÊÂÎñÐÍÓ¦Óó¡¾°Ï£¬ÊÂÎñ²Ù×÷Ó¦¸ÃʹÓø÷¸ö΢·þÎñÌṩµÄAPIʵÏÖ£¬¾ßÌåÂß¼Ó¦¸ÃÔÚ¿Í»§¶Ë»òÕßÖмä²ã(Íø¹Ø£©ÖÐʵÏÖ¡£
È¥ÖÐÐÄ»¯ÖÎÀí
΢·þÎñ¼Ü¹¹ÊÊÓÃ΢·þÎñÖÎÀí¡£
×ܵÄÀ´Ëµ£¬¡°ÖÎÀí¡±µÄÒâ˼Êǽ¨Á¢ºÍʵʩ¡°ÈçºÎÈÃÈËÔ±ºÍ½â¾ö·½°¸ÎªÁË×é֯Ŀ±ê¶øÒ»Æð¹¤×÷¡±¡£ÔÚSOAµÄÉÏÏÂÎÄÖУ¬
SOAÖÎÀí Ö¸µ¼¿ÉÖØÓ÷þÎñµÄ¿ª·¢£¬Ö¸µ¼·þÎñ¸ÃÈçºÎÉè¼ÆºÍ¿ª·¢£¬ÒÔ¼°·þÎñÈçºÎËæÊ±¼äÑݽø¡£ËüÔÚ·þÎñµÄÌṩÕßÓë·þÎñÏû·ÑÕßÖ®¼ä½¨Á¢ÐÒ飬¸æËßÏû·ÑÕßËüÃÇ¿ÉÒÔÆÚÍûµÃµ½Ê²Ã´£»¸æËßÌṩÕßËüÃÇÓÐÒåÎñÌṩʲô¡£ÔÚSOAÖÎÀíÖУ¬ÓÐÁ½ÖÖÆÕͨ²ÉÓõÄÖÎÀíÄ£ÐÍ£º
Éè¼ÆÊ±ÖÎÀí - ¶¨ÒåºÍ¿ØÖÆ·þÎñµÄÉú³É£¬Éè¼ÆÒÔ¼°·þÎñ²ßÂÔµÄʵÏÖ
ÔËÐÐʱÖÎÀí - ÔÚÔËÐÐʱʵʩ·þÎñ²ßÂÔµÄÄÜÁ¦
ÄÇô£¬Î¢·þÎñÉÏÏÂÎÄÖеÄÖÎÀíµ½µ×ÊÇʲôÒâ˼£¿ÔÚ΢·þÎñ¼Ü¹¹Ï£¬·þÎñÊÇÒÔÍêÈ«¶ÀÁ¢½âñîµÄ·½Ê½¹¹½¨µÄ£¬Óõļ¼ÊõÕ»¿ÉÒÔÍêÈ«²»Í¬¡£Òò´Ë£¬¶¨ÒåÒ»¸öͨÓõķþÎñÉè¼ÆºÍ¿ª·¢±ê׼ûÓÐÌ«´ó±ØÒª¡£
ÎÒÃÇ¿ÉÒÔ½«Î¢·þÎñ³¡¾°ÏµÄÈ¥ÖÐÐÄ»¯µÄÖÎÀíÄÜÁ¦×ܽáÈçÏ£º
ÔÚ΢·þÎñ¼Ü¹¹Ï£¬ ûÓбØÒªÓµÓÐÒ»¸öÖÐÐÄ»¯µÄÉè¼ÆÊ±ÖÎÀí
΢·þÎñ¿ÉÒÔ×Ô¼º¾ö²ß×Ô¼ºµÄÉè¼ÆÊµÏÖ
΢·þÎñ¼Ü¹¹¿ÉÒÔ¹²ÏíͨÓÃ/¿ÉÖØÓõķþÎñ
ijЩÔËÐÐʱÖÎÀí£¬ ±ÈÈçSLA, ÏÞÁ÷£¬¼à¿Ø£¬Í¨ÓõݲȫÐèÇóÒÔ¼°·þÎñ·¢ÏÖ¿ÉÒÔÔÚAPIÍø¹Ø¼¶±ðʵÏÖ
·þÎñ×¢²áÓë·þÎñ·¢ÏÖ
ÔÚ΢·þÎñ¼Ü¹¹Ï£¬ ÄãÐèÒª¹ÜÀíµÄ΢·þÎñÊýÁ¿Ï൱֮¸ß¡£¶øÇÒ£¬ÓÉÓÚ΢·þÎñ±¾ÉíµÄ¿ìËÙÃô½ÝµÄ¿ª·¢²¿ÊðÌØÐÔ£¬ËüÃǵÄÔËÐеصã»á¶¯Ì¬±ä»¯¡£Òò´Ë£¬ÄãÐèÒªÄܹ»ÔÚÔËÐÐʱÕÒµ½Ò»¸ö΢·þÎñÔËÐеÄλÖá£Õâ¸öÎÊÌâµÄ½â¾ö·½°¸ÊÇʹÓÃÒ»¸ö·þÎñ×¢²á±í¡£
·þÎñ×¢²á±í
·þÎñ×¢²á±í±£³Ö΢·þÎñʵÀýÒÔ¼°ËüÃǵÄλÖá£Î¢·þÎñʵÀýÔÚ·þÎñÆô¶¯Ê±ÔÚ×¢²á±íÀïÃæ×¢²á£¬ÔڹرÕʱעÏú¡£Ïû·ÑÕß¿ÉÒÔͨ¹ý×¢²á±íÕÒµ½¿ÉÓõÄ΢·þÎñÒÔ¼°ËüÃǵÄλÖá£
·þÎñ·¢ÏÖ
ÒªÕÒµ½¿ÉÓõÄ΢·þÎñÒÔ¼°ËüÃǵÄλÖã¬ÎÒÃÇÐèÒªÓÐÒ»¸ö·þÎñ·¢ÏÖ»úÖÆ¡£ ÓÐ2ÖÖ·þÎñ·¢ÏÖ»úÖÆ£¬¿Í»§¶Ë·¢ÏֺͷþÎñ¶Ë·¢ÏÖ¡£
¿Í»§¶Ë·¢ÏÖ - ÕâÖÖ·½Ê½Ï£¬¿Í»§¶Ë»òÕßAPI-GWͨ¹ý²éѯ·þÎñ×¢²á±íÀ´µÃµ½·þÎñʵÀýµÄλÖÃ

ͼ9 ¿Í»§¶Ë·¢ÏÖ
ÕâÀ¿Í»§¶Ë/API-GWͨ¹ýµ÷Ó÷þÎñ×¢²á×é¼þÀ´ÊµÏÖ·þÎñ·¢ÏÖÂß¼¡£
·þÎñ¶Ë·¢ÏÖ - ÕâÖÖ·½Ê½Ï£¬¿Í»§¶Ë/API-GWÏòÔËÐÐÔÚij¸ö¹«ÖªÎ»ÖõÄ×é¼þ·¢ËÍÇëÇó£¨ÀýÈç¸ºÔØ¾ùºâÆ÷£©¡£
Õâ¸ö×é¼þµ÷Ó÷þÎñ×¢²á±íÈ»ºóµÃµ½Õâ¸ö΢·þÎñµÄ¾ø¶ÔλÖá£

ͼ10 ·þÎñ¶Ë·¢ÏÖ
΢·þÎñ²¿Êð·½°¸Èçkubernetes( http://kubernetes.io/v1.1/docs
... s.htm l)ÌṩµÄ¾ÍÊÇ·þÎñ¶Ë½â¾ö·½°¸
²¿Êð
Ìᵽ΢·þÎñ¼Ü¹¹Ê±£¬Î¢·þÎñµÄ²¿Êð°çÑÝ×ÅÒ»¸öºËÐĽÇÉ«¶øÇÒÓÐÈçϺËÐÄÒªÇó£º
ÓÐÄÜÁ¦ÔÚ²»ÒÀÀµÆäËû·þÎñµÄÇé¿öϲ¿Êð/³·Ïú
ÄÜÔÚÿ¸ö΢·þÎñµÄ¼¶±ð½øÐÐÀ©Õ¹£¨Ä³¸ö·þÎñ¿ÉÄÜ±ÈÆäËû·þÎñÓиü¶àµÄÁ÷Á¿£©
¿ìËÙ¹¹½¨ºÍ²¿Êð΢·þÎñ
Ò»¸ö΢·þÎñµÄʧЧ²»ÄÜÓ°ÏìÆäËû·þÎñ
Docker £¨Ò»¸ö¿ªÔ´ÒýÇæ¿ÉÒÔÈÿª·¢ÕߺÍϵͳ¹ÜÀíÔ±²¿Êð×Ô°üº¬µÄÓ¦ÓÃÈÝÆ÷µ½linux»·¾³ÖУ©ÌṩÁËÒ»¸öÂú×ãÉÏÊöÐèÇóµÄ²¿Êð·½°¸¡£ÀïÃæÉæ¼°µÄºËÐIJ½ÖèÓУº
½«Î¢·þÎñ´ò°üΪdocker ¾µÏñ
½«Ã¿¸ö·þÎñʵÀý²¿ÊðΪÈÝÆ÷
ͨ¹ý¸Ä±äÈÝÆ÷µÄÊýÁ¿À´ÊµÏÖ·þÎñµÄÀ©Õ¹
ʹÓÃdockerÈÝÆ÷ʱ·þÎñµÄ¹¹½¨£¬²¿ÊðºÍÆô¶¯¶¼Ï൱¿ì£¨Í¨³£±ÈÐéÄâ»ú¿ìµÄ¶à£©
kubernetes À©Õ¹ÁËdockerµÄÄÜÁ¦£º¿ÉÒÔÏñ¹ÜÀíÒ»¸öϵͳÄÇÑù¹ÜÀíÒ»¸ölinuxÈÝÆ÷µÄ¼¯Èº£¬¿çÖ÷»úÔËÐк͹ÜÀídockerÈÝÆ÷£¬
ÌṩÈÝÆ÷µÄ¶àµØ²¿Ê𣬷þÎñ·¢Ïֺ͸´ÖÆ¿ØÖÆ¡£ÕýÈçÄã¿´µ½µÄ£¬ÕâÐ©ÌØÐÔÖеĴó¶àÊýÔÚ΢·þÎñ³¡¾°ÏÂÒ²ÊÇÌØ±ðºËÐĵġ£Òò´ËʹÓÃkubernetes£¨»ùÓÚdocker£©À´×ö΢·þÎñ²¿ÊðÓ®³ÉΪһÖÖÏ൱ǿ´óµÄ·½·¨£¬Ìرð¶ÔÓÚ´óÐ͵Ä΢·þÎñ²¿Êð¶øÑÔ¡£

ͼ11 ÒÔÈÝÆ÷·½Ê½¹¹½¨ºÍ²¿Êð΢·þÎñ
ÔÚͼ11ÖУ¬Õ¹Ê¾ÁËÈÝÆ÷Ó¦ÓÃÖеÄ΢·þÎñµÄ²¿Êð¸ÅÀÀ¡£Ã¿¸ö΢·þÎñʵÀý²¿ÊðΪһ¸öÈÝÆ÷£¬Ã¿¸öÖ÷»úÉÏÅÜÁËÁ½¸öÈÝÆ÷¡£
ÔÚÈÎÒâһ̨Ö÷»úÉÏÄã¶¼¿ÉÒÔÖ¸¶¨ÅܵÄÈÝÆ÷µÄÊýÁ¿¡£
°²È«
΢·þÎñ°²È«ÊÇÔÚʵ¼Ê³¡¾°ÖÐÓ¦ÓÃ΢·þÎñµÄÒ»¸öÆÕ±éÒªÇó¡£ÔÚ½²Î¢·þÎñ°²È«Ö®Ç°£¬ÎÒÃÇÏÈ¿´¿´ÔÚµ¥ÌåÓ¦ÓÃÏÂÎÒÃÇͨ³£ÊÇÈçºÎʵÏÖ°²È«µÄ¡£
ÔÚÒ»¸öµ¥ÌåÓ¦ÓÃÖУ¬°²È«Ö÷Òª¹ØÐÄ¡®µ÷ÓÃÕßÊÇË¡¯£¬ ¡®µ÷ÓÃÕßÄܸÉʲô¡¯£¬ ÒÔ¼°¡®ÎÒÃÇÈçºÎ´«²¥Õâ¸öÐÅÏ¢¡¯
Õâͨ³£ÔÚÒ»¸ö¹«Óõݲȫ×é¼þÉÏʵÏÖ£¬Ëü²¿ÊðÔÚÇëÇó´¦ÀíÁ´µÄÊײ¿£¬Í¨¹ýÒ»¸öµ×²ãµÄÓû§Êý¾Ý¿âÀ´Ìî³ä±ØÒªµÄÐÅÏ¢¡£
ÕâÑù£¬ ÎÒÃÇ¿ÉÒÔ½«Õâ¸öÄ£ÐÍÓ¦Óõ½Î¢·þÎñ¼Ü¹¹ÖÐÂ𣿠¿ÉÒÔ£¬µ«ÊÇÒªÇóÔÚÿ¸ö΢·þÎñ¼¶±ðʵÏÖÒ»¸ö°²È«×é¼þ£¬²éѯÖÐÐĹ²ÏíµÄÓû§¿âÀ´»ñµÃ±ØÒªµÄÐÅÏ¢¡£ÕâÊÇÒ»¸ö·Ç³£·±ËöµÄ·½Ê½À´½â¾ö΢·þÎñ³¡¾°Ïµİ²È«ÎÊÌâ¡£ÎÒÃÇ¿ÉÒÔÀûÓù㷺ʹÓõÄAPI-°²È«±ê×¼À´×ö£¬ÀýÈçOAuth2,
OpeniD Connect£¬ ÕâÊǽâ¾ö΢·þÎñ°²È«ÎÊÌâµÄ¸üºÃ·½Ê½¡£ÔÚÎÒÃÇÉîÈë֮ǰ£¬ÎÒÏÈ×ܽáÒ»ÏÂÿÖÖ±ê×¼µÄÄ¿µÄÒÔ¼°ÎÒÃǸÃÈçºÎʹÓá£
OAuth2 - ÊÇÒ»¸ö·ÃÎÊÊÚȨÐÒé¡£¿Í»§¶ËÏàÊÚȨ·þÎñÆ÷ÈÏÖ¤µÃµ½Ò»¸ö¡®·ÃÎÊÁîÅÆ¡¯£¬·ÃÎÊÁîÅÆÀïÃæ²»°üº¬¹ØÓÚÓû§»òÕ߿ͻ§¶ËµÄÈκÎÐÅÏ¢¡£Ëü½ö½ö°üº¬Ò»¸ö¶Ô¿Í»§ÐÅÏ¢µÄÓ¦Ó㬶øÇÒ½ö½öÄܱ»ÊÚȨ·þÎñÆ÷²éѯ¡£Òò´Ë£¬Ò²³£±»³ÆÎª'ÒýÓÃÐÍÁîÅÆ£¬¼´Ê¹ÔÚ¹«Íø¡¢»¥ÁªÍøÉÏʹÓÃÒ²Êǰ²È«µÄ¡£
OpenID ConnectÈçOAuth2ÐÐΪÀàËÆ£¬µ«ÊdzýÁË·ÃÎÊÁîÅÆÖ®Í⣬ÊÚȨ·ÃÎÊÒ²»á·¢³öÒ»¸öIDÁîÅÆ£¬ÆäÖаüº¬ÓÐÓû§µÄÐÅÏ¢¡£Õⳣͨ¹ýJWT(JSON
WEB TOKEN)ʵÏÖ£¬ÓÉÊÚȨ·þÎñÆ÷Ç©Ãû¡£ÕâÑù±£Ö¤ÁËÊÚȨ·þÎñÆ÷Óë¿Í»§¶ËµÄ»¥ÏàÐÅÈΡ£JWTÁîÅÆÒò´ËÒ²³ÆÎª¡°ÖµÐÍÁîÅÆ¡±£¬ÒòΪËüÀïÃæ°üº¬ÓÐÓû§ÐÅÏ¢£¬Í¨¹ý²»ÊÊÓÚÔÚ¹«¹²ÍøÂçʹÓá£
ÏÖÔÚ£¬ÎÒÃÇ¿´¿´ÈçºÎÔÚÁãÊ۵ݸÀýÖÐʹÓÃÕâЩ°²È«±ê×¼À´ÊµÏÖ΢·þÎñµÄ°²È«£º

ͼ12 ΢·þÎñ°²È«£¬»ùÓÚOAuth2ºÍOpenID
Connect
Èçͼ12£¬ ÔÚʵÏÖ΢·þÎñ°²È«Ê±ÓÐÈçϹØö²½Ö裺
½«ÈÏÖ¤½»¸øOAuth2ºÍOpenID Connect·þÎñÆ÷£¨ÊÚȨ·þÎñÆ÷£©£¬Èç´ËÒ»À´Óû§Ö»ÒªÓÐȨʹÓÃÕâЩÊý¾Ý΢·þÎñ¾Í¿ÉÒÔÌṩ·ÃÎÊ
ʹÓÃAPI-GW·½Ê½£¬¶ÔÓÚËùÓеĿͻ§ÇëÇóÓе¥Ò»Èë¿Ú
¿Í»§Á¬½Óµ½ÊÚȨ·þÎñÆ÷µÃµ½·ÃÎÊÁîÅÆ£¨ÒýÓÃÐÍÁîÅÆ£©£¬È»ºó½«ÁîÅÆºÍÇëÇóÒ»Æð·¢¸øAPI-GW
Íø¹Ø×öÁîÅÆ·Òë - API-GWÌá³ö·ÃÎÊÁîÅÆ£¬·¢Ë͵½ÊÚȨ·þÎñÆ÷µÃµ½JWT£¨ÖµÐÍÁîÅÆ£©
Íø¹Ø½«JWTºÍÇëÇóÒ»Æð·¢¸øÎ¢·þÎñ²ã
JWTº¬ÓбØÒªµÄÐÅÏ¢À´×öÓû§»á»°±£´æµÈ¡£Èç¹ûÿ¸ö·þÎñ¶¼¿ÉÒÔÀí½âJSON web token£¬ÄÇôÄã¾ÍÓµÓÐÁË¿ÉÒÔ·Ö·¢Éí·ÝÐÅÏ¢µ½Õû¸öϵͳÖеĻúÖÆ
ÔÚÿ¸ö΢·þÎñ²ã£¬ÎÒÃÇ¿ÉÒÔÓÐÒ»¸ö×é¼þÀ´´¦ÀíJWT£¬Õâ¸öʵÏÖͨ³£·Ç³£¼òµ¥¡£
ÊÂÎñ
ÈçºÎÔÚ΢·þÎñÖÐÖ§³ÖÊÂÎñ£¿ ʵ¼ÊÉÏ£¬ ¿ç¶à¸ö΢·þÎñÀ´ÊµÏÖ·Ö²¼Ê½ÊÂÎñÊÇÒ»¸öÏ൱¸´ÔӵŤ×÷¡£Î¢·þÎñ¼Ü¹¹±¾Éí¹ÄÀøµÄÊÇ·þÎñÖ®¼ä·ÇÊÂÎñµÄе÷¡£
Õâ¸öÒâ˼ÊÇ»ùÓÚÿ¸ö·þÎñÍêÈ«×Ô°üº¬ÇÒµ¥Ò»ÔðÈεÄÔÔò¡£ÐèÒª¿ç¶à¸ö·þÎñÖ®¼äµÄ·Ö²¼Ê½ÊÂÎñͨ³£ÊÇ΢·þÎñÉè¼ÆÉϵÄȱÏÝ£¬Í¨³£Ó¦¸Ãͨ¹ýÖØ¹¹Î¢·þÎñµÄ·¶Î§À´½â¾ö¡£¾¡¹ÜÈç´Ë£¬Èç¹û±ØÐëÒªÓÐÕâÖÖ¿ç·þÎñµÄ·Ö²¼Ê½ÊÂÎñ£¬
ÕâÖÖ³¡¾°¿ÉÒÔͨ¹ýÔÚÿ¸ö΢·þÎñ²ãÒýÈë¡®ÐÞÕý²Ù×÷¡¯À´ÊµÏÖ¡£ ºËÐÄ˼ÏëÊÇ£¬Ä³¸öÌØ¶¨µÄ΢·þÎñÊǸù¾Ýµ¥Ò»ÔðÈÎÉè¼ÆµÄ£¬Èç¹ûËüÎÞ·¨Íê³Éij¸öÌØ¶¨²Ù×÷ʱ£¬ÎÒÃÇ¿ÉÒÔÈÏΪÕû¸ö΢·þÎñ¶¼Ê§°ÜÁË¡£
ÕâʱÉÏÓÎÆäËûµÄ΢·þÎñ¾ÍÒªÆðµ½ÓÃËüÃǸ÷×ÔµÄÐÞÕý²Ù×÷À´»Ø¹ö¡£
Ϊ¡¯Ê§Ð§¡®Éè¼Æ
΢·þÎñ¼Ü¹¹ÒýÈëÁËÒ»×éÀëÉ¢µÄ·þÎñ¼¯ºÏ£¬Óëµ¥Ìå¼Ü¹¹Ïà±È£¬ÕâÔö¼ÓÁËÔÚÿһ¸ö΢·þÎñ¼¶±ðʧ°ÜµÄ¿ÉÄÜÐÔ¡£Ò»¸ö΢·þÎñµÄʧЧ¿ÉÄÜÓÉÓÚÍøÂçÎÊÌ⣬µ×²ã×ÊÔ´²»¿ÉÓõȵÈÒòËØ¡£µ¥¸ö΢·þÎñµÄ²»¿ÉÓûòÕßûÏìÓ¦²»Ó¦¸ÃÈÃÕû¸öÓ¦ÓÃʧ°Ü¡£ÕâÑù£¬Î¢·þÎñÓ¦¸ÃÊÇÈÝ´íµÄ£¬¿ÉÄܵϰÓÐÄÜÁ¦×Ô¶¯»Ö¸´£¬¿Í»§¶ËÒ²ÒªÄÜÓÅÑÅ´¦Àí¡£
ÁíÍ⣬ÒòΪ·þÎñ¿ÉÄÜËæÊ±Ê§°Ü£¬¿ìËÙ·¢ÏÖʧ°Ü£¨ÊµÊ±¼à¿Ø£©£¬¿ÉÄܵϰ×Ô¶¯»Ö¸´·þÎñҲʮ·ÖÖØÒª¡£
ÔÚ΢·þÎñ³¡¾°Ï£¬Óм¸ÖÖ´¦Àí´íÎóµÄͨÓÃģʽ£º
Á´Â·¶Ï¿ªÆ÷
µ±Äã¶ÔÒ»¸ö΢·þÎñ×öÍⲿµ÷ÓÃʱ£¬Äã¿ÉÒÔ¸øÃ¿Ò»¸öµ÷ÓÃÅäÖÃÒ»¸ö´íÎó¼à¿Ø×é¼þ¡£µ±Ê§°Ü´ïµ½Ä³¸öãÐֵʱ£¬×é¼þ»áÍ£Ö¹¶ÔÄǸö·þÎñµÄµ÷Ó㨶ϿªÁ´Â·£©¡£
ÔÚÌØ¶¨ÊýÄ¿µÄÇëÇóÊÇopen״̬֮ºó£¨¿ÉÒÔ×Ô¼º¶¨Ò壩£¬½«Á´Â·±ÕºÏ»ØÈ¥¡£
Õâ¸öģʽ¶Ô±ÜÃâÎÞνµÄ×ÊÔ´ÏûºÄÌØ±ðÓÐÓ㬠ÇëÇóÒòΪ³¬Ê±±»ÍƳ٣¬Ò²ÈÃÎÒÃÇÓлú»á¼à¿ØÏµÍ³×´Ì¬£¨»ùÓÚ»îÔ¾µÄopenµÄÁ´Â·×´Ì¬£©
¸ôÀëǽ
ÓÉÓÚÓ¦ÓÃÓÉÏ൱ÊýÁ¿µÄ΢·þÎñ×é³É£¬Ó¦ÓõÄijһ²¿·ÖµÄ΢·þÎñʧЧ²»Ó¦Ó°ÏìÓ¦ÓÃµÄÆäËû²¿·Ö¡£¸ôÀëǽģʽ¾ÍÊǽ«Ó¦ÓõIJ»Í¬²¿·Ö¸ôÀ룬ÕâÑùÒ»À´£¬Ó¦ÓõÄij¸ö²¿·ÖµÄij¸ö·þÎñµÄʧ°Ü²»»áÓ°ÏìÆäËû·þÎñ¡£
³¬Ê±
³¬Ê±Ä£ÐÍÊÇÕâÑùÒ»ÖÖ»úÖÆ£¬ËüÔÊÐíÔÚµ±Äã¾õµÃ·þÎñµÄÏìÓ¦²»»á»ØÀ´Ê±Í£Ö¹µÈ´ý¡£ÕâÑùÄã¾Í¿ÉÒÔÅäÖõȴýµÄʱ¼ä¼ä¸ô¡£
ÄÇô£¬ÎÒÃÇÓ¦¸ÃÔÚ·þÎñÖÐÄÄÀïʹÓü°ÈçºÎʹÓÃÕâÐ©Ä£Ê½ÄØ£¿ ÔÚ´ó¶àÊýʱºò£¬´ó¶àÊýµÄģʽÊÊÓÃÓÚÍø¹Ø²ã¡£Ò²¾ÍÊÇ˵µ±·þÎñ²»¿ÉÓûòÕßûÏìӦʱ£¬ÎÒÃÇ¿ÉÒÔÔÚÍø¹Ø¼¶±ð¾ö¶¨Ê¹ÓÃÁ´Â·¶Ï¿ª»òÕß³¬Ê±µÄģʽÀ´¸ø·þÎñ·¢ÇëÇó¡£Í¬ÑùµÄ£¬
ÔÚÍø¹Ø¼¶±ðʵÏÖ¸ôÀëǽµÄģʽҲʮ·ÖÖØÒª£¬ÒòΪËüÊÇËùÓÐÇëÇóµÄΨһÈë¿Ú£¬ËùÒÔij¸ö·þÎñµÄʧ°Ü²»»áÓ°ÏìÆäËû·þÎñµÄµ÷Óá£
ÁíÍâ£¬Íø¹ØÒ²¿ÉÒÔÓÃ×÷ÎÒÃÇ¼à¿ØÃ¿¸ö·þÎñ״̬µÄÖÐÐĵ㣬ÒòΪÿ¸ö·þÎñ¶¼ÊÇͨ¹ýÍø¹ØÀ´µ÷Óõġ£
΢·þÎñ£¬ÆóÒµ¼¶¼¯³É£¬ API¹ÜÀí£¬ÒÔ¼°ÆäËû
ÎÒÃÇÒѾÌÖÂÛÁË΢·þÎñ¼Ü¹¹µÄ¸÷ÖÖÌØÐÔ£¬ÒÔ¼°ÈçºÎÔÚÏÖ´úµÄÆóÒµitÀïʵÏÖËüÃÇ¡£¾¡¹ÜÈç´Ë£¬ÎÒÃDZØÐëÖªµÀ΢·þÎñ²»ÊǰüÖΰٲ¡µÄÁ鵤ÃîÒ©¡£Ã¤Ä¿µÄÎüÊÕÁ÷ÐиÅÄî²¢²»»áÕæÕý½â¾öÆóÒµitµÄʵ¼ÊÎÊÌâ¡£Äãͨƪ¶ÁÏÂÀ´»á¾õµÃ£¬Î¢·þÎñȷʵÓкܶàÓŵãÎÒÃÇÓ¦¸ÃÀûÓᣵ«ÊÇ£¬ÎÒÃÇÒ²±ØÐëÒâʶµ½Ê¹ÓÃ΢·þÎñÀ´½â¾öËùÓеÄITÎÊÌâÊDz»ÇÐʵ¼ÊµÄ¡£
ÀýÈ磬΢·þÎñ¼Ü¹¹ÍƳçÈ¥³ý×÷ΪÖÐÑë×ÜÏßµÄESB£¬µ«ÊÇÔÚʵ¼ÊµÄIT³¡¾°Ï£¬ÎÒÃÇÒѾÓÐÏ൱ÊýÁ¿µÄÏßÉÏÓ¦ÓúͷþÎñ²¢²»ÊÇ»ùÓÚ΢·þÎñµÄ¡£Òò´Ë£¬ÎªÁ˼¯³ÉËüÃÇ£¬ÎÒÃDZØÐëʹÓÃijÖÖ¼¯³É×ÜÏß¡£ËùÒÔ£¬
ÀíÏëÇé¿öÊÇ£¬Ò»¸öÈÚºÏÁË΢·þÎñºÍÆäËûÆóÒµ¼Ü¹¹ÀíÄÀýÈ缯³É£©µÄ·½·¨ÏÔÈ»¸üÇкÏʵ¼Ê¡£ÎÒ½«ÔÚÁíһƪÎÄÕÂÖе¥¶À¼ÓÒÔ²ûÊö¡£ |