´ËΪ¼´½«ÔÚ»úе¹¤Òµ³ö°æÉç³ö°æµÄ¡¶ÔƼÆË㣺ӦÓÿª·¢Êµ¼ù¡·µÄµÚÒ»Õ ¡¶ÔƼÆËãÓ¦Óÿª·¢Êµ¼ù¡·
ÔÚ±¾Êé²ß»®½×¶Î±ÊÕß¾ÍÒ»Ö±ÔÚÏë,¸ÃÒÔÒ»ÖÖʲô·½Ê½½éÉÜÔÆ¼ÆËãÒÔ¼°ÔƼÆËãÓ¦ÓóÌÐòÄØ£¿Ò»°ã½éÉÜÒ»ÖÖ¼¼Êõ£¬ÒªÏȽéÉÜÒ»ÏÂËüµÄÆðÔ´£¬ËüµÄÀúÊ·ºÍÔÀí¡£ºÜ¶à¹ØÓÚÔÆ¼ÆËãµÄÊ鼮ҲȷʵÊÇÕâô×öµÄ£¬¿ÉÎÊÌâÊÇÕâÑùµÄ½éÉÜÎÞ·¨ÒýÆðÎÒµÄÐËȤ£¬ÒòΪËüÃǵĽéÉÜÄÚÈÝÍùÍù¸úÎÒ×Ô¼ºÕæÊµµÄ¿ª·¢»·¾³ºÍÓ¦Óû·¾³ÓоàÀ룬ÎÒ²»ÖªµÀÕâЩ½éÉܶÔÓÚ½â¾öÅöµ½µÄʵ¼ÊÎÊÌâÊÇ·ñ×ã¹»¡£Ã¿µ±¿´µ½ÕâÑùµÄÕ½ÚÎÒ×ÜÊÇ´Ò´ÒÂÓ¹ý¡£ÓÚÊÇÎÒ¿ªÊ¼Ïë¼ÙÈçÎÒÒ²Õâôд£¬ÄÇô¸÷λ¶ÁÕß¹À¼Æ¸úÎÒÒ»ÑùÒ²»á´Ò´ÒÂÓ¹ý¡£µ«ÀúÊ·ÐÔµÄÒÔ¼°ÔÀíÐԵĽéÉܶÔÓÚÀí½âÒ»ÃÅм¼ÊõÊǺÜÓÐÒæ´¦µÄ¡£ÓÚÊÇÎÒµÄ˼Ð÷»Øµ½ÁËÎÒ×Ô¼ºµÄµÚÒ»¸öÄܽâ¾öʵ¼ÊÎÊÌâµÄÓ¦ÓóÌÐò£¬ÊDz»ÊÇ¿ÉÒÔ°ÑËüÒÆÖ²µ½ÔƼÆËã»·¾³À´£¿
ÎÒ×Ô¼ºµÄµÚÒ»¸öÄܽâ¾öʵ¼ÊÎÊÌâµÄÓ¦ÓóÌÐòÊÇÔÚÒ»¸ö½Ð³èÎïÉ̵êÓ¦ÓõĻù´¡ÉϸĽøµÄÓ¦ÓóÌÐò¡£²»ÖªµÀ¸÷λÊÇ·ñÌý˵¹ýÕâ¸öÓ¦Óá£ËüÊÇÒ»¸öΪJava ³ÌÐòÔ±¿ª·¢Web³ÌÐò¶øÐ´µÄÀý×Ó¡£×î³õÊÇÔÚJava EEƽ̨ÉÏÔËÐеÄ
Èç ¹ûÄúûÌý˵¹ýJava£¬ Java EEÕâЩÃû´ÊҲû¹ØÏµ£¬ÔÚÕâÒ»ÕÂÎÒÃDz¢²»ÏêϸÌÖÂÛ³èÎïÉ̵êµÄʵÏÖϸ½Ú£¬ÄúÖ»Òª»áÉÏÍøÏÂÔØ³ÌÐò£¬»á°²×°³ÌÐò£¬ÄÇôͨ¹ýÔĶÁÕâÒ»ÕÂÄú½«Äܹ»ÔÚÄú×Ô¼ºµÄÔÆ¼ÆËã»·¾³Éϲ¿ÊðÒ»¸ö³èÎïÉ̵ꡣÄúÔÚÔĶÁÕâÒ»ÕÂʱ¿ÉÒÔÖØµã¹Ø×¢ÔƼÆËã»·¾³´î½¨ÒÔ¼°²¿Ê𣬺öÂÔÐÔÄÜÌá¸ßÕ½ڡ£ÁíÍâ±¾ÊéµÄ¸½Â¼Àï»á¾¡Á¿½éÉÜËùÐèÁ˽âµÄÏà¹Ø¼¼Êõ£¬ÏàÐÅ´ÏÃ÷µÄÄúÒ»¶¨¿ÉÒÔ°ÑÓ¦ÓóÌÐò²¿Êðµ½ÔÆ»·¾³Àï¡£
Èç¹ûÄúʹÓùýC¡¢C++¡¢C# »òÕßJava±à³ÌÓïÑÔÒÔ¼°Êý¾Ý¿â±à³Ì£¬ ÔĶÁÕâÒ»Õ¶ÔÄúÓ¦¸ÃÍêÈ«²»³ÉÎÊÌâ¡£
±¾Õ½«½éÉÜÈçºÎ½«Ò»¸ö½ÏΪ¼òµ¥µÄÓ¦ÓÃÒÆÖ²µ½×Ô¼º´î½¨µÄÔÆ¼ÆËã»·¾³À²¢Í¨¹ý¾ÙÀýÖð²½½éÉÜÔÆÓ¦ÓóÌÐò,ÔÆ¼ÆËã»·¾³ÒÔ¼°ÔƼÆËã¸ÅÄîµÄ²úÉúÓë·¢Õ¹¡£
1.1 Java ³èÎïÉ̵ê¼ò½é
³èÎïÉ̵꣨JPetStore£©×î³õÊÇSun Microsystems ¹«Ë¾»ùÓÚJava EEƽ̨¸ø³öµÄÒ»¸öʵÏÖʵÀý¡£Õâ¸öʵÀý¸ø³öÁËÒ»¸öÍêÕûµÄ³èÎïÉ̵êʵÏÖ¡£Óû§¼¸ºõ²»ÓÃÐ޸ľͿÉÒÔÖ±½ÓʹÓÃÕâ¸öÓ¦ÓÃÀ´¾Óª×Ô¼ºµÄÍøÉϳèÎïÉ̵ꡣµ±È»Èç¹ûÄúÔ¸ÒâÒ²¿ÉÒÔÓÃÀ´¾Óª±ðµÄÉÌÆ·¡£
×î³õµÄJava³èÎïÉ̵êÓÉÓÚÈ«²¿Ê¹ÓÃJ2EEƽ̨µÄ¼¼Êõ£¬¶øÄ³Ð©J2EEƽ̨µÄ¼¼Êõ¶ÔϵͳӲ¼þÒªÇó±È½Ï¸ß£¬ËùÒԺܶàJava³ÌÐòÔ±¶ÔÔʼµÄJava ³èÎïÉ̵ê³ÌÐò½øÐÐÁËÐ޸ġ£ËùÒÔJava³èÎïÉ̵êÔÚÍøÉÏÓÐºÜ¶à°æ±¾¡£
ÔÚÕâÒ»ÕÂÎÒÃÇʹÓÃMyBatis ÏîÄ¿µÄÐ޸İ汾¡£
MyBatis ÏîÄ¿ÊÇÒ»¸ö¿ªÔ´µÄÊý¾Ý¿â·ÃÎÊ¿ò¼Ü£¬Í¨¹ýÐÞ¸ÄÅäÖÃÎļþ£¬Óû§¿ÉÒÔ¿ìËÙµÄÐ޸ķÃÎÊÊý¾Ý¿âµÄÒµÎñÂß¼£¨¿ÉÒÔ¼Óµ½×¢½ÅÀ¡£
Õâ¸ö°æ±¾Óм¸¸öºÃ´¦£º
l ´úÂëÖÊÁ¿½Ï¸ß£¬ÓÐרÈËά»¤¸üС£
l Ô´´úÂ뿪·Å£¬ÔÊÐí¿ª·¢ÈËÔ±×÷Ð޸ġ£
l ʹÓó£ÓõÄWebÉè¼Æ¼Ü¹¹ £¨Struts£©£¬Ò×ÓÚ¸ú´ó¼ÒƽʱµÄ¹¤×÷Ïà½áºÏ¡£
1.1.1 »·¾³×¼±¸
ÔÚ ÎÒÃÇ¿ªÊ¼²¿Êð֮ǰ£¬Ê×ÏÈÐèÒªÁ˽âJava ³èÎïÉ̵ê¶Ô²Ù×÷ϵͳÒÔ¼°»·¾³µÄÒªÇó¡£Ïñ´ó¶àÊýµÄJava EEÓ¦ÓóÌÐòÒ»Ñù£¬Ëü¿ÉÒÔ°²×°ÔÚ´ó¶àÊýÖ§³ÖJava³ÌÐòµÄ²Ù×÷ϵͳÉÏ£¬ ±ÈÈçWindows¡¢Linux¡¢UNIX¡£±¾ÕÂÒÔWindows ΪÀý½øÐн²½â¡£±¾Õ³èÎïÉ̵êµÄʵÀýÖÐËùÐèÈí¼þµÄ°æ±¾¼°ÆäÏÂÔØµØÖ·Èç±í1-1Ëùʾ¡£
±í1-1 Èí¼þ°æ±¾¼°ÏÂÔØµØÖ·
¹ØÓÚJDK£¬Tomcat ÒÔ¼°Vmware ServerµÄ°²×°Çë²ÎÔĸ½Â¼¡£
ÏÂÔØ³èÎïÉ̵ê³ÌÐòºóÎÒÃǽ«µÃµ½Ò»¸öѹËõÎļþ°ümybatis-jpetstore-6.0.0-bundle.zip£¬½âѹËõºó£¬Ò»¹²ÓÐ4¸öÎļþ£¬Èç±í1-2Ëùʾ¡£
±í 1-2 mybatis-jpetstore-6.0.0-bundle.zipÎļþ°üÄÚÈÝ
|
Èí¼þÃû³Æ |
˵Ã÷ |
|
NOTICE |
Èí¼þÉùÃ÷ |
|
LICENSE |
ÊÚȨÎļþ£¬×ñÑApache License£¬ Version 2.0 ÊÚȨ |
|
mybatis-jpetstore-6.0.0-sources.jar |
Ô´úÂë |
|
mybatis-jpetstore-6.0.0.war |
³èÎïÉ̵êÓ¦ÓóÌÐò |
1.1.2 ²¿ÊðJava³èÎïÉ̵ê
ÏÖÔÚÎÒÃÇÒѾ»ñµÃÁËËùÐèµÄJava ³èÎïÉ̵êÓ¦ÓóÌÐò£¬ÔÚ²¿Êð֮ǰ»¹ÐèҪ׼±¸Ó¦ÓóÌÐòËùÐèÒªµÄÔËÐл·¾³¡£
ÏȽéÉÜÒ»ÏÂÎÒËùʹÓõÄÓ²¼þÉ豸¡£
l һ̨2007ÄêÂòµĄ̈ʽ»ú£º2GÄڴ棬˫ºËCPU¡£²Ù×÷ϵͳÊÇWindows 7¡£ÓÃÀ´×÷Ϊ·þÎñÆ÷²¿Êð³èÎïÉ̵êÓ¦ÓóÌÐò¡£
l һ̨±Ê¼Ç±¾µçÄÔ£º2GÄڴ棬˫ºËCPU£¬ÓÃÀ´ÔËÐвâÊÔ³ÌÐò£¬²âÊÔ³èÎïÉ̵êµÄÏìÓ¦ËÙ¶È¡£
Ê×ÏÈ£¬ÎÒÃÇÔŲ́ʽ»úÉÏʹÓÃVmware ServerÐéÄ⻯һ¸öWindows XP ²Ù×÷ϵͳ£¬Ñ¡ÔñWindows XP Ö÷ÒªÊÇ¿¼Âǵ½ºÜ¶à³ÌÐòÔ±ÒÔ¼°¹úÄÚÆóÒµ½ÏΪÊìϤ¡£
¸ÃÐéÄâ»ú³õʼ·ÖÅä128MBÄڴ棬1¸öCPU¡£
ÁíÍ⣬ʹÓÃÐéÄâ»ú´î½¨»·¾³¸üÌù½üÓÚÔÆ¼ÆËãµÄÕæÊµ»·¾³£¬ÒòΪºÜ¶àÔÆ¼ÆËã²úƷʹÓÃÐéÄ⻯¼¼ÊõÀ´Ìṩ·þÎñ¡£
ʹÓÃÐéÄ⻯¼¼Êõ²¿ÊðÓ¦ÓÃÓÐÈçϺô¦£º
l ·½±ã·þÎñÉý¼¶¡£Í¨¹ý¸ü¸ÄÐéÄâ»úÅäÖ㬿ÉÒÔ¶à·ÖÅä×ÊÔ´¸øÐéÄâ»ú
l ·½±ãÓ¦ÓÃÇ¨ÒÆ¡£ÐéÄâ»ú´æ´¢ÔÚÓ²Å̵ÄÒ»¸öÎļþÀÎÒÃÇ¿ÉÒÔͨ¹ý¼òµ¥µÄ¸´ÖÆÎļþ£¬·½±ãµÄ½«Ó¦ÓóÌÐòÇ¨ÒÆµ½ÆäËû¼ÆËã»úÉÏ¡£
l ±ãÓÚ¹ÜÀí¡£ÏÖÔںܶàÐéÄâ»úÌṩWeb·ÃÎʹ¦ÄÜ£¨±ÈÈçVmware Server£©£¬µ±Óжą̀ÎïÀí»úÌṩÐéÄâ»ú·þÎñʱ£¬ÏµÍ³¹ÜÀíÔ±¿ÉÒÔ·½±ãµÄͨ¹ýWebÒ³Ãæ¶ÔÐéÄâ»ú½øÐйÜÀí¡£
Java³èÎïÉ̵êĬÈÏʹÓÃhsqldb×÷ΪÊý¾Ý¿â£¬ÎÒÃÇÖ»ÐèÒª°²×°Ó¦Ó÷þÎñÆ÷ Tomcat 6.0 ÒÔ¼°JavaÔËÐл·¾³JRE 5.0£¨²Î¼û¸½Â¼£©¡£
ÔËÐл·¾³´î½¨Íê³Éºó£¬´ò¿ªä¯ÀÀÆ÷µã»÷Á´½Óhttp://127.0.0.1:8080/manager/html£¬Äú½«¿´µ½TomcatÓ¦Óò¿ÊðÒ³Ãæ£¬Èçͼ1-1Ëùʾ£º
ͼ1-1 TomcatÓ¦Óò¿ÊðÒ³Ãæ
ÎÒÃÇÔÚWAR file to deploy ÖÐÑ¡ÔñÎÒÃǵÄÓ¦ÓóÌÐòmybatis-jpetstore-6.0.0.warµã»÷¡°Deploy¡±°´Å¥£¬ ³ÌÐò¼´±»²¿Êð¡£
ÏÖÔÚÎÒÃÇ¿ÉÒÔ¿´µ½³èÎïÉ̵êÒ³Ãæ£¬ÔÚä¯ÀÀÆ÷ÖÐÊähttp://127.0.0.1:8080/ mybatis-jpetstore-6.0.0£¬½«¿´µ½ÈçÏÂͼËùʾµÄ³èÎïÉ̵êÒ³Ãæ£¬Èçͼ1-2Ëùʾ¡£
ͼ1-2 ³èÎïÉ̵êÊ×Ò³Ãæ
ºÃÁËÏÖÔÚÎÒÃÇÓµÓÐÁËÒ»¸öÊôÓÚÎÒÃÇ×Ô¼ºµÄ³èÎïÉ̵꣬Èç¹ûÄúÔÚÒ»¸ö´óµÄ¾ÖÓòÍøÀïÃæ£¬ÏÖÔھͿÉÒÔ¸øÅóÓÑÃÇ·¢ÏûÏ¢£¬ÈÃËûÃÇ·ÃÎÊÒ»ÏÂÄãµÄ³èÎïÉ̵꣨ע£ºÐèÒª°Ñ127.0.0.1Ìæ»»³ÉÐéÄâ»úʹÓõÄÕæÕýIPµØÖ·£©¡£
1.1.3 ³èÎïÉ̵ê¼Ü¹¹½éÉÜ
ÔÚÎÒÃÇ¿ªÊ¼¶Ô³èÎïÉ̵ê²âÊÔ֮ǰ£¬ÎÒÃÇÏÈÀ´Á˽âÒ»ÏÂÕâ¸ö³èÎïÉ̵êÓ¦ÓõijÌÐò¼Ü¹¹£¬ÕâÓÐÀûÓÚÎÒÃǽøÐвâÊÔÒÔ¼°¶ÔÓ¦ÓýøÐÐÐ޸ġ£
Java ³èÎïÉ̵ê´Ó²¿Êð½Ç¶È¿ÉÒÔ·Ö³ÉÈý´ó²¿·Ö£¬Êý¾Ý¿â£¬¿Í»§¶Ëä¯ÀÀÆ÷ÒÔ¼°³èÎïÉ̵êÓ¦Ó÷þÎñÆ÷¡£
ÓÐЩÈ˰ÑÕâÈý²¿·Ö³ÆÎªÄ£ÐÍ£¨Model£©£¬ ÊÓͼ£¨View£© ºÍÔËÐÐÔÚÓ¦Ó÷þÎñÆ÷ÉϵĿØÖÆÆ÷£¨Controller£©£¬ ¼ò³ÆMVC ģʽ£¬Èçͼ1-3Ëùʾ¡£
ͼ1-3 MVCģʽʾÒâͼ
1. ÊÓͼ
ÊÓͼÊÇÓû§¿´µ½²¢ÓëÖ®½»»¥µÄ½çÃæ¡£¶ÔWebÓ¦ÓóÌÐòÀ´Ëµ£¬ÊÓͼ¾ÍÊÇÓÉHTMLÔªËØ×é³ÉµÄ½çÃæ¡£ÈçºÎ´¦ÀíÓ¦ÓóÌÐòµÄ½çÃæ±äµÃÔ½À´Ô½ÓÐÌôÕ½ÐÔ¡£MVCÒ»¸ö×î´óµÄºÃ´¦¾ÍÊÇËüÄÜΪÄãµÄÓ¦ÓóÌÐò´¦ÀíºÜ¶à²»Í¬µÄÊÓͼ¡£ÔÚÊÓͼÖÐÆäʵûÓÐÕæÕýµÄ´¦Àí·¢Éú£¬²»¹ÜÕâЩÊý¾ÝÊÇÁª»ú´æ´¢µÄ»¹ÊÇÒ»¸ö¹ÍÔ±ÁÐ±í£¬×÷ΪÊÓͼÀ´½²£¬ËüÖ»ÊÇ×÷ΪһÖÖÊä³öÊý¾Ý²¢ÔÊÐíÓû§²Ù×ݵķ½Ê½¡£
2. Ä£ÐÍ
Ä£ÐͱíʾÆóÒµÊý¾ÝºÍÒµÎñ¹æÔò¡£ÔÚMVCµÄÈý¸ö²¿¼þÖУ¬Ä£ÐÍÓµÓÐ×î¶àµÄ´¦ÀíÈÎÎñ¡£ÔÚÎÒÃÇʹÓõÄÀý×ÓÖÐËüͨ¹ýMyBatis¿ò¼ÜÀ´¹¹¼þ¶ÔÏó´¦ÀíÊý¾Ý¿â¡£±»Ä£ÐÍ·µ»ØµÄÊý¾ÝÊÇÖÐÁ¢µÄ£¬¾ÍÊÇ˵ģÐÍÓëÊý¾Ý¸ñʽÎ޹أ¬ÕâÑùÒ»¸öÄ£ÐÍÄÜΪ¶à¸öÊÓͼÌṩÊý¾Ý¡£ÓÉÓÚÓ¦ÓÃÓÚÄ£Ð͵ĴúÂëÖ»Ðèдһ´Î¾Í¿ÉÒÔ±»¶à¸öÊÓÍ¼ÖØÓã¬ËùÒÔ¼õÉÙÁË´úÂëµÄÖØ¸´ÐÔ¡£
3. ¿ØÖÆÆ÷
¿ØÖÆÆ÷½ÓÊÜÓû§µÄÊäÈë²¢µ÷ÓÃÄ£ÐͺÍÊÓͼȥÍê³ÉÓû§µÄÐèÇó¡£ËùÒÔµ±µ¥»÷WebÒ³ÃæÖеij¬Á´½ÓºÍ·¢ËÍHTML±íµ¥Ê±£¬¿ØÖÆÆ÷±¾Éí²»Êä³öÈκζ«Î÷ºÍ×öÈκδ¦Àí¡£ËüÖ»ÊǽÓÊÕÇëÇó²¢¾ö¶¨µ÷ÓÃÄĸöÄ£Ð͹¹¼þÈ¥´¦ÀíÇëÇó£¬È»ºóÈ·¶¨ÓÃÄĸöÊÓͼÀ´ÏÔʾģÐÍ´¦Àí·µ»ØµÄÊý¾Ý¡£ÔÚÎÒÃÇÕâ¸öÓ¦ÓÃÀïÊÇÓÉÓ¦Ó÷þÎñÆ÷ÉϵijÌÐò¸ºÔðת·¢Êý¾Ý¡£
ʹÓÃMVCģʽ×î´óµÄºÃ´¦¾ÍÊǽµµÍÁËÓ¦ÓóÌÐòʵÏÖÉϵÄñîºÏÐÔ£¬¿ª·¢ÈËÔ±¿ÉÒÔ¸ù¾ÝÐèÒª¶ÔijһÖÖ¶ÔÏó½øÐÐÐ޸Ķø²»»áÓ°Ïìµ½ÆäËü²¿·Ö¡£ÔÚʵ¼Ê¿ª·¢ÖУ¬¿ÉÒÔÓÉÈý¸ö²»Í¬¿ª·¢×éµÄ³ÌÐòÔ±²¢Ðпª·¢Í¬Ò»¸ö³ÌÐò£¬¶øÓÖ»¥²»¸ÉÈÅ£¬´Ó¶ø´ó´óÌá¸ß¿ª·¢Ð§ÂÊ¡£
ÔÚÔÆ¼ÆËã»·¾³ÖУ¬ÎÒÃÇÉõÖÁ¿ÉÒÔͨ¹ý¹ºÂò·þÎñÀ´À©Õ¹Ä£ÐͲãµÄÂß¼£¬ÒÔ¼°·á¸»ÊÓͼ²ãµÄչʾ¡£¶øÎÒÃÇ¿ÉÒÔרעÓÚÈçºÎ½«·á¸»µÄ×ÊԴͨ¹ý¿ØÖÆÆ÷Á¬½ÓÔÚÒ»Æð¡£ÔÚ±¾ÊéµÄºóÐøÕ½ڣ¬»á¿´µ½MVCģʽÔÚÔÆ¼ÆËã»·¾³ÀïµÄ¸ü¶àÓ¦Óá£
1.2 ²âÊÔ
µ±ÎÒÃÇÍê³ÉÁËÓ¦ÓóÌÐòµÄ²¿ÊðÖ®ºó£¬ÐèÒªÏȽøÐвâÊÔÒÔ¼ì²â³ÌÐòÊÇ·ñÄÜÂú×ãÎÒÃǵÄÐèÒª¡£
¶ÔÓÚ³èÎïÉ̵êÓ¦ÓóÌÐòÀ´Ëµ£¬Óû§Ê×ÏȽӴ¥µÄÊdzèÎïÉ̵êµÄÊ×Ò³Ãæ£¬ËùÒÔÔÚÕâÒ»½ÚÎÒÃÇÊ×ÏȶԳèÎïÉ̵êÓ¦ÓõÄÊ×Ò³·ÃÎÊËٶȽøÐвâÊÔ¡£
1.2.1 ³èÎïÉ̵ê·ÃÎÊËٶȲâÊÔ
ÎÒÃǵijèÎïÉ̵êÓ¦ÓóÌÐò¾ÍÏñÊÇÊÛ»õÔ±Âô¶«Î÷£¬µ±Ö»ÓÐÒ»Á½Î»¹Ë¿Íʱ£¬ÊÛ»õÔ±Ò»°ã¿ÉÒÔÓ¦¸¶×ÔÈ磬µ±ÓжàÃûÒÔÉϹ˿Íʱ£¬ÊÛ»õÔ±ÏëÒªÂú×ã¶à¸ö¿Í»§µÄÐèÇó¾Í±äµÃÓÐЩÀ§ÄÑ¡£Ö÷Òª¾ÍÊÇ·´Ó³ËٶȵĽµµÍ¡£¹Ë¿ÍµÄÂúÒâ¶È×ÔÈ»¾Í»áϽµ¡£
ËùÒÔ£¬¶ÔÒ»¸öÓ¦ÓÃÀ´Ëµ·ÃÎÊËÙ¶ÈÊǿͻ§Ê×ÏȹØÐĵÄÎÊÌâ¡£
ÏÂÃæÊÇÕë¶ÔÍøÒ³·ÃÎÊËù×ܽá³öÀ´µÄ¼¸¸ö¹Ø¼üÖ¸±ê£º
l Óû§½«²»»á×¢Òâµ½ÉÙÓÚ0.1 sµÄÑÓ³Ù¡£
l ÉÙÓÚ1 sµÄÑÓ³Ù²»»áÖжÏÓû§µÄÕý³£Ë¼Î¬£¬µ«ÊÇһЩÑӳٻᱻÓû§×¢Òâµ½¡£
l ÑÓ³Ùʱ¼äÉÙÓÚ10 s£¬Óû§»á¼ÌÐøµÈ´ýÏìÓ¦¡£
l ÑÓ³Ùʱ¼ä³¬¹ý10 sºó£¬Óû§½«»á·ÅÆú²¢¿ªÊ¼ÆäËû²Ù×÷¡£
Ò²¾ÍÊÇ˵Èç¹ûÏìÓ¦ËÙ¶È´óÓÚ10 s£¬¾ÍÒ»¶¨ÒªÕë¶ÔÏìÓ¦ËÙ¶È×öÓÅ»¯¡£
²âÊÔÓ¦ÓóÌÐòÏìÓ¦ËٶȵIJâÊÔ¹¤¾ßÓкܶ࣬ÕâÀïÎÒÃÇÓÃJMeter²âÊÔ³èÎïÉ̵êµÄÏàÓ¦ËÙ¶È£¨¹ØÓÚJMeterµÄ°²×°Çë²Î¿¼¸½Â¼£©¡£
(1) ´´½¨²âÊԼƻ®
ÕâÀïÎÒÃÇÄ£Äâ100 ¸öÓû§£¬Ã¿¸öÓû§Ã¿¸ôÒ»·ÖÖÓ·ÃÎÊ£¬¹²·ÃÎÊÎå´Îȡƽ¾ùÖµ£¬ÓÒ¼üµã»÷JMeter²âÊԼƻ®£¬¡°Ìí¼Ó¡±->¡°Threads£¨Users£©¡±->¡° Ïß³Ì×顱£¬Èçͼ1-4Ëùʾ¡£
ͼ1-4 Ìí¼ÓÏß³Ì×é
ÔÚ´ò¿ªµÄÒ³ÃæÊäÈë¡£
l Ãû³Æ£ºJPetstore¡£
l Ïß³ÌÊý£º100 £¨Ä£Äâ100¸öÓû§£©¡£
l Ramp-Up Period £º60Ãë £¨Ã¿Ò»·ÖÖÓ²úÉú100¸öỊ̈߳©¡£
l ¹²Ñ»·´ÎÊý£º 5´Î¡£
Èçͼ 1-5Ëùʾ¡£
ͼ1-5 ÅäÖÃÏß³Ì×é
(2) ´´½¨Http Ä£Äâ¿Í»§¶Ë
ÓÒ¼üµã»÷JPetStoreÏß³Ì×飬¡°Ìí¼Ó¡± ->¡°Sampler¡±->¡°HTTPRequestHTTPClient¡±£¬Èçͼ1-6Ëùʾ¡£
ͼ1-6 Ìí¼ÓHTTP RequestHTTPClient
ÏÖÔÚÎÒÃÇÔÚHTTP RequestHTTPClient Ò³ÃæÖÐÅäÖÃÏà¹ØÐÅÏ¢¡£
l ·þÎñÆ÷Ãû³Æ»òIPÌîдÐéÄâ»úÔËÐÐʱµÄIPµØÖ·£¬ÕâÀï±ÊÕߵĵØÖ·ÊÇ192.168.48.128¡£
l ¶Ë¿ÚºÅ£ºÌîдTomcatµÄĬÈ϶˿ںÅ8080¡£
l ÉèÖÃÐÒ飺http¡£
l ·½·¨£ºPOST¡£
Èçͼ1-7Ëùʾ¡£
ͼ1-7ÅäÖÃHTTP RequestHTTPClient
(3) Ìí¼Ó******
µã»÷ÓÒ¼ü¡°Ìí¼Ó¡±->¡°******¡±-> ¡°SummaryReport¡± £¨¸ÅÒª±¨¸æ£©£¬Èçͼ1-8Ëùʾ¡£
ͼ1-8 Ìí¼Ó******
(4) Ö´ÐвâÊÔ
Æô¶¯²âÊÔ£¬µã»÷¡°ÔËÐС±->¡°Æô¶¯¡±£¬ Èçͼ1-9Ëùʾ¡£
ͼ1-9 Æô¶¯²âÊÔ
(5) ²é¿´ÔËÐнá¹û
µã»÷Summary Report£¨¸ÅÒª±¨¸æ£©£¬Èçͼ1-10Ëùʾ¡£
ͼ1-10 ²ì¿´¸ÅÒª±¨¸æ
´Ó½á¹ûÖÐÎÒÃÇÖªµÀ£¬µ±ÓÐÒ»°Ù¸öÓû§²¢·¢·ÃÎÊʱ£¬Æ½¾ù15974 ms²ÅÄÜ·ÃÎʵ½ÍøÕ¾Ê×Ò³¡£ÕâÏÔÈ»²»ÊÇÒ»¸öÀíÏëµÄ½á¹û¡£ÎÒÃÇÈçºÎ¸Ä½ø³ÌÐò²ÅÄÜÊ¹ÍøÕ¾µÄ·ÃÎÊËٶȵõ½Ìá¸ßÄØ£¿
ÔÚÏÂÒ»½ÚÎÒÃÇ»áÖØµãÌÖÂÛ¡£
1.2.2 ÆäËûµÄ²âÊÔ
¸ù¾Ý1.1.3½Ú¶Ô³èÎïÉ̵ê³ÌÐò¼Ü¹¹µÄ·ÖÎö£¬ÎÒÃÇÉÏÃæµÄ²âÊÔÖ÷ÒªÕë¶ÔµÄÊÇÊ×Ò³Ãæ£¬Ò²¾ÍÊÇÊÓͼ²ã½øÐеIJâÊÔ£¬Êµ¼ÊʹÓùý³ÌÖУ¬ÍùÍù»¹ÒªÕë¶ÔÒµÎñÂß¼Ò²¾ÍÊÇÄ£ÐÍ£¨Model£©²ã½øÐвâÊÔ¡£±ÈÈç¶ÔËùÓÐÓû§½øÐÐÔÂ½á¼ÆË㣬Õâ¸öʱºòÊý¾Ý¿âµÄѹÁ¦¾Í»á±ä´ó£¬¶øÔ½á²Ù×÷ÍùÍùÒªÔڹ涨µÄʱ¼äÄÚ½«Õʵ¥¼ÆËã³öÀ´¡£
ΪÁ˱ÜÃâÔÚÕæÕýµÄʹÓùý³ÌÖÐÓöµ½¹ý¶àµÄÎÊÌ⣬¾ÍÐèÒªÎÒÃÇÔÚÕæÕý²¿Êð³ÌÐò֮ǰ£¬¶Ô³ÌÐòµÄ¸÷¸ö·½Ãæ¸ù¾Ýʵ¼ÊÇé¿ö£¨±ÈÈçÔ¤ÆÚµÄ·ÃÎÊÈËÊý£¬Ô¤ÆÚµÄ×¢²áÓû§Á¿ÒÔ¼°ÒµÎñʱ¼äÏÞÖÆµÈ£©Öƶ¨²âÊԼƻ®£¬¾¡Ôç·¢ÏÖÎÊÌ⣬²¢¾¡ÔçµÄ½â¾öÎÊÌâ¡£
ÔÚÏÂÒ»½ÚÎÒÃÇ»áÕë¶ÔÊ×Ò³Ãæ·ÃÎʹýÂýµÄÎÊÌ⣬Ìá³ö½â¾ö·½°¸¡£
1.3 Õë¶Ô²âÊÔ½á¹û¸Ä½øÓ¦ÓÃ
½ø¹ýÉÏÃæµÄ²âÊÔ£¬µ±Í¬Ê±ÓÐ100λÓû§¹²Í¬·ÃÎʳèÎïÉ̵êʱ£¬Æ½¾ù15974 ms²ÅÄÜ·ÃÎʵ½ÍøÕ¾Ê×Ò³¡£Óû§ºÜÓпÉÄÜÒòΪ·ÃÎÊËٶȹýÂý£¬¶ø·ÅÆú·ÃÎÊÎÒÃǵijèÎïÉ̵ꡣÕâÒ»ÕÂÎÒÃǽ«Å¬Á¦Ìá¸ß³èÎïÉ̵êµÄ·ÃÎÊËÙ¶È¡£
1.3.1 Ìá¸ß·ÃÎÊËÙ¶È
ÔÚ 1.2.1½ÚÖÐÎÒÃÇ˵¹ýÓû§·ÃÎÊÁ¿µÄ¶àÉÙÖ±½ÓÓ°ÏìÍøÕ¾µÄ·ÃÎÊËÙ¶È£¬¾ÍÏñÊÛ»õÔ±Âô¶«Î÷£¬µ±Ö»ÓÐÒ»Á½Î»¹Ë¿Íʱ£¬ÊÛ»õÔ±Ò»°ã¿ÉÒÔÓ¦¸¶×ÔÈ磬µ±ÓжàÃûÒÔÉϹ˿Íʱ£¬Ò»¸öÊÛ»õÔ±¾ÍºÜÄÑÂú×ãÐèÇó.ÏÖʵÖÐÎÒÃÇ¿ÉÒÔͨ¹ýѵÁ·ÊÛ»õԱʹËûÄÜΪ¸ü¶àµÄÓû§·þÎñ.ÔÚ¼ÆËã»úÊÀ½çÖÐÎÒÃÇÒ²¿ÉÒÔͨ¹ýÔöÇ¿»úÆ÷µÄÐÔÄÜÀ´Ìá¸ßÓ¦ÓõÄÏìÓ¦ËÙ¶È¡£
ÓÉÓÚÎÒÃÇʹÓÃÐéÄâ»ú´î½¨ÔËÐл·¾³£¬ÏÖÔÚÎÒÃÇ¿ÉÒÔ¸ü¸ÄÐéÄâ»úµÄÅäÖÃÀ´Ìá¸ßÐéÄâ»úÐÔÄÜ¡£
(1) ´ò¿ªVmware Server ¿ØÖÆÌ¨Ò³Ãæ¡£
(2) ¹Ø±ÕÐéÄâ»ú¡£
(3) µã»÷¡°HardWare¡±->¡°Memory¡±->¡°Edit¡±£¬½«ÄÚ´æÌá¸ßµ½512MB¡£
Èçͼ1-11Ëùʾ¡£
ͼ1-11 ¸ü¸ÄÐéÄâ»úÄÚ´æ´óС
ÔÙ´ÎʹÓÃJMeter²âÊÔ£¬ ÎÒÃÇ¿ÉÒÔ¿´µ½·ÃÎÊËÙ¶ÈÓÐÌá¸ß£¬Æ½¾ùÏìӦʱ¼äÌá¸ßµ½7127ms£¬Èçͼ1-12Ëùʾ¡£
ͼ1-12 ½«ÄÚ´æÌá¸ßµ½512mbºóµÄ²âÊÔ½á¹û
ËäÈ»»¹²»ÊǺÜÀíÏ룬µ«ÊÇÓû§¿ÉÒÔ½ÓÊÜÕâÑùµÄ·ÃÎÊʱ¼äÁË¡£µ«ÓÐûÓа취ʹÏìÓ¦ËÙ¶ÈÌá¸ßµÃ¸ü¶àÄØ£¿
ÈÃÎÒÃÇ»ØÏëÄǸöÊÛ»õÔ±µÄÀý×Ó£¬ÏÖʵÉú»îÖÐͨ³£»¹ÓÐÁíÍâÒ»ÖÖÌá¸ßÊÛ»õËٶȵķ½Ê½£¬ÄǾÍÊÇÔö¼ÓÊÛ»õÔ±µÄÊýÁ¿¡£
ÔÚ¼ÆËã»úÊÀ½çÀïÎÒÃÇͬÑù¿ÉÒÔͨ¹ýÔö¼Ó¼ÆËã»úÊýÁ¿µÄ·½Ê½À´Ìá¸ßÏìÓ¦ËÙ¶È¡£
ÎÒÃǽ«³èÎïÉ̵êÓ¦ÓóÌÐò·Ö±ð²¿ÊðÔÚÁ½Ì¨Ó¦Ó÷þÎñÆ÷ÉÏ£¬¶øÕâÁ½Ì¨Ó¦Ó÷þÎñÆ÷·Ö±ðÔÚÁ½Ì¨ÐéÄâ»úÉÏÔËÐУ¬ÓÉÓÚ·þÎñÆ÷Ò»°ãÓжà¸öCPU£¬Ã¿¸öCPUÓÖÓжàºË£¬Ôö¼ÓÐéÄâ»ú¿ÉÒÔ³ä·ÖÀûÓ÷þÎñÆ÷ÉϵÄCPU×ÊÔ´¡£´ËÍâÓÉÓÚÐéÄâ»úÒÔÎļþµÄÐÎʽ´æÔÚÓÚÓ²ÅÌÉÏ£¬ÎÒÃÇ¿ÉÒÔ½«ÐéÄâ»úÖ±½Ó¸´ÖƵ½Áíһ̨¼ÆËã»úÉÏ£¬±ÈÈç±ÊÕߵıʼDZ¾ÉÏ¡£Æô¶¯ÐéÄâ»ú£¬ÕâÑùÎÒÃǾÍÓÐÁ½Ì¨·þÎñÆ÷ͬʱΪÎÒÃǵijèÎïÉ̵êÓ¦ÓÃÌṩ·þÎñ¡£
µ±Óû§·¢ÏÖ·ÃÎÊÓ¦ÓõÄËٶȱäÂýÁË£¬Ëü¿ÉÒÔÑ¡Ôñ·ÃÎʱ¸ÓõķþÎñÆ÷¡£ÔÚÀíÏë״̬ÏÂÁ½¸öÓ¦Ó÷þÎñÆ÷¸÷½ÓÊÜÒ»°ëµÄÓû§·ÃÎÊ¡£Ï൱ÓÚ¼õÇáÁËÓ¦Ó÷þÎñÆ÷µÄ¸ºµ£¡£¾¹ý²âÊÔ£¬µ±·Ö±ðÓÃÒ»°ëµÄ·ÃÎÊÁ¿·ÃÎÊÓ¦Ó÷þÎñÆ÷ʱ£¨Ä£Äâ50¸ö¿Í»§Í¬Ê±·ÃÎÊ£©£¬·ÃÎÊËٶȵõ½Ã÷ÏÔÌá¸ß¡£±ÊÕߵIJâÊÔ½á¹ûÊÇ719ms£¬Èçͼ1-13Ëùʾ¡£
ͼ1-13 Ôö¼Óһ̨ӦÓ÷þÎñÆ÷ºóµÄ²âÊÔ½á¹û
Õâ¸ö²âÊÔ½á¹ûÊÇÒ»¸öºÜÈÃÈËÂúÒâµÄ½á¹û¡£µ«Õâ¸ö½â¾ö·½°¸´øÀ´Ò»¸öÎÊÌ⣬ΪÁËÌá¸ß·ÃÎÊËÙ¶È£¬Óû§²»µÃ²»°ÑËùÓеķþÎñÆ÷ÁÐ±í¶¼¼ÇÏÂÀ´¡£Óû§ºÜÓпÉÄÜÒòΪ²»·½±ã¾Í²»·ÃÎÊÎÒÃǵijèÎïÉ̵êÁË£¬ÈçºÎ½â¾öÕâ¸öÎÊÌâÄØ£¿
ÈÃÎÒÔٻص½ÄǸöÉ̵êµÄÀý×ÓÖУ¬ÔÚÕâÑùµÄÇé¿öÏ£¬É̵êÍùÍù»áÔÚǰ¶Ë°²ÅÅÒ»¸öµ¼¹º¡£Óɵ¼¹º¸ºÔ𽫿ͻ§´øµ½ÄÜÂú×ã¿Í»§ÐèÇóµÄÊÛ»õÔ±ÄÇÀï¡£ÔÚ¼ÆËã»úÊÀ½çÖÐÒ²ÓÐÕâÖÖÀàËÆµ¼¹ºµÄ³ÌÐò£¬Ëü»á×Ô¶¯µØ½«ÎÒÃǵÄÇëÇóת·¢¸øÏàÓ¦µÄÓ¦Ó÷þÎñÆ÷¡£ÎÒÃǰÑËü³Æ×÷¸ºÔؾùºâÆ÷¡£
TomcatÓ¦Ó÷þÎñÆ÷ÓÐÒ»¸öרÃŵĸºÔؾùºâÆ÷£¬ÎÒÃǽ«ÔÚ2.1.3 ¸ºÔؾùºâÖÐ×÷Ïêϸ½éÉÜ¡£
ÏÖÔÚÎÒÃÇÓµÓÐÁËÒ»¸ö×ã¹»¿ìµÄÍøÉϳèÎïÉ̵êÓ¦ÓóÌÐòÁË£¬ÎªÁËÕâ¸öÉ̵꣬ÎÒÃÇÐèÒªÁ½Ì¨512MBµÄÐéÄâÖ÷»ú¡£
1.3.2 Ö÷»ú¹ÜÀí
ͨ¹ýÉÏÃæµÄ¸Ä½øÓë²âÊÔ£¬¶ÁÕß¿ÉÒÔ¿´µ½Ìá¸ßÐéÄâ»úÐÔÄÜÒÔ¼°Ôö¼ÓÐéÄâ»úÊýÁ¿£¬ÎÒÃdzɹ¦µØÌá¸ßÁËÓ¦ÓóÌÐòµÄ·ÃÎÊËÙ¶È¡£
µ«Í¬Ê±²¿ÊðÓ¦ÓóÌÐòËùÒªÇóµÄ¼ÆËã×ÊÔ´Ò²Ô½À´Ô½¶àÁË£¬ÓÈÆäÊǵ±·ÃÎÊÁ¿±È½ÏµÍʱ£¬ÈÔȻʹÓÃÁ½Ì¨ÐéÄâ»ú¾ÍÏÔµÃÓÐЩÀË·Ñ×ÊÔ´£¨ÔÚÔÆ¼ÆËã»·¾³Àһ°ã°´ÕÕʹÓõļÆËã×ÊÔ´Á¿À´ÊÕ·Ñ£¬¶àʹÓÃÐéÄâ»úÒ²¾ÍÒâζ×ÅÒª»¨¸ü¶àµÄ½ðÇ®£©¡£
Èç¹ûÓ¦ÓóÌÐò¿ÉÒÔÔÚÓû§·ÃÎÊÁ¿Ôö´óµÄʱºòÔö¼ÓÊʵ±µÄ¼ÆËã×ÊÔ´£¬¶øÔÚ·ÃÎÊÁ¿¼õÉÙʱ£¬ÊͷŶàÓàµÄ¼ÆËã×ÊÔ´£¬ÄÇôÎÒÃǼȴﵽÁËÌá¸ßÓû§·ÃÎÊËٶȵÄÒªÇó£¬Í¬Ê±ÓÖ½ÚÔ¼ÁËÓÐÏÞµÄ×ʽð¡£
ÉÏÃæÕâ¸öÐèÇó¿ÉÒÔ·ÖΪÁ½¸ö·½Ã棺
l ¼à¿ØÓû§·ÃÎÊÁ¿
l ¸ù¾ÝÓû§·ÃÎÊÁ¿Ôö¼Ó»òÕß¼õÉÙÓ¦Ó÷þÎñÆ÷µÄÊýÁ¿
ÏÂÃæÎÒÃÇ·Ö±ð½â¾öÕâÁ½¸öÎÊÌâ¡£
1. ¼à¿ØÓû§·ÃÎÊÁ¿
¼à¿ØÓû§·ÃÎÊÁ¿Óкܶà°ì·¨£¬±ÈÈçÉèÖÃÍøÂç¼ÆÊýÆ÷£¬¼à¿ØÁ÷Á¿¡£µ«Ôì³ÉÓû§·ÃÎʱäÂýµÄÖ±½ÓÔÒòÍùÍùÊÇÖ÷»úÄÚ´æÊ¹ÓÃÂʼ°CPUʹÓÃÂʵÄÉÏÉý¡£¶øJavaÐéÄâ»úÌṩ¸øÎÒÃÇÒ»¸öרÃÅµÄ¼à¿Ø¹¤¾ßJMX¡£
JMX£¨Java Management Extensions£¬¼´Java¹ÜÀíÀ©Õ¹£©ÊÇÒ»¸öΪӦÓóÌÐò¡¢É豸¡¢ÏµÍ³µÈÖ²Èë¹ÜÀí¹¦ÄܵĿò¼Ü¡£JMX¿ÉÒÔ¿çԽһϵÁÐÒì¹¹²Ù×÷ϵͳƽ̨¡¢ÏµÍ³Ìåϵ½á¹¹ºÍÍøÂç´«ÊäÐÒ飬Áé»îµÄ¿ª·¢Î޷켯³ÉµÄϵͳ¡¢ÍøÂçºÍ·þÎñ¹ÜÀíÓ¦Óá£
Java ÐéÄâ»ú±¾Éí¾ÍÄÚ½¨ÁËһЩJMX¹ÜÀíÄ£¿é£¬¿ÉÒÔ¼à¿ØÄÚ´æÒÔ¼°CPUʹÓÃÇé¿ö¡£
ÓÉÓÚTomcat±¾ÉíʹÓÃJavaÓïÑÔʵÏÖ£¬ËùÒÔͨ¹ý¼à¿ØJavaÐéÄâ»ú£¬¿ÉÒÔ´ïµ½¼à¿ØTomcat µÄÄ¿µÄ¡£
Java¿ª·¢¹¤¾ßÖеÄJConsoleÌṩÁËͼÐλ¯µÄ¼à¿ØÒ³Ãæ¡£
£¨1£©ÅäÖÃTomcat Æô¶¯½Å±¾¡£
ÔÚTomcat°²×°Ä¿Â¼ÖÐÕÒµ½catalina.bat£¬ ÕâÊÇÒ»¸öWindows½Å±¾¡£ÓÃÀ´Æô¶¯TomcatÓ¦Ó÷þÎñÆ÷¡£
ÔÚ:doRunºÍ:doStart·½·¨ºóÃæ£¬¼ÓÈëJMXÉèÖÃÑ¡Ïî
Set JAVA_OPTS=%JAVA_OPTS%
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port="9004"-Dcom.sun.management.jmxremote.authenticate="false"-Dcom.sun.management.jmxremote.ssl="false"
ÉÏÃæµÄÉèÖñíÃ÷£¬JMX¹ÜÀí·þÎñ¶Ë¿ÚÊÇ9004£¬·ÃÎÊJMX·þÎñ²»ÐèÒªÈÏÖ¤£¨ÎªÁË·½±ãÎÒÃǵÄÑÝʾ£©¡£
£¨2£©Í¨¹ýJConsole¹Û²ìTomcat×ÊÔ´µÄʹÓÃ×´¿ö
ÔÚWindowsÃüÁîÐÐÌáʾ·ûÀïÊäÈëjconsole ºó»Ø³µ£¬½«³ÊÏÖÈçͼ1-14ËùʾJConsoleÅäÖÃÒ³Ãæ¡£
ͼ1-14 JConsoleÅäÖÃÒ³Ãæ
ÊäÈëTomcatÓ¦Ó÷þÎñÆ÷ËùÔÚµÄÐéÄâ»úIPµØÖ·192.168.48.128£¬JMX·þÎñ¶Ë¿Ú9004µã»÷Á¬½Ó£¬½«Õ¹Ê¾TomcatÓ¦Ó÷þÎñÆ÷ËùÔÚÐéÄâ»úµÄÔËÐÐÇé¿ö£¬Èçͼ1-15Ëùʾ¡£
ͼ1-15 TomcatÓ¦Ó÷þÎñÆ÷ËùÔÚÐéÄâ»úµÄÔËÐÐÇé¿ö
ÔÚͼ1-15ÖÐÎÒÃÇ¿ÉÒÔ¿´µ½Äڴ棬Ị̈߳¬JavaÀàÒÔ¼°²Ù×÷ϵͳµÄÏà¹ØÇé¿ö¡£
ÏÖÔÚÎÒÃÇÔÙ´ÎÓÃJMeterÄ£Äâ100¸öÓû§Í¬Ê±·ÃÎʳèÎïÉ̵꣬ͬʱʹÓÃJConsole¹Û²âTomcatÄÚ´æÊ¹ÓÃÇé¿ö£¬Èçͼ1-16Ëùʾ¡£
ͼ1-16 µ±Óû§·ÃÎÊÁ¿¼¤ÔöʱÄÚ´æµÄʹÓÃ×´¿ö
ÔÚͼ1-16ÖÐÎÒÃÇ¿ÉÒÔ¿´µ½ÄÚ´æµÄʹÓÃÓÐÃ÷ÏÔÔö³¤¡£ÕâÒ²Ö¤Ã÷ÁËÄÚ´æµÄʹÓÃÂÊÓëËù·ÃÎʵÄÓû§Á¿ÊÇÓÐÒò¹û¹ØÏµµÄ£¬ÎÒÃÇ¿ÉÒÔͨ¹ý¼à¿Ø¶ÔÄÚ´æµÄʹÓÃÀ´ÅжÏÊÇ·ñÓ¦¸ÃÔö¼ÓеÄÓ¦Ó÷þÎñÆ÷¡£
2. ¼à¿Ø³ÌÐòÉè¼ÆÊµÏÖ
ͨ¹ýJConsoleÎÒÃ**۲쵽µ±Óû§·ÃÎÊÁ¿¼¤Ôöʱ£¬¶ÑÄÚ´æµÄʹÓÃѸËÙÉÏÉý¡£ÏÖÔÚÎÒÃÇ¿ÉÒÔͨ¹ýJMX±à³Ì½Ó¿Ú¶¯Ì¬µÄµÃµ½¶ÑÄÚ´æµÄʹÓÃÂÊ¡£Èç´úÂëÇåµ¥1-1Ëùʾ¡£
¡¾´úÂëÇåµ¥1-1¡¿
package com.skater.cloud;
importjavax.management.MBeanServerConnection;
import javax.management.ObjectName;
importjavax.management.openmbean.CompositeDataSupport;
importjavax.management.remote.JMXConnectorFactory;
importjavax.management.remote.JMXServiceURL;
public class JMXClient {
publicJMXClient£¨£© {
super£¨£©;
}
publicstatic void main£¨String[] args£© throwsException {
StringurlForJMX ="service:jmx:rmi:///jndi/rmi://192.168.48.128:9004/jmxrmi";
MBeanServerConnectionjmxServerConnection = JMXConnectorFactory
.connect£¨new JMXServiceURL£¨urlForJMX£©£¬ null£©
.getMBeanServerConnection£¨£©;
try{
String[]domains = jmxServerConnection.getDomains£¨£©;
for£¨String domain : domains£©{
System.out.println£¨domain£©;
}
ObjectName memory = new ObjectName£¨"java.lang:type=Memory"£©;
CompositeDataSupport comp = £¨CompositeDataSupport£©jmxServerConnection.getAttribute£¨memory£¬ "HeapMemoryUsage"£©;
double max = £¨Long£©comp.get£¨"max"£©;
double used = £¨Long£©comp.get£¨"used"£©;
System.out.println£¨used/max£©;
}catch £¨Exception ex£© {
ex.printStackTrace£¨£©;
}
}
}
ͨ¹ýÕâ¸ö³ÌÐòÎÒ½«µÃµ½¶ÔÄÚ´æµÄʹÓÃÂÊ¡£
£¨1£©¸ù¾ÝÓû§·ÃÎÊÁ¿Ôö¼Ó»òÕß¼õÉÙÓ¦Ó÷þÎñÆ÷µÄÊýÁ¿
ͨ¹ýÉÏÃæµÄ³ÌÐò£¬ÎÒÃÇÒѾ¿ÉÒÔʵʱµÃµ½ÄÚ´æÊ¹ÓÃÂÊ¡£ÏÂÃæ£¬ÎÒÃǽ«Í¨¹ý±àд³ÌÐòÀ´ÊµÏÖÔö¼Ó»ò¼õÉÙÐéÄâ»úÒÔ´ïµ½¿ØÖÆÓ¦Ó÷þÎñÆ÷ÊýÁ¿µÄÄ¿µÄ¡£
Vmware Server ÌṩÁËÒ»Ì×Vmware VIX ±à³Ì½Ó¿Ú¼°ÏàÓ¦µÄÃüÁîÐгÌÐò²Ù×÷¹©¿ª·¢ÈËÔ±±àд³ÌÐò¡£VIX±à³Ì½Ó¿ÚÏÖÔÚÖ§³ÖPerl£¬ COM ÓïÑÔ¡£ÔÝʱûÓÐÖ±½ÓÕë¶ÔJava±à³ÌÓïÑԵıà³Ì½Ó¿Ú£¬µ«Õâ²¢²»·Á°ÎÒÃÇʹÓÃJavaÓïÑÔÀ´ÊµÏÖ¿ØÖÆÐéÄâ»úµÄÊýÁ¿¡£ÎÒÃÇ¿ÉÒÔʹÓÃJava³ÌÐòµ÷ÓÃÃüÁîÐС£
ÕâÀï¸ø³öÆô¶¯ÒÔ¼°¹Ø±ÕÐéÄâ»úµÄÃüÁî¡£
Æô¶¯ÐéÄâ»úµÄÃüÁ
vmrun -T server -u <UserName> -p XXX -h https://127.0.0.1:8333/sdk start "[vmwaredatastore] winxp/Windows XPProfessional.vmx"
¹Ø±ÕÐéÄâ»úµÄÃüÁ
vmrun -T server -u <UserName> -p XXX -h https://127.0.0.1:8333/sdk stop "[vmwaredatastore]winxp/Windows XP Professional.vmx"
ÏÖÔÚÎÒÃÇ¿ÉÒÔͨ¹ýJavaÓïÑÔʵÏÖÆô¶¯Óë¹Ø±ÕÐéÄâ»úµÄ²Ù×÷¡£Èç´úÂëÇåµ¥1-2Ëùʾ¡£
¡¾´úÂëÇåµ¥1-2¡¿
packagecom.skater.cloud.util;
//²Ù×÷ÐéÄâ»ú
publicclass OperateVM {
public void startVM£¨String userName£¬ Stringpasswd£¬ String url£¬ StringdataStore£¬String path£¬ StringVMName£© {
ExecuteCommand.execute£¨"vmrun -T server -u "+userName+" -p"+passwd+" -h "+url
+" start "["+dataStore+"] "+ path+"/"+VMName+"""£©;
}
public void stopVM£¨String userName£¬ Stringpasswd£¬ String url£¬ StringdataStore£¬String path£¬ StringVMName£© {
ExecuteCommand.execute£¨"vmrun -T server -u "+userName+" -p"+passwd+" -h "+url
+" stop "["+dataStore+"] "+ path+"/"+VMName+"""£©;
}
}
packagecom.skater.cloud.util;
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
//Ö´ÐÐÃüÁîÐÐ
publicclass ExecuteCommand {
public static void execute£¨String cmd£© {
try {
Runtime rt =Runtime.getRuntime£¨£©;
Process pr = rt.exec£¨cmd£©;
BufferedReader input = newBufferedReader£¨new InputStreamReader£¨pr
.getInputStream£¨£©£©£©;
String line = null;
while £¨£¨line = input.readLine£¨£©£© != null£© {
System.out.println£¨line£©;
}
int exitVal = pr.waitFor£¨£©;
System.out.println£¨"Exited with error code " + exitVal£©;
} catch £¨Exception e£© {
System.out.println£¨e.toString£¨£©£©;
e.printStackTrace£¨£©;
}
}
}
£¨2£©¼¯³É¼à¿ØÓëÐéÄâ»ú²Ù×÷´úÂë
ÏÖÔÚÎÒÃÇ¿ÉÒÔ°Ñ¼à¿Ø´úÂëÓëÐéÄâ»ú²Ù×÷´úÂ뼯³ÉÔÚÒ»Æð£¬×öÒ»¸öÐéÄâ»úµ÷¶ÈÆ÷¡£Èç´úÂëÇåµ¥1-3Ëùʾ¡£
¡¾´úÂëÇåµ¥1-3¡¿
packagecom.skater.cloud;
importcom.skater.cloud.util.OperateVM;
//ÐéÄâ»úµ÷¶ÈÆ÷
publicclass VMScheduler {
public static void main£¨String args[]£© {
while £¨true£©{
doublememoryUsage=0;
try{
memoryUsage= JMXClient.getMemoryUsage£¨£©;
//ÿ¸ô5·ÖÖӲ鿴һ´ÎÄÚ´æÊ¹ÓÃÇé¿ö
Thread.sleep£¨5*60*1000£©;
} catch £¨InterruptedException e£© {
e.printStackTrace£¨£©;
}
if£¨memoryUsage>0.5£©{
OperateVM.startVM£¨"skaterhome"£¬"xxx"£¬ "https://127.0.0.1:8333/sdk"£¬ "vmwaredatastore"£¬ "winxp"£¬"Windows XP Professional.vmx"£©;
}else{
OperateVM.stopVM£¨"skaterhome"£¬"xxx"£¬ "https://127.0.0.1:8333/sdk"£¬ "vmwaredatastore"£¬ "winxp"£¬"Windows XP Professional.vmx"£©;
}
}
}
}
1.4 ÄѵÀÕâ¾ÍÊÇÔÆ¼ÆË㣿
ͨ¹ýÉÏÃæµÄ½éÉÜ£¬ÎÒÃÇÒѾÍêÕûµØ´î½¨ÁËÒ»¸ö¿ÉÒÔ¸ù¾ÝÓ¦ÓóÌÐò¸ºÔض¯Ì¬À©Õ¹ÊÕËõµÄ³èÎïÉ̵ꡣ
¿ÉÄܶÁÕß»áÎÊÄѵÀÕâ¾ÍÊÇÔÆ¼ÆË㣿´ð°¸Êǿ϶¨µÄ£¬µ«Õâ¸öÀý×Ó²¢²»ÊÇÔÆ¼ÆËãµÄÈ«²¿¡£
ÏÂÃæÈÃÎÒÃÇ¿´¿´´ó¼Ò¶¼ÊÇÔõô¶¨ÒåÔÆ¼ÆËãµÄ¡£
1. Google¶ÔÔÆ¼ÆËãµÄ½âÊÍ
Pat Stingley:¡± Froman engineering perspecitve the cloud is a computing architecture characterizedby a large number of interconnected identical computing devices that can scaleon demand and that communicate via an IP network. From a business perspective it is computingservices that are scalable and billed on a usage basis.¡±
http://sites.google.com/site/cloudarchitecture
Pat Stingley£¨googleµÄÑо¿Ô±£©ÈÏΪ´Ó¹¤³ÌʦµÄ½Ç¶È¶øÑÔÔÆ¼ÆËãÊÇÒ»ÖÖÒÔ°´Ð裬¿ÉÀ©Õ¹µÄ·½Ê½»ñµÃËùÐèµÄ×ÊÔ´µÄ¼Ü¹¹¡£´ÓÉÌÒµµÄ½Ç¶È¿´ÕâÊÇÒ»ÖÖ°´Ð踶·ÑµÄ·þÎñ·½Ê½¡£
2. Baidu°Ù¿ÆÉ϶ÔÔÆ¼ÆËãµÄ½âÊÍ
ÔÆ¼ÆËã¸ÅÄîÊÇÓÉGoogleÌá³öµÄ£¬ÕâÊÇÒ»¸öÃÀÀöµÄÍøÂçÓ¦ÓÃģʽ¡£ÏÁÒåÔÆ¼ÆËãÊÇÖ¸IT»ù´¡ÉèÊ©µÄ½»¸¶ºÍʹÓÃģʽ£¬Ö¸Í¨¹ýÍøÂçÒÔ°´Ðè¡¢Ò×À©Õ¹µÄ·½Ê½»ñµÃËùÐèµÄ×ÊÔ´£»¹ãÒåÔÆ¼ÆËãÊÇÖ¸·þÎñµÄ½»¸¶ºÍʹÓÃģʽ£¬Ö¸Í¨¹ýÍøÂçÒÔ°´Ðè¡¢Ò×À©Õ¹µÄ·½Ê½»ñµÃËùÐèµÄ·þÎñ¡£ÕâÖÖ·þÎñ¿ÉÒÔÊÇITºÍÈí¼þ¡¢»¥ÁªÍøÏà¹ØµÄ£¬Ò²¿ÉÒÔÊÇÈÎÒâÆäËûµÄ·þÎñ£¬Ëü¾ßÓг¬´ó¹æÄ£¡¢ÐéÄ⻯¡¢¿É¿¿°²È«µÈ¶ÀÌØ¹¦Ð§¡£
3. ά»ù°Ù¿ÆÉ϶ÔÔÆ¼ÆËãµÄ½âÊÍ
ÔÆ¶Ë¼ÆË㣨ӢÎÄ£ºCloud computing£¬Öйú´ó½Òë×÷ÔÆ¼ÆË㣬̨ÍåÒë×÷ÔÆ¶ËÔËË㣩£¬ÊÇÒ»ÖÖ»ùÓÚ»¥ÁªÍøµÄ¼ÆË㷽ʽ£¬Í¨¹ýÕâÖÖ·½Ê½£¬¹²ÏíµÄÈíÓ²¼þ×ÊÔ´ºÍÐÅÏ¢¿ÉÒÔ°´ÐèÌṩ¸ø¼ÆËã»úºÍÆäËûÉ豸¡£Õû¸öÔËÐз½Ê½ºÜÏñµçÍø¡£
´ÓÉϲ»ÄÑ¿´³ö£¬°´Ðè·ÖÅä×ÊÔ´£¬¸ù¾ÝµÃµ½µÄ¼ÆËã×ÊÔ´¸¶·ÑÊÇÔÆ¼ÆËãµÄºËÐÄÄÚÈÝ¡£
¶øÎÒÃǵijèÎïÉ̵êÓ¦ÓÃËæ×ÅÎÒÃDz»¶ÏÉîÈëµÄ²âÊÔ£¬¸ù¾ÝÖð²½Ôö³¤µÄÐèÇ󣬶Ô×ÊÔ´½øÐÐÁ˺ÏÀíµÄ°´Ðè·ÖÅ䣬·ûºÏÔÆ¼ÆËãµÄ¶¨Ò壬ËùÒÔËüÊôÓÚÒ»¸öÔÆ¼ÆËãÓ¦Óá£
1.4.1 ʲôÊÇÔÆ¼ÆËã
ͨ¹ý³èÎïÉ̵êµÄÀý×Ó£¬ÎÒÏë¿ÉÄÜ»áÓжÁÕßÈÏÎªÔÆÓ¦ÓñØÐëµÃʹÓÃÐéÄ⻯¼¼Êõ¡£
ÄÇôֻÓÐһ̨¼ÆËã»úûÓÐʹÓÃÐéÄ⻯¼¼ÊõûÓÐÁ¬½ÓÍøÂçÄܲ»ÄܳÆÖ®ÎªÔƼÆË㣿
ÎÒÃDz»·ÁÌἸ¸ö¼ÙÉè:
¼ÙÉèÒ»: ÔÆ±ØÐëʹÓÃÐéÄ⻯¼¼Êõ½øÐмÆËã
¼ÙÉèÔÆÖ»ÄÜʹÓÃÐéÄ⻯¼¼Êõ½øÐмÆË㣬ÄÇôÊDz»ÊÇ˵ÏÖÔÚËùÓеÄÔÆ¼ÆË㶼ʹÓÃÁËÐéÄ⻯¼¼Êõ£¿±ÈÈçGoogleµÄÔÆ¼ÆËãϵͳ£¬Î¢ÈíµÄÔÆ¼ÆËãϵͳ»òÕßÈκÎÈ˵ÄÊ²Ã´ÔÆ¼ÆËãϵͳ£¿¿ÉϧÎÒÃÇÄò»µ½È·ÇеÄÊý¾Ý˵Ã÷ËûÃÇÊÇ·ñ¶¼Ê¹ÓÃÐéÄ⻯¼¼Êõ¡£ÎÒÃDz»·ÁÔÙ¿´¿´ÎÒÃÇËÑË÷µ½µÄÔÆ¼ÆËãµÄ¶¨Ò壬ËüÇ¿µ÷µÄÊÇ×ÊÔ´µÄ¹ÜÀíÓëÀûÓ㬲¢Ã»ÓÐÌáµ½ÐéÄ⻯¼¼Êõ£¬Èç¹ûÐéÄ⻯¼¼ÊõÊÇÔÆ¼ÆËã²»¿ÉȱÉÙµÄÒ»²¿·Ö£¬ÄÇô¾ÍÓ¦¸ÃÔÚ¶¨ÒåµÄʱºòÓÐÃ÷ȷ˵Ã÷¡£ÊÂʵÊÇÌá¸ß¼ÆËã×ÊÔ´ÀûÓÃÂÊÓë¹ÜÀíµÄ·½Ê½²»Ö¹ÐéÄ⻯¼¼ÊõÒ»ÖÖ¡£Ê¹ÓÃÍø¸ñ¼¼ÊõÎÒÃÇͬÑù¿ÉÒÔÌá¸ßµ¥Ì¨¼ÆËã»úµÄʹÓÃЧÂÊ¡£¼ÙÉèÒ»²»³ÉÁ¢¡£
¼ÙÉè¶þ: ÔÆÖ»ÄÜÀûÓÃÍøÂç×ÊÔ´½øÐмÆËã
ͨ¹ýÎÒÃÇÇ°Ãæ²éµ½µÄÏÖÓж¨Ò壬ȷʵÓÐ˵ÕâÊÇÒ»ÖÖÍøÂçÓ¦ÓÃģʽ¡£
ÏÖÔÚÎÒÃǼÙÉèÔÆÖ»ÄÜÀûÓÃÍøÂç×ÊÔ´½øÐмÆË㣬һµ©Ê§È¥ÍøÂç¾ÍʧȥÁËÁ¬½ÓÔÆ¼ÆËãµÄÄÜÁ¦£¬ÄÇÃ´ÔÆµÄÖÂÃüÈõµã¾ÍÔÚÓÚÍøÂçÁ´½Ó¡£¶øÍøÂçÁ´½Ó±»ÆÆ»µ£¬»ò²»Õý³£ÊÇÒ»¸ö³£¼ûµÄÏÖÏó¡£
ÄѵÀÔÚÊ§È¥ÍøÂçµÄ×´¿öÏ£¬Ê¹ÓÃÔÆ¼ÆËãµÄ¿Í»§Ö»ÓеȴýÍøÂç»Ö¸´£¬¶øÃ»ÓÐÈκη½·¨¼ÌÐøËûÃǵŤ×÷ô£¿
±ÊÕßÈÏΪ£¬¼´Ê¹ÊǸúÍøÂç½ôÃÜÏà¹ØµÄÓ¦Ó㬱ÈÈçÍøÕ¾»òÕßÊý¾ÝλÓÚÍøÂçÖеÄÓ¦Óã¬ÔÚÊ§È¥ÍøÂçÁ¬½ÓµÄʱ¿Ì£¬Ò²Ó¦¸ÃÓб¸·ÝµØ½â¾ö·½°¸¡£±ÈÈç¶à·µç»°ÏµÍ³¡£¶øÏñÄ£Äâ¼ÆË㣬ÊýÖµ·ÖÎö£¬ÒÔ¼°Êý¾ÝÔÚ±¾µØÓб¸·ÝµÄÓ¦Ó㬵±ÍøÂçÁ¬½Óʧȥ֮ºó£¬ÔÆÏµÍ³¸üÓ¦¸ÃÕý³£¹¤×÷¡£ÒÀÈ»¿ÉÒÔÀûÓñ¾µØ¼ÆËã»ú»òÕß±¾µØÏÖÓеÄ×ÊÔ´½øÐмÆËã¡£ÔÚÕâÑùµÄÇé¿öϾ͸üÓбØÒª³ä·ÖÀûÓñ¾µØ×ÊÔ´,¶øÔƼÆËãÖеÄijЩ¼¼ÊõÌṩÁ˺ܺõĽâ¾ö·½°¸¡£¼ÙÉè¶þͬÑù²»³ÉÁ¢¡££¨Ö¤Ã÷¼ÙÉèÒ»Óë¼ÙÉè¶þ²»³ÉÁ¢µÄ×îºÃ·½·¨ÊÇ£¬Ê¹Ó÷ÇÐéÄâ»úµÄÔÆ¼ÆËã¼¼ÊõÌá¸ß±¾µØ³ÌÐòµÄ¹¤×÷ЧÂÊ£¬²Î¼û±¾ÊéµÚ°ËÕµÄÓ¦Ó㬽«Ê¹ÓÃÍø¸ñ¼ÆËã¼¼ÊõÌá¸ß±¾µØExcelµÄ¹¤×÷ЧÂÊ£©
Èç¹û¸÷λ¶ÁÕßÓÐÇ°Ãæ¼ÙÉèµÄ¹Ûµã£¬Ò²²»ÊÇÒ»¼þ»µÊ£¬ÒòÎªÔÆ¼ÆËãȷʵ¿ÉÒÔ¼«´óµÄÀûÓÃÍøÂç×ÊÔ´£¬¶øÐéÄ⻯¼¼ÊõȷʵÊÇÒ»ÖÖ¸ßЧ²¢¼òµ¥µÄ¹ÜÀíÓëÀûÓüÆËã×ÊÔ´µÄÓÐЧ·½·¨¡£±ÊÕßÏë˵Ã÷µÄÊÇÀûÓÃÍøÂç×ÊÔ´»òʹÓÃÐéÄ⻯¼¼Êõ²¢²»ÊÇÔÆ¼ÆËãµÄÈ«²¿¡£ÆäºËÐÄÔÚÓÚ×ÊÔ´¹ÜÀíÓëÀûÓá£
ÐéÄ⻯¼¼ÊõÒÔ¼°ÍøÂç×ÊÔ´ÎªÔÆ¼ÆËãÌṩÁËÏàÓ¦µÄ¼¼ÊõºÍ×ÊÔ´Ö§³Ö£¬µ«²»Ê¹ÓÃËüÃÇÒ»Ñù¿ÉÒÔ½¨Á¢ÔƼÆËã»·¾³¡£±ÈÈçÎÒÃÇ¿ÉÒÔ²»Ê¹ÓÃÐéÄâ»ú£¬¶ø½«Ó¦Óò¿Êðµ½ÎïÀí»ú»·¾³ÖУ¬Ê¹ÓÃÆäËüÔÆ¼ÆËã¼¼Êõ³ä·ÖÀûÓÃCPUÿ¸öºËÐÄͬÑù¿ÉÒÔÌá¸ß³èÎïÉ̵êµÄÏìÓ¦ËÙ¶È¡£¶øÊ¹ÓÃÐéÄ⻯¼¼ÊõºÍÍøÂç×ÊÔ´Ö»ÊDZ¸Ñ¡·½°¸¡£
ÏÂÃæÎÒÃÇÀ´¿´¿´ÔƼÆËã¿ò¼ÜµÄ×é³ÉºÍÏà¹ØµÄ¼¼Êõ¡£
1.4.2 ÔÆ¼ÆËã¼Ü¹¹¼ò½é
ÔÆ¼ÆËãÖÐÓм¸¸ö¹Ø¼üµÄÃû´Ê£¬»ù´¡ÉèÊ©¼´·þÎñ£¨IaaS£©£¬Æ½Ì¨¼´·þÎñ£¨PaaS£©£¬Èí¼þ¼´·þÎñ£¨SaaS£©£¬×ÊÔ´¹©Ó¦£¨Provisioning£©£¬×ÊÔ´°²È«£¨Security£©¡£
ºÜ¶à×ÊÁϰÑXaaS½âÊÍΪX¼´·þÎñ£¬ÎÒ¾õµÃÒëΪX×÷Ϊ·þÎñ¿ÉÄܸüÒ×ÓÚÀí½â£¬ÒòΪÈí¼þ£¬Æ½Ì¨»òÕß»ù´¡ÉèÊ©±¾À´²¢²»ÊÇ·þÎñ£¬Ö»Óо¹ýÒ»¶¨µÄ¸ÄÔ죬ËûÃDzųÉΪһÖÖÄÜΪ¶àÈËʹÓõķþÎñ¡£
£¨1£©»ù´¡ÉèÊ©¼´·þÎñ£¨IaaS£©
ÔÚÔÆ¼ÆËãÌåϵÖУ¬IaaS´¦ÓÚ×îµ×²¿¡£Ö÷ÒªÖ¸µÄÊÇÓ²¼þÉ豸£¬±ÈÈç¼ÆËã»ú¡¢½»»»»ú¡¢Â·ÓÉÆ÷¡¢·À»ðǽ¡¢»ú¼Ü¡¢ÒòÌØÍø¡¢¾ÖÓòÍø£¬´æ´¢É豸¡£Ö÷ÒªÓõ½µÄ¼¼Êõ°üÀ¨ÐéÄâÖ÷»ú¼¼Êõ£¬²Ù×÷ϵͳÒÔ¼°¸÷ÖÖÓ²¼þ¹ÜÀí¼¼Êõ¡£ÔÚÎÒÃdzèÎïÉ̵êµÄÀý×ÓÀÎÒÃÇͨ¹ý°²×°ÐéÄ⻯Èí¼þ¾ßÓÐÁËÌṩÐéÄâÖ÷»úµÄÄÜÁ¦£¬Ï൱ÓÚÔÚ¼ÒÀïÃæ´´½¨ÁËÒ»¸ö¼òµ¥µÄ¿ÉÒÔÌṩӲ¼þ·þÎñµÄϵͳ¡£
£¨2£©Æ½Ì¨¼´·þÎñ£¨PaaS£©
ƽ̨×÷Ϊ·þÎñ£¨PaaS£©´¦ÓÚ»ù´¡ÉèÊ©×÷Ϊ·þÎñ£¨IaaS£©µÄÉϲ㡣Ö÷ÒªÖ¸µÄÊÇÍø¸ñ¼ÆËãÈí¼þ£¬²¢ÐмÆËãÈí¼þ£¬¸ºÔؾùºâÈí¼þ£¬Êý¾Ý¿âµÈÈÔÐèÒªÔÚÉÏÃæ½øÐпª·¢²ÅÄÜʹÓõÄ×ÊÔ´¡£ÔÚÎÒÃdzèÎïÉ̵êµÄÀý×ÓÀ°²×°ÔÚÐéÄâ»úµÄ²Ù×÷ϵͳºÍTomcat·þÎñÆ÷¾ÍÏ൱ÓÚÓû§¿ª·¢Æ½Ì¨£¬ÔÚÕâ¸öƽ̨ÉÏÎÒÃÇ¿ÉÒÔ²¿Êð¸÷ÖÖÓ¦ÓóÌÐò¡£
£¨3£©Èí¼þ¼´·þÎñ£¨SaaS£©
Èí¼þ×÷Ϊ·þÎñ£¨SaaS£©´¦ÔÚ×î¸ß²ã£¬ÕâÑùµÄÈí¼þ²»ÐèÒªÓû§×ö¹ý¶à¿ª·¢¾ÍÄÜÖ±½ÓʹÓ㬱ÈÈ粩¿Í¹ÜÀíϵͳ¡¢ÄÚÈݹÜÀíϵͳ¡¢ÆóÒµ×ÊÔ´¼Æ»®ÏµÍ³£¨ERP£©¡¢¿ÆÑ§¼ÆËãÈí¼þ£¨±ÈÈçMatLab£©£¬°ì¹«Èí¼þ£¨Google Doc, MS Office£©µÈµÈ¡£ÔÚÎÒÃdzèÎïÉ̵êµÄÀý×ÓÀÎÒÃǽ«´ÓInternetÉÏÏÂÔØµÄ³èÎïÉ̵êÓ¦ÓóÌÐò²¿Êðµ½TomcatÓ¦Ó÷þÎñÆ÷ÉϹ©¿Í»§Ö±½ÓʹÓþÍÏ൱ÓÚÌṩÁËÒ»¸öÈí¼þ·þÎñ¡£
ÊÂʵÉÏÔÚPaaSÓëSaaS֮ǰ£¬Èí¼þÐÐÒµÔøÌá³ö¹ýÆäËüÀàËÆµÄ¸ÅÄ³ÆÎªSOAÃæÏò·þÎñµÄÓ¦Ó㬱ÊÕß´Óʵ¼ùµÄ½Ç¶ÈÈÏΪËüÊÇPaaSÓëSaaSµÄ½áºÏÌ壬ÒòΪµ±Ê±×öSOA³ÌÐòÖ÷Òª¾ÍÊÇʹÓù«¿ªÐÒéÔÚijÖÖ·þÎñÆ÷ÉÏÌṩӦÓ÷þÎñ¹©¸ü¶àµÄÈË»òÆäËûÓ¦ÓóÌÐòʹÓ㬶øÄܽÓÊÜÓë½âÊÍÌØ¶¨ÐÒéµÄ·þÎñÆ÷£¬ÔÚÔÆ¼ÆËã¼Ü¹¹ÖÐËãÊÇÒ»ÖÖÌṩÁËÆ½Ì¨·þÎñµÄPaaS£¬ÎÒÃÇÔËÐÐÔÚÕâÖÖ·þÎñÆ÷ÉϵĹ©¸ü¶àÈËÓëÉ豸ʹÓõÄÓ¦ÓÃÔò¿É³ÆÎªSaaS¡£
µ±È»ÓÉÓÚÔÚ±¾ÕÂÖÐÎÒÃÇÌṩµÄ·þÎñÖ»ÄÜΪ×Ô¼º·þÎñ£¬ËùÒÔÖ»ÄܽÐ×ö˽ÓÐÔÆÏµÍ³¡£ÁíÍ⣬±ÊÕßÈÏΪÉÏÃæµÄÈý²ãÔÚÕæÊµµÄÔÆ¼ÆËã»·¾³ÖÐÊÇ¿ÉÒÔ¶ÀÁ¢´æÔڵģ¬ÎÒÃÇ¿ÉÒÔÖð²ã´î½¨ÔÆÏµÍ³£¬µ«Èç¹ûÎÒÃÇÖ»´î½¨ÆäÖеÄÒ»²ã»ò¼¸²ã£¬Ö»ÒªËü¿ÉÒÔÂú×ã°´Ðè·ÖÅä×ÊÔ´µÄÒªÇó£¬ÈÔÈ»¿ÉÒÔ˵ËüÊÇÒ»ÖÖÔÆ¼ÆË㻯µÄϵͳ¡£¿ÉÄÜÓÐЩ¶ÁÕß²»ÕâôÈÏΪ£¬µ«±ÊÕßÈÏΪ£¬ÔÚÕæÊµµÄÓ¦Óû·¾³ÖкÜÄÑÈ«Ãæ²¿ÊðÒ»¸ö´¿´âµÄÔÆÏµÍ³£¬ÎÒÃ**ú¼Ò´ÓÉÏÊÀ¼Í80Äê´ú¿ªÊ¼½¨ÉèÐÅϢϵͳ£¬½ñÌì´ó²¿·ÖµÄÆóÒµ£¬×éÖ¯ÒÔ¼°Õþ¸®ÒѾ²¿ÊðÁ˺ܶà³ÉÊìµÄÐÅϢϵͳ£¬ËüÃDZ»²¿ÊðÔÚ¶àÖÖ¶àÑùµÄÓ²¼þÒÔ¼°Èí¼þƽ̨ÉÏ£¬ÏëÒªÒýÈëÔÆ¼ÆËã²»¿ÉÄÜÒ»õí¶ø¾Í¡£ÎÒÃÇÐèÒª¸ù¾ÝÏÖÓÐϵͳµÄ¼Ü¹¹·ÖÎöÓû§×îÆÈÇÐÐèÒª½â¾öµÄÎÊÌ⣬ȻºóѰÕÒ¿ÉÄܵĽâ¾ö·½°¸¡£Ã»ÓÐÊʺÏËùÓÐÓû§Çé¿öµÄÍòÄܽâ¾ö·½°¸£¬ÔƼÆËãÒ²ÊÇÒ»Ñù£¬µ«ÊÇÔÆ¼ÆËãÖеĺܶ༼ÊõºÍ½â¾ö·½°¸È·Êµ¿ÉÒÔ°ïÖúÎÒÃǽâ¾öºÜ¶àÎÒÃÇÅöµ½µÄÏÖʵÎÊÌâ¡£
³ýÁËÉÏÊöÈý¸öÔÆ¼ÆËã²ã´ÎÍ⣬»¹ÓÐÁ½¸öÃû´Ê£¬¿ÉÄܸ÷λ¶ÁÕß²»Ì«ÊìϤ£¬ËüÃÇÊÇ×ÊÔ´¹©Ó¦£¨Provisioning£©£¬×ÊÔ´°²È«£¨Security£©¡£
£¨4£©×ÊÔ´¹©Ó¦
×ÊÔ´¹©Ó¦Ö÷Òª½â¾öÈçºÎ²¿Êð£¬ÏàÐÅͨ¹ýµÚÒ»ÕµĽéÉܶÁÕßÃÇÒѾ¸Ð¾õµ½´î½¨Ò»¸ö°´Ðè·ÖÅä×ÊÔ´µÄÓ¦ÓÃÐèÒª»¨¶àÉÙ¹¦·ò£¬¿ÉÄÜÓеĶÁÕß»áÏë¡°¼ÙÈçÔÚʵ¼ÊÓ¦ÓÃÖÐÎÒ°´ÕÕÕâÖÖ°ì·¨½â¾ö×ÊÔ´²»×ãµÄÎÊÌ⣬ҲÐíÒ»Á½¸öÓ¦ÓÃÎÒ»¹Äܽâ¾öµÃÁË£¬µ«ÎÊÌâÊÇÎÒÃǵ¥Î»²»Ö¹Ò»¸öÓ¦Ó𡣬¶øÇÒ»¹ÔËÐÐÔÚ²»Í¬µÄ²Ù×÷ϵͳÉÏ£¬ÎÒÒªÕæÕâô½â¾öÁË£¬ÒÔºóµÄά»¤»¹Óв¿ÊðÎÊÌâ¾Í±äµÃ¸ü¸´ÔÓ¡±¡£ÕâÑùµÄ¿¼ÂǾø¶ÔÊÇÕýÈ·µÄ£¬ËùÒÔÔÚÔÆ¼ÆËãÖÐרÃÅÌá³öProvisioningÕâ¸öÖ÷Ì⣬ËüÇ¿µ÷µÄ¾ÍÊÇÔõô²¿Êð£¬ÈçºÎ¸ù¾ÝÓ¦ÓõÄÒªÇóÌṩ²»Í¬µÄÔËÐл·¾³²¢×Ô¶¯µØ½«Ó¦Óò¿ÊðÔÚËùÐèÒªµÄ»·¾³Àï¡£³£Óõļ¼ÊõÓÐÐéÄ⻯¼¼Êõ£¬Ö÷»ú×Ô¶¯»¯°²×°¼¼Êõ£¬Èí¼þ×Ô¶¯»¯°²×°¼¼Êõ¡£
£¨5£©×ÊÔ´°²È«
×ÊÔ´°²È«£¨Security£©£¬Õâ¸öÎÊÌâÏàОÀú¹ý²¡¶¾ÆÆ»µ£¬Õ˺ű»µÁµÄ¶ÁÕßÓ¦¸ÃÄÜÓÐÉî¿ÌÌå»á¡£×ÊÔ´°²È«ÔÚÔÆ¼ÆËãÖÐͬÑùÖØÒª£¬Õë¶ÔÔÆ¼ÆËãÖеIJ»Í¬·þÎñ²ã´Î£¬ÐèÒªÖð¼¶½¨Á¢ÏàÓ¦µÄÈÏÖ¤¼°ÊÚȨϵͳ¡¢ÈÕÖ¾¼à¿ØÏµÍ³¡¢·À»ðǽ¡¢É±¶¾ÏµÍ³µÈ¡£µ«±ÊÕßÈÏΪĿǰ²¢²»´æÔÚרÃÅÎªÔÆ¼ÆËã¶ø´´½¨µÄÌØÓеÄ×ÊÔ´°²È«¼¼Êõ£¬×é³ÉÔÆ¼ÆËãµÄ¸÷ÖÖ¼¼ÊõÒ»°ã¶¼»áÅäÖÃÏàÓ¦µÄ°²È«¼¼Êõ¡£Èç¹ûÕæÒªËµÓÐרÃŵÄÔÆ°²È«¼¼Êõ£¬±ÊÕßÈÏΪÖ÷ÒªÊÇÈçºÎʹij¸öÌØ¶¨µÄÔÆ¼ÆËãÓ¦ÓÿÉÒÔ½«¸÷¸öÔÆ¼ÆËãÄ£¿é¼äµÄ°²È«ÕûºÏµ½Ò»Æð£¬ÔÚÂú×㰲ȫµÄǰÌáÏ»¹ÄÜ·½±ã¹¤×÷¡£ÔÚ±¾ÊéÖйØÓÚÔÆ×ÊÔ´°²È«ÎÒÃǽ«½áºÏÓ¦ÓÃÀ´ËµÃ÷¡£
¹ØÓÚÔÆ¼ÆËã¼Ü¹¹£¬±ÊÕßÊǸù¾Ý×Ô¼ºµÄ¹¤×÷¾ÑéÓëÌå»áµÃµ½µÄ£¬»¶Ó¸÷λ¶ÁÕßµÄÅúÆÀÖ¸Õý¡£
±ÊÕߵĹ۵ã¿ÉÒÔ×ܽáΪÈçͼ1-17ËùʾµÄ¼Ü¹¹¡£
ͼ1-17 ÔÆ¼ÆËã¼Ü¹¹
´ÓʹÓõĽǶÈÀ´¿´£¬×îÖÕʹÓÃÕßÖ÷ҪʹÓÃSaaSÉÏÃæµÄÓ¦Ó㬿ª·¢ÈËÔ±ÐèҪʹÓÃPaaSÓëSaaSÌṩµÄÏà¹Ø×ÊÔ´À´´´½¨Ó¦Ó㬶øÏµÍ³¡¢ÍøÂç¹ÜÀíÔ±Ö÷Òª¹ØÐÄIaaSÓëPaaSµÄ´î½¨¡£
×ÛºÏÒÔÉÏ£¬ÎÒÃǻᷢÏÖÔÆ¼ÆËã´óÁ¿µÄʹÓÃÁËÏÖÓеļÆËã»ú¼¼Êõ£¬µ«ÊÇÔÚÏÖÓм¼ÊõµÄ»ù´¡ÉÏ£¬Ëü½«ÕâЩ¼¼Êõ½ôÃÜÕûºÏµ½ÁËÒ»ÆðÒÔ´ïµ½°´Ðè·ÖÅäµÄÄ¿µÄ¡£ÏëÏóÒ»ÏÂÔÚÒ»¸öÓµÓÐÉÏǧ̨¼ÆËã»úµÄ×éÖ¯£¨±ÈÈçѧУ£¬¹«Ë¾£¬Õþ¸®£¬¿ÆÑлú¹¹£¬µçÐÅÔËÓªÉÌ£©ÀÈç¹û¿ÉÒÔ½«ÕâЩ¼ÆËã×ÊÔ´ÓлúµÄ×éÖ¯ÔÚÒ»Æð£¬ºÏÀíµ÷¶ÈÓ¦ÓóÌÐò£¬ÎÞÒɽ«Îª¸Ã×éÖ¯ÌṩǿÓÐÁ¦µÄ¼ÆËãÄÜÁ¦£¬Ï൱ÓÚ½¨Á¢ÁËÒ»¸ö³¬¼¶¼ÆËã»ú£¬¶øÕą̂³¬¼¶¼ÆËã»ú»¹¿ÉÒÔͨ¹ý²»¶Ï¼ÓÈëеļÆËã×ÊÔ´¶ø±äµÃ¸ü¼ÓÇ¿´ó¡£Èç´ËÇ¿´óµÄ¼ÆËã×ÊÔ´¿ÉÒÔΪ±¾µ¥Î»µÄÒµÎñÌṩǿÓÐÁ¦µÄÖ§³Å£¬»òÕß½«²¿·Ö·þÎñÏúÊÛ¸øËûÈË¡£ÕâÒ²ÊÇÔÆ¼ÆËãµÄ÷ÈÁ¦ËùÔÚ¡£
1.4.3 ÔÆ¼ÆËãµÄÆðÔ´Óë·¢Õ¹
´ÓÉÏÒ»½ÚµÄÃèÊöÖÐÎÒÃÇ¿ÉÒÔ¿´³ö£¬ÔƼÆËãȷʵÊÇÒ»¸öÅÓ´óµÄϵͳ¡£µ«ÔÚÕâ¸öϵͳÖÐÎÒÃÇ¿ÉÒÔ¿´µ½ºÜ¶àÊìϤµÄ¼¼ÊõºÍ¸ÅÄΪʲôҪÉè¼ÆÕâÑùÒ»¸ö¸´ÔÓµÄÏµÍ³ÄØ£¿
Ò» °ãÀ´Ëµ´ó¼ÒÈÏÎªÔÆ¼ÆËãÊÇGoogle¹«Ë¾Ìá³öµÄ¡£Google Ϊʲô»áÌá³öÔÆ¼ÆË㣿ÎÒÃÇÀ´·ÖÎöÒ»ÏÂGoogle¹«Ë¾µÄÒµÎñ¡£Ê×ÏÈËüÌṩµÄÖ÷Òª²úÆ·ÊÇËÑË÷£¬¶øËÑË÷ÊÇÔÚÒ»¸öä¯ÀÀÆ÷ÀïÖ´Ðеģ¬Õâ¾ÍÐèÒª½â¾öÓû§·ÃÎÊËٶȵÄÎÊÌ⣬ͨ¹ý³èÎïÉ̵êµÄÀý×ÓÎÒÃÇÖªµÀÓÐÁ½ÖÖ·½·¨´ïµ½ÕâÒ»µãÔöÇ¿Ö÷»úÐÔÄÜÒÔ¼°Ìí¼Ó¸ü¶àµÄ·þÎñÆ÷¡£×ÔÈ»µÄGoogle¾ÍÃæÁÙºÏÀí·ÖÅä×ÊÔ´µÄÐèÇó¡£¶ø×÷Ϊһ¸ö²»¶Ï·¢Õ¹µÄ¹«Ë¾£¬³ýÁËËÑË÷ÒµÎñ£¬Google»¹ÌṩÁ˸ü¶àµÄÒµÎñ±ÈÈçGoogleEarth£¬Google ÓÊÏ䣬Google ÎĵµµÈµÈ£¬ÕâЩ²úÆ·µÄ¸üÐÂÓ벿ÊðͬÑùÐèÒª´óÁ¿µÄÈËÁ¦ÎïÁ¦£¬×ÊÔ´¹©Ó¦£¨Provisioning£©¾ÍÏԵñز»¿ÉÉÙ£¬¶ø×ÊÔ´°²È«¶ÔÓÚÒ»¸öÐèÒªÓû§¸¶·ÑÀ´Ó®ÀûµÄ¹«Ë¾À´Ëµ¸üÊDz»¿É»òȱ¡£×îÖÕGoogleµÄ¹¤³ÌʦÃǰÑ×Ô¼ºµÄÕâÌ×ϵͳÕûÀí³öÀ´³ÆËüÎªÔÆÏµÍ³¡£
¸ÅÄîÊÇGoogle¹«Ë¾Ìá³öµÄ£¬µ«Google ËùÃæÁÙµÄÕâЩÎÊÌâÊÂʵÉϺܶ๫˾¶¼Åöµ½Á˲¢Ìá³öÁË×Ô¼ºµÄ½â¾ö·Å°¸¡£±ÈÈç×Ô¶¯»¯µÄÖ÷»ú°²×°£¬IBMºÜÔç¾ÍÓÐxcatÖ÷»ú²¿ÊðÈí¼þ£¬IntelÓÐPXEÍøÂç°²×°·þÎñÆ÷¡£Õë¶Ô´óÊý¾ÝÁ¿¼°´ó²¢·¢Á¿²Ù×÷£¬ºÜÔç¾ÍÓÐLSFÕâÑùµÄ·Ö²¼Ê½´¦ÀíÈí¼þ£¬¸÷ÖÖÓ¦Ó÷þÎñÆ÷Ò²¶¼ÓÐ×Ô¼ºµÄ¸ºÔؾùºâÈí¼þ£¬OracleÒ²½«ËüµÄÊý¾Ý¿âʵÏÖΪ·Ö²¼Ê½´¦ÀíϵͳµÈµÈ
ÕýÊÇÓÉÓÚ¿ÉÒÔ²ÈÔÚÕâЩ¾ÞÈËÃǵļçÉÏ£¬ÏÖÔÚµÄÔÆ¼ÆËãϵͳ½«³ÉΪ¸÷ÖÖ¼¼ÊõµÄ¼¯´ó³ÉÕߣ¬²¢ÎªÌṩ¸üºÃµÄ¼ÆËã»·¾³×ö³ö¹±Ïס£
1.5 С½á
ͨ¹ýÕâÒ»ÕµĽéÉÜ£¬ÎÒÃdzɹ¦µÄ²¿ÊðÁËÒ»¸öJava³èÎïÉ̵꣬²¢½«ËüÖð²½²¿Êðµ½ÔƼÆËã»·¾³Àï³ÉΪһ¸öÕæÕýµÄÔÆÓ¦Óá£Ï£ÍûÕâÒ»ÕµĽéÉÜÄÜʹ¶ÁÕßÃǶÔÔÆ¼ÆËãÓÐÒ»¸ö³õ²½ÈÏʶ£¬µ«ÕâÖ»ÊÇÔÆ¼ÆËãµÄ±ùɽһ½Ç¡£ÔƼÆËã¾ÍÏñÊÇ»úÆ÷èµÄ¿Ú´üÒ»Ñù£¬°üº¬ÁËÌ«¶àÓÐȤÐÂÆæµÄ¼¼Êõ£¬±ÊÕß½«Óë¸÷λ¶ÁÕßÒ»Æð̽Ë÷¡°»úÆ÷è¿Ú´üÀïµÄÃØÃÜ¡±¡£
http://blog.sina.com.cn/s/blog_7f296c6c0100udkb.html