±à¼ÍƼö: |
ÓÐûÓв»×èÈûÏ̵߳ıà³Ì·½·¨ÄØ£¿´ð°¸¾ÍÊÇ·´Ó¦Ê½±à³Ì£¬·´Ó¦Ê½±à³ÌÊÇʲô£¿FlowerµÄ»ù±¾ÔÀí£¬FlowerµÄÉè¼Æ·½·¨ÒÔ¼°FlowerµÄÂäµØÐ§¹ûÊDZ¾ÎĵÄÖØµã¡£
±¾ÎÄÀ´×ÔÓÚinfoq£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼¡¢ÍƼö¡£ |
|
ΪʲôÔڸ߲¢·¢µÄÇé¿öÏ£¬³ÌÐò»á±ÀÀ£¡£Ö÷ÒªÔÒòÊÇ£¬Ôڸ߲¢·¢µÄÇé¿öÏ£¬ÓдóÁ¿Óû§ÇëÇóÐèÒª³ÌÐò¼ÆËã´¦Àí£¬¶øÄ¿Ç°µÄ´¦Àí·½Ê½ÊÇ£¬ÎªÃ¿¸öÓû§ÇëÇó·ÖÅäÒ»¸öỊ̈߳¬µ±³ÌÐòÄÚ²¿ÒòΪ·ÃÎÊÊý¾Ý¿âµÈÔÒòÔì³ÉÏß³Ì×èÈûʱ£¬Ïß³ÌÎÞ·¨ÊÍ·ÅÈ¥´¦ÀíÆäËûÇëÇó£¬ÕâÑù¾Í»áÔì³ÉÇëÇó¶Ñ»ý£¬²»¶ÏÏûºÄ×ÊÔ´£¬×îÖÕµ¼Ö³ÌÐò±ÀÀ£¡£

ÕâÊÇ´«Í³µÄ Web Ó¦ÓóÌÐòÔËÐÐÆÚµÄÏß³ÌÌØÐÔ¡£¶ÔÓÚÒ»¸ö¸ß²¢·¢µÄÓ¦ÓÃϵͳÀ´Ëµ£¬×ÜÊÇͬʱÓкܶà¸öÓû§ÇëÇóµ½´ïϵͳµÄ
Web ÈÝÆ÷¡£Web ÈÝÆ÷Ϊÿ¸öÇëÇó·ÖÅäÒ»¸öÏ߳̽øÐд¦Àí£¬Ïß³ÌÔÚ´¦Àí¹ý³ÌÖУ¬Èç¹ûÓöµ½·ÃÎÊÊý¾Ý¿â»òÕßÔ¶³Ì·þÎñµÈ²Ù×÷£¬¾Í»á½øÈë×èÈû״̬£¬Õâ¸öʱºò£¬Èç¹ûÊý¾Ý¿â»òÕßÔ¶³Ì·þÎñÏìÓ¦ÑÓ³Ù£¬¾Í»á³öÏÖ³ÌÐòÄÚµÄÏß³ÌÎÞ·¨ÊͷŵÄÇé¿ö£¬¶øÍⲿµÄÇëÇ󲻶ϽøÀ´£¬µ¼Ö¼ÆËã»ú×ÊÔ´±»¿ìËÙÏûºÄ£¬×îÖÕ³ÌÐò±ÀÀ£¡£
ÄÇôÓÐûÓв»×èÈûÏ̵߳ıà³Ì·½·¨ÄØ£¿
Ò»¡¢·´Ó¦Ê½±à³Ì
´ð°¸¾ÍÊÇ·´Ó¦Ê½±à³Ì¡£·´Ó¦Ê½±à³Ì±¾ÖÊÉÏÊÇÒ»ÖÖÒì²½±à³Ì·½°¸£¬ÔÚ¶àỊ̈߳¨Ð³Ì£©¡¢Òì²½·½·¨µ÷Óá¢Òì²½ I/O
·ÃÎʵȼ¼Êõ»ù´¡Ö®ÉÏ£¬ÌṩÁËÒ»ÕûÌ×ÓëÒì²½µ÷ÓÃÏàÆ¥ÅäµÄ±à³ÌÄ£ÐÍ£¬´Ó¶øÊµÏÖ³ÌÐòµ÷Ó÷Ç×èÈû¡¢¼´Ê±ÏìÓ¦µÈÌØÐÔ£¬¼´¿ª·¢³öÒ»¸ö·´Ó¦Ê½µÄϵͳ£¬ÒÔÓ¦¶Ô±à³ÌÁìÓòÔ½À´Ô½¸ßµÄ²¢·¢´¦ÀíÐèÇó¡£
ÈËÃÇ»¹Ìá³öÁËÒ»¸ö·´Ó¦Ê½ÐûÑÔ£¬ÈÏΪ·´Ó¦Ê½ÏµÍ³Ó¦¸Ã¾ß±¸ÈçÏÂÌØÖÊ£º
¼´Ê±ÏìÓ¦£¬Ó¦Óõĵ÷ÓÃÕß¿ÉÒÔ¼´Ê±µÃµ½ÏìÓ¦£¬ÎÞÐèµÈµ½Õû¸öÓ¦ÓóÌÐòÖ´ÐÐÍê±Ï¡£Ò²¾ÍÊÇ˵ӦÓõ÷ÓÃÊÇ·Ç×èÈûµÄ¡£
»Øµ¯ÐÔ£¬µ±Ó¦ÓóÌÐò²¿·Ö¹¦ÄÜʧЧµÄʱºò£¬Ó¦ÓÃϵͳ±¾ÉíÄܹ»½øÐÐ×ÔÎÒÐÞ¸´£¬±£Ö¤Õý³£ÔËÐУ¬±£Ö¤ÏìÓ¦£¬²»»á³öÏÖϵͳ±ÀÀ£ºÍå´»úµÄÇé¿ö¡£
µ¯ÐÔ£¬ÏµÍ³Äܹ»¶ÔÓ¦ÓøºÔØÑ¹Á¦×ö³öÏìÓ¦£¬Äܹ»×Ô¶¯ÉìËõÒÔÊÊÓ¦Ó¦ÓøºÔØÑ¹Á¦£¬¸ù¾ÝѹÁ¦×Ô¶¯µ÷Õû×ÔÉíµÄ´¦ÀíÄÜÁ¦£¬»òÕ߸ù¾Ý×ÔÉíµÄ´¦ÀíÄÜÁ¦£¬µ÷Õû½øÈëϵͳÖеķÃÎÊÇëÇóÊýÁ¿¡£
ÏûÏ¢Çý¶¯£¬¹¦ÄÜÄ£¿éÖ®¼ä£¬·þÎñÖ®¼ä£¬Í¨¹ýÏûÏ¢½øÐÐÇý¶¯£¬Íê³É·þÎñµÄÁ÷³Ì¡£
ĿǰÖ÷Á÷µÄ·´Ó¦Ê½±à³Ì¿ò¼ÜÓÐ RxJava¡¢Reactor µÈ£¬ËüÃǵÄÖ÷ÒªÌØµãÊÇ»ùÓÚ¹Û²ìÕßÉè¼ÆÄ£Ê½µÄÒì²½±à³Ì·½°¸£¬±à³ÌÄ£ÐͲÉÓú¯Êýʽ±à³Ì¡£
¹Û²ìÕßģʽºÍº¯Êýʽ±à³ÌÓÐ×Ô¼ºµÄÓÅÊÆ£¬µ«ÊÇ·´Ó¦Ê½±à³Ì²¢²»ÊDZØÐëÓù۲ìÕßģʽºÍº¯Êýʽ±à³Ì¡£Flower
¾ÍÊÇÒ»¸ö´¿ÏûÏ¢Çý¶¯£¬ÍêÈ«Òì²½£¬Ö§³ÖÃüÁîʽ±à³ÌµÄ·´Ó¦Ê½±à³Ì¿ò¼Ü¡£
ÏÂÃæÎÒÃǾͿ´¿´ Flower ÈçºÎʵÏÖÒì²½ÎÞ×èÈûµÄµ÷Óã¬ÒÔ¼° Flower Õâ¸ö¿ò¼ÜÉè¼ÆÊ¹ÓÃÁËʲôÑùµÄÉè¼ÆÔÔòÓëģʽ¡£
¶þ¡¢·´Ó¦Ê½±à³Ì¿ò¼ÜFlowerµÄ»ù±¾ÔÀí
Ò»¸öʹÓà Flower ¿ò¼Ü¿ª·¢µÄµäÐÍ Web Ó¦ÓõÄÏß³ÌÌØÐÔÈçÏÂͼËùʾ£º

µ±²¢·¢Óû§µ½´ïÓ¦Ó÷þÎñÆ÷µÄʱºò£¬Web ÈÝÆ÷Ï̲߳»ÐèÒªÖ´ÐÐÓ¦ÓóÌÐò´úÂ룬ËüÖ»Êǽ«Óû§µÄ HTTP
ÇëÇó±äΪÇëÇó¶ÔÏ󣬽«ÇëÇó¶ÔÏóÒì²½½»¸ø Flower ¿ò¼ÜµÄ Service È¥´¦Àí£¬×ÔÉíÁ¢¿Ì¾Í·µ»Ø¡£ÒòΪÈÝÆ÷Ï̲߳»×öÌ«¶àµÄ¹¤×÷£¬ËùÒÔÖ»Ð輫ÉÙµÄÈÝÆ÷Ï߳̾ͿÉÒÔÂú×ã¸ß²¢·¢µÄÓû§ÇëÇó£¬Óû§µÄÇëÇ󲻻ᱻ×èÈû£¬²»»áÒòΪÈÝÆ÷Ï̲߳»¹»¶øÎÞ·¨´¦Àí¡£Ïà±È´«Í³µÄ×èÈûʽ±à³Ì£¬Web
ÈÝÆ÷Ïß³ÌÒªÍê³ÉÈ«²¿µÄÇëÇó´¦Àí²Ù×÷£¬Ö±µ½·µ»ØÏìÓ¦½á¹û²ÅÄÜÊÍ·ÅỊ̈߳»Ê¹ÓÃFlower ¿ò¼ÜÖ»ÐèÒª¼«ÉÙµÄÈÝÆ÷Ï߳̾ͿÉÒÔ´¦Àí½Ï¶àµÄ²¢·¢Óû§ÇëÇ󣬶øÇÒÈÝÆ÷Ï̲߳»»á×èÈû¡£
Óû§ÇëÇ󽻸ø»ùÓÚ Flower ¿ò¼Ü¿ª·¢µÄÒµÎñ Service ¶ÔÏóÒÔºó£¬Service Ö®¼äÒÀÈ»ÊÇʹÓÃÒì²½ÏûϢͨѶµÄ·½Ê½½øÐе÷Ó㬲»»áÖ±½Ó½øÐÐ×èÈûʽµÄµ÷Óá£Ò»¸ö
Service Íê³ÉÒµÎñÂß¼´¦Àí¼ÆËãÒԺ󣬻᷵»ØÒ»¸ö´¦Àí½á¹û£¬Õâ¸ö½á¹ûÒÔÏûÏ¢µÄ·½Ê½Òì²½·¢Ë͸øËüµÄÏÂÒ»¸öService¡£
´«Í³±à³ÌÄ£Ð굀 Service Ö®¼äÈç¹û½øÐе÷Ó㬱»µ÷ÓõÄService ÔÚ·µ»ØÖ®Ç°£¬µ÷ÓÃµÄ Service
·½·¨Ö»ÄÜ×èÈûµÈ´ý¡£¶ø Flower µÄ Service Ö®¼äʹÓÃÁË AKKA Actor ½øÐÐÏûϢͨÐÅ£¬µ÷ÓÃÕßµÄ
Service ·¢Ë͵÷ÓÃÏûÏ¢ºó£¬²»ÐèÒªµÈ´ý±»µ÷ÓÃÕß·µ»Ø½á¹û£¬¾Í¿ÉÒÔ´¦Àí×Ô¼ºµÄÏÂÒ»¸öÏûÏ¢ÁË¡£ÊÂʵÉÏ£¬ÕâЩ
Service ¿ÉÒÔ¸´ÓÃͬһ¸öÏß³ÌÈ¥´¦Àí×Ô¼ºµÄÏûÏ¢£¬Ò²¾ÍÊÇ˵£¬Ö»ÐèÒªÓÐÏ޵öÏ߳̾ͿÉÒÔÍê³É´óÁ¿µÄ
Service ´¦ÀíºÍÏûÏ¢´«Ê䣬ÕâЩÏ̲߳»»á×èÈûµÈ´ý¡£
ÎÒÃǸղÅÌáµ½£¬Í¨³£ Web Ó¦ÓÃÖ÷ÒªµÄÏß³Ì×èÈû£¬ÊÇÒòΪÊý¾Ý¿âµÄ·ÃÎʵ¼ÖµÄÏß³Ì×èÈû¡£Flower Ö§³ÖÒì²½Êý¾Ý¿âÇý¶¯£¬Óû§ÇëÇóÊý¾Ý¿âµÄʱºò£¬½«ÇëÇóÌá½»¸øÒì²½Êý¾Ý¿âÇý¶¯£¬Á¢¿Ì¾Í·µ»Ø£¬²»»á×èÈûµ±Ç°Ị̈߳¬Òì²½Êý¾Ý¿â·ÃÎÊÁ¬½ÓÔ¶³ÌµÄÊý¾Ý¿â£¬½øÐÐÕæÕýµÄÊý¾Ý¿â²Ù×÷£¬µÃµ½½á¹ûÒԺ󣬽«½á¹ûÒÔÒì²½»Øµ÷µÄ·½Ê½·¢Ë͸ø
Flower µÄ Service ½øÐнøÒ»²½µÄ´¦Àí£¬Õâ¸öʱºòÒÀÈ»²»»áÓÐÏ̱߳»×èÈû¡£
Ò²¾ÍÊÇ˵£¬Ê¹Óà Flower ¿ª·¢µÄϵͳ£¬ÔÚÒ»¸öµäÐ굀 Web Ó¦ÓÃÖУ¬¼¸ºõûÓÐÈκεط½»á±»×èÈû£¬ËùÓеÄÏ̶߳¼¿ÉÒÔ±»²»¶ÏµØ¸´Óã¬ÓÐÏÞµÄÏ߳̾ͿÉÒÔÍê³É´óÁ¿µÄ²¢·¢Óû§ÇëÇ󣬴Ӷø´ó´óµØÌá¸ßÁËϵͳµÄÍÌÍÂÄÜÁ¦ºÍÏìӦʱ¼ä£¬Í¬Ê±£¬ÓÉÓÚÏ̲߳»»á±»×èÈû£¬Ó¦ÓþͲ»»áÒòΪ²¢·¢Á¿Ì«´ó»òÕßÊý¾Ý¿â´¦Àí»ºÂý¶øå´»ú£¬´Ó¶øÌá¸ßÁËϵͳµÄ¿ÉÓÃÐÔ¡£
Flower ¿ò¼ÜʵÏÖÒì²½ÎÞ×èÈû£¬Ò»·½ÃæÊÇÀûÓÃÁË Web ÈÝÆ÷µÄÒì²½ÌØÐÔ£¬Ö÷ÒªÊÇ Servlet3.0ÒÔºóÌṩµÄ
AsyncContext£¬¿ìËÙÊÍ·ÅÈÝÆ÷Ị̈߳»ÁíÒ»·½ÃæÊÇÀûÓÃÁËÒì²½µÄÊý¾Ý¿âÇý¶¯ÒÔ¼°Òì²½µÄÍøÂçͨÐÅ£¬Ö÷ÒªÊÇ
HttpAsyncClient µÈÒ첽ͨÐÅ×é¼þ¡£¶ø Flower ¿ò¼ÜÄÚ£¬ºËÐĵÄÓ¦ÓôúÂëÖ®¼äµÄÒì²½ÎÞ×èÈûµ÷Óã¬ÔòÊÇÀûÓÃÁË
Akka µÄ Actor Ä£ÐÍʵÏÖ¡£
Akka Actor µÄÒì²½ÏûÏ¢Çý¶¯ÊµÏÖÈçÏ£º

Ò»¸ö Actor ÏòÁíÒ»¸ö Actor ½øÐÐͨѶµÄʱºò£¬µ±Ç° Actor ¾ÍÊÇÒ»¸öÏûÏ¢µÄ·¢ËÍÕßsender£¬µ±ËüÏëÒªÏòÁíÒ»¸ö
Actor ½øÐÐͨѶµÄʱºò£¬¾ÍÐèÒª»ñµÃÁíÒ»¸ö Actor µÄActorRef£¬Ò²¾ÍÊÇÒ»¸öÒýÓã¬Í¨¹ýÒýÓýøÐÐÏûϢͨÐÅ¡£¶ø
ActorRef ÊÕµ½ÏûÏ¢ÒԺ󣬻ὫÕâ¸öÏûÏ¢·ÅÈ뵽Ŀ±ê Actor µÄ Mailbox ÀïÃæÈ¥£¬È»ºó¾ÍÁ¢¼´·µ»ØÁË¡£
Ò²¾ÍÊÇ˵һ¸ö Actor ÏòÁíÒ»¸ö Actor ·¢ËÍÏûÏ¢µÄʱºò£¬²»ÐèÒªÁíÒ»¸ö Actor È¥ÕæÕýµØ´¦ÀíÕâ¸öÏûÏ¢£¬Ö»ÐèÒª½«ÏûÏ¢·¢Ë͵½Ä¿±ê
Actor µÄ Mailbox ÀïÃæ¾Í¿ÉÒÔÁË¡£×Ô¼º²»»á±»×èÈû£¬¿ÉÒÔ¼ÌÐøÖ´ÐÐ×Ô¼ºµÄ²Ù×÷£¬¶øÄ¿±ê Actor
¼ì²é×Ô¼ºµÄ Mailbox ÖÐÊÇ·ñÓÐÏûÏ¢£¬Èç¹ûÓÐÏûÏ¢£¬Actor Ôò»áÔÚ´Ó Mailbox ÀïÃæÈ¥»ñÈ¡ÏûÏ¢£¬¶ÔÏûÏ¢½øÐÐÒì²½µÄ´¦Àí£¬¶øËùÓеÄ
Actor»á¹²ÏíỊ̈߳¬ÕâЩÏ̲߳»»áÓÐÈκεÄ×èÈû¡£
Èý¡¢·´Ó¦Ê½±à³Ì¿ò¼ÜFlowerµÄÉè¼Æ·½·¨
µ«ÊÇÖ±½ÓʹÓà Actor ½øÐбà³ÌÓкܶ಻±ã£¬Flower ¿ò¼Ü¶Ô
Actor ½øÐÐÁË·â×°£¬¿ª·¢ÕßÖ»ÐèÒª±àдһЩϸÁ£¶ÈµÄ Service£¬ÕâЩ Service »á±»°ü×°ÔÚ
Actor ÀïÃæ£¬½øÐÐÒ첽ͨÐÅ¡£Flower Service Àý×ÓÈçÏ£º
publicclassServiceAimplementsService<Message2>{
@Override
publicObjectprocess(Message2message){
returnmessage.getAge()+1;
}
} |
ÿ¸ö Service ¶¼ÐèҪʵÏÖ¿ò¼ÜµÄ Service ½Ó¿ÚµÄ process ·½·¨£¬process
·½·¨µÄÊäÈë²ÎÊý¾ÍÊÇǰһ¸ö Service process ·½·¨µÄ·µ»ØÖµ£¬ÕâÑùÖ»ÐèÒª½« Service
±àÅųÉÒ»¸öÁ÷³Ì£¬Service µÄ·µ»ØÖµ¾Í»á±ä³É Actor µÄÒ»¸öÏûÏ¢£¬±»·¢Ë͸øÏÂÒ»¸ö Service£¬´Ó¶øÊµÏÖService
µÄÒ첽ͨÐÅ¡£
Service µÄÁ÷³Ì±àÅÅÓÐÁ½ÖÖ·½Ê½£¬Ò»ÖÖ·½Ê½ÊDZà³ÌʵÏÖ£¬ÈçÏ£º
getServiceFlow().buildFlow("ServiceA","ServiceB"); |
±íʾ ServiceA µÄ·µ»ØÖµ½«×÷ΪÏûÏ¢·¢Ë͸ø ServiceB£¬³ÉΪ ServiceB µÄÊäÈëÖµ£¬ÕâÑùÁ½¸öService
¾Í¿ÉÒÔºÏ×÷Íê³ÉһЩ¸ü¸´ÔÓµÄÒµÎñÂß¼¡£
Flower »¹Ö§³Ö¿ÉÊÓ»¯µÄ Service Á÷³Ì±àÅÅ£¬ÏñÏÂÃæÕâÕÅͼһÑù±à¼Á÷³Ì¶¨ÒåÎļþ£¬¾Í¿ÉÒÔ¿ª·¢Ò»¸öÒì²½ÒµÎñ´¦ÀíÁ÷³Ì¡£

ÄÇôÕâ¸ö Flower ¿ò¼ÜÊÇÈçºÎʵÏÖµÄÄØ£¿
Flower ¿ò¼ÜµÄÉè¼ÆÒ²ÊÇ»ùÓÚÒÀÀµµ¹ÖÃÔÔò¡£ËùÓÐÓ¦Óÿª·¢ÕßʵÏÖµÄService Àà¶¼ÐèÒª°ü×°ÔÚ
Actor ÀïÃæ½øÐÐÒì²½µ÷Ó㬵«ÊÇ Actor ²»»áÒÀÀµ¿ª·¢ÕßʵÏÖµÄService À࣬¿ª·¢ÕßÒ²²»»áÒÀÀµ
Actor À࣬ËûÃǹ²Í¬ÒÀÀµÒ»¸ö Service ½Ó¿Ú£¬Õâ¸ö½Ó¿ÚÊÇ¿ò¼ÜÌṩµÄ£¬ÈçÉÏÃæÀý×ÓËùʾ¡£
Actor Óë Service µÄÒÀÀµµ¹ÖùØÏµÈçÏÂͼËùʾ£º

ÿ¸ö Actor ¶¼ÒÀÀµÒ»¸ö Service ½Ó¿Ú£¬¶ø¾ßÌåµÄ Service ʵÏÖÀ࣬±ÈÈç MyService£¬ÔòʵÏÖÕâ¸ö
Service ½Ó¿Ú¡£ÔÚÔËÐÐÆÚʵÀý»¯ Actor µÄʱºò£¬Õâ¸ö½Ó¿Ú±»×¢Èë¾ßÌåµÄ Service ʵÏÖÀ࣬±ÈÈç
MyService¡£ÔÚ Flower ÖУ¬µ÷Óà MyService ¶ÔÏ󣬯äʵ¾ÍÊǸø°ü×°MyService
¶ÔÏóµÄ Actor ·¢ÏûÏ¢£¬Actor ÊÕµ½ÏûÏ¢£¬Ö´ÐÐ×Ô¼ºµÄ onReceive ·½·¨£¬ÔÚÕâ¸ö·½·¨ÀActor
µ÷Óà MyService µÄ process ·½·¨£¬²¢½« onReceive ÊÕµ½µÄ Message
¶ÔÏóµ±×ö process µÄÊäÈë²ÎÊý´«Èë¡£
process ´¦ÀíÍê³Éºó£¬·µ»ØÒ»¸ö Object ¶ÔÏó¡£Actor »á¸ù¾Ý±àÅźõÄÁ÷³Ì£¬»ñÈ¡MyService
ÔÚÁ÷³ÌÖеÄÏÂÒ»¸ö Service ¶ÔÓ¦µÄ Actor£¬¼´ nextServiceActor£¬½« process·µ»ØµÄ
Object ¶ÔÏóµ±×öÏûÏ¢·¢Ë͸øÕâ¸ö nextServiceActor¡£ÕâÑù£¬Service Ö®¼ä¾Í¸ù¾Ý±àÅźõÄÁ÷³Ì£¬Òì²½¡¢ÎÞ×èÈûµØµ÷ÓÃÖ´ÐÐÆðÀ´ÁË¡£
ËÄ¡¢·´Ó¦Ê½±à³Ì¿ò¼ÜFlowerµÄÂäµØÐ§¹û
Flower ¿ò¼ÜÔÚ²¿·ÖÏîÄ¿ÖÐÂ䵨ӦÓã¬Ó¦ÓÃЧ¹û½ÏΪÏÔÖø£¬Ò»·½Ã棬Flower ¿ÉÒÔÏÔÖøÌá¸ßϵͳµÄÐÔÄÜ¡£ÕâÊÇij¸ö
C# ¿ª·¢µÄϵͳʹÓà Flower ÖØ¹¹ºóµÄ TPS ÐÔÄܱȽϣ¬Ê¹Óà Flower ¿ª·¢µÄϵͳ TPS
²î²»¶àÊÇÔÀ´ C# ϵͳµÄÁ½±¶¡£

ÁíÒ»·½Ã棬Flower ¶Ôϵͳ¿ÉÓÃÐÔÒ²ÓнϴóÌáÉý£¬Ä¿Ç°³£¼û»¥ÁªÍøÓ¦Óüܹ¹ÈçÏÂͼ£º

Óû§ÇëÇóͨ¹ýÍø¹Ø·þÎñÆ÷µ÷ÓÃ΢·þÎñÍê³É´¦Àí£¬ÄÇôµ±ÓÐij¸ö΢·þÎñÁ¬½ÓµÄÊý¾Ý¿â²éѯִÐнÏÂýʱ£¬ÈçͼÖзþÎñ
1£¬ÄÇô°´ÕÕ´«Í³µÄÏß³Ì×èÈûÄ£ÐÍ£¬¾Í»áµ¼Ö·þÎñ 1 µÄÏ̶߳¼±»×èÈûÔÚÕâ¸öÂý²éѯµÄÊý¾Ý¿â²Ù×÷ÉÏ¡£Í¬ÑùµÄ£¬Íø¹ØÏß³ÌÒ²»á×èÈûÔÚµ÷ÓÃÕâ¸öÑӳٱȽÏÀ÷º¦µÄ·þÎñ1
ÉÏ¡£
×îÖÕµÄЧ¹û¾ÍÊÇ£¬Íø¹ØËùÓеÄÏ̶߳¼±»×èÈû£¬¼´Ê¹ÊDz»µ÷Ó÷þÎñ 1 µÄÓû§ÇëÇóÒ²ÎÞ·¨´¦Àí£¬×îºóÕû¸öϵͳʧȥÏìÓ¦£¬Ó¦ÓÃå´»ú¡£Ê¹ÓÃ×èÈûʽ±à³Ì£¬Êµ¼ÊµÄѹ²âЧ¹ûÈçÏ£¬µ±·þÎñ
1ÏìÓ¦ÑÓ³Ù£¬³ö´íÂÊ´ó·ùìÉýµÄʱºò£¬Í¨¹ýÍø¹Øµ÷ÓÃÕý³£µÄ·þÎñ 2 µÄ³ö´íÂÊÒ²·Ç³£¸ß¡£

ʹÓà Flower ¿ª·¢µÄÍø¹Ø£¬Êµ¼Êѹ²âЧ¹ûÈçÏ£¬Í¬Ñù·þÎñ 1 ÏìÓ¦ÑÓ³Ù£¬³ö´íÂʼ«¸ßµÄÇé¿öÏ£¬Í¨¹ý
Flower Íø¹Øµ÷Ó÷þÎñ 2 ÍêÈ«²»ÊÜÓ°Ïì¡£

Îå¡¢×ܽá
ÊÂʵÉÏ£¬Flower ²»½öÊÇÒ»¸ö·´Ó¦Ê½ Web ±à³Ì¿ò¼Ü£¬»¹ÊÇ·´Ó¦Ê½µÄ΢·þÎñ¿ò¼Ü¡£Ò²¾ÍÊÇ˵£¬Flower
µÄ Service ¿ÉÒÔÔ¶³Ì²¿Êðµ½Ò»¸ö Service ÈÝÆ÷ÀïÃæ£¬¾ÍÏñÎÒÃÇÏÖÔÚ³£ÓõÄ΢·þÎñ¼Ü¹¹Ò»Ñù¡£Flower
»áÌṩһ¸ö¶ÀÁ¢µÄ Flower ÈÝÆ÷£¬ÓÃÓÚÆô¶¯Ò»Ð© Service£¬ÕâЩService ÔÚÆô¶¯ÁËÒԺ󣬻áÏò×¢²áÖÐÐĽøÐÐ×¢²á£¬¶øÇÒÓ¦ÓóÌÐò¿ÉÒÔ½«ÕâЩ·Ö²¼Ê½µÄService
½øÐÐÁ÷³Ì±àÅÅ£¬µÃµ½Ò»¸ö·Ö²¼Ê½·Ç×èÈûµÄ΢·þÎñϵͳ¡£ÕûÌå¼Ü¹¹ºÍÖ÷Á÷µÄ΢·þÎñ¼Ü¹¹ºÜÏñ£¬Ö÷ÒªµÄÇø±ð¾ÍÊÇ Flower
µÄ·þÎñÊÇÒì²½µÄ£¬Í¨¹ýÁ÷³Ì±àÅŵķ½Ê½½øÐзþÎñµ÷Ó㬶ø²»ÊÇͨ¹ý½Ó¿ÚÒÀÀµµÄ·½Ê½½øÐе÷Óᣠ|