Apache Tomcat ÅëÇÕ °ü¸® ¼Ö·ç¼Ç
°ø°³SW¿ª·®ÇÁ¶óÀÚ¿¡¼´Â ¿ÀǼҽºÇÁ·ÐƼ¾î·Î È°µ¿ÁßÀÎ °³¹ßÀÚµéÀÌ ÁøÇàÇÏ´Â ÇÁ·ÎÁ§Æ®¸¦ ¼Ò°³ÇÕ´Ï´Ù.
À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö(Web Application Server, ¾àÀÚ WAS)´Â ÀÎÅÍ³Ý »ó¿¡¼ HTTP¸¦ ÅëÇØ »ç¿ëÀÚ ÄÄÇ»Åͳª ÀåÄ¡¿¡ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¼öÇàÇØ ÁÖ´Â ¹Ìµé¿þ¾î(¼ÒÇÁÆ®¿þ¾î ¿£Áø)ÀÌ´Ù. À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö´Â µ¿Àû ¼¹ö ÄÜÅÙÃ÷¸¦ ¼öÇàÇÏ´Â °ÍÀ¸·Î ÀϹÝÀûÀÎ À¥ ¼¹ö¿Í ±¸º°ÀÌ µÇ¸ç ÁÖ·Î µ¥ÀÌÅͺ£À̽º ¼¹ö¿Í °°ÀÌ ¼öÇàµÈ´Ù. ±¹³»¿¡¼´Â ÀϹÝÀûÀ¸·Î "WAS"·Î ÅëĪÇÏ°í ÀÖ´Ù.
¾ÆÆÄÄ¡ ÅèĹ(Apache Tomcat)Àº Àü¼¼°èÀûÀ¸·Î °¡Àå ¸¹ÀÌ »ç¿ëÇÏ´Â WAS(Web Application Server) Á¦Ç°(Plumbr 2015³â Á¶»ç 58.6%, RebelLabs 2014³â Á¶»ç 50%)ÀÌ´Ù. º» ±Û¿¡¼ ¼³¸íÇÏ°íÀÚ ÇÏ´Â Athena MeerkatÀº ÀÌ·¯ÇÑ ¾ÆÆÄÄ¡ ÅèĹÀÇ ÅëÇÕ °ü¸® ¼Ö·ç¼ÇÀ¸·Î½á ¼³Ä¡¿¡¼ºÎÅÍ ±¸¼º, ¼¼¼Ç Ŭ·¯½ºÅ͸µ, ·Î±× ºÐ¼® ¹× ¸ð´ÏÅ͸µ±îÁö ¸ðµç °úÁ¤À» À¥ UI¸¦ ÅëÇØ ½±°Ô °ü¸®ÇÒ ¼ö ÀÖ´Ù.
ÀÌ ±ÛÀ» ÅëÇÏ¿© ¾ÆÆÄÄ¡ ÅèĹÀÇ ÅëÇÕ °ü¸® ¼Ö·ç¼ÇÀÎ Athena MeerkatÀÇ ±â´É ¹× »ç¿ë ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇϵµ·Ï ÇÏ°Ú´Ù.
ÇÁ·ÎÁ§Æ®¸í | Athena Meerkat |
°³¿ä | ¾ÆÆÄÄ¡ ÅèĹ(Apache Tomcat)ÀÌ °¡Áö°í ÀÖ´Â °ü¸® ÄܼÖÀº ´ÜÀÏ ¼¹ö¿¡ ´ëÇÑ »óÅÂ, ȯ°æ ¼³Á¤ ¸¸À» Á¦°øÇÑ´Ù. Athena MeerkatÀº ÀÌ·Î ÀÎÇØ °³¹ßÀÚ°¡ °¡Áö´Â Á¦¾à»çÇ×À» ±Øº¹ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ¹Ìµé¿þ¾î ÅëÇÕ °ü¸® ¼Ö·ç¼ÇÀÌ´Ù. |
Ư¡ | - ¿î¿µ ȯ°æÀ» ºü¸£°Ô ±¸ÃàÇÒ ¼ö ÀÖ´Â ÇÁ·ÎºñÀú´×(Provisioning) - °ü¸®ÀÚµéÀÇ ºÎ´ãÀ» ´ú¾îÁÖ´Â ±¸¼º °ü¸® - ¼¼¼Ç Ŭ·¯½ºÅ͸µÀ» ÅëÇÑ ¼º´É È®Àå - ¼¹öÀÇ »óŸ¦ ÇÑ ´«¿¡ ¸ð´ÏÅ͸µ - ½Ã½ºÅÛÀÇ ÀÌ»ó »óŸ¦ ¾Ë·Á ÁÖ´Â °æ°í(Alert) ±â´É - °ü¸®ÀÚÀÇ WAS ÀÛ¾÷¿¡ ´ëÇÑ ÀÌ·Â °ü¸® - °ü¸®ÀÚ ±ÇÇÑ °ü¸® |
¸ñÇ¥ | ¾ÆÆÄÄ¡ ÅèĹ¿¡ ´ëÇÑ ¿Ïº®ÇÑ ÅëÇÕ °ü¸® ±â´ÉÀ» Á¦°øÇÔÀ¸·Î½á ¼öÀÛ¾÷À¸·Î ÀÎÇÑ ¿À·ù ¹× ½Ã°£ ¼Ò¸ð¸¦ ÃÖ¼ÒÈÇÒ ¼ö ÀÖµµ·Ï ÇØÁÜ |
±â´ëÈ¿°ú | ¾ÆÆÄÄ¡ ÅèĹ¿¡ ´ëÇÑ ÃæºÐÇÑ »çÀü Áö½Ä ¾øÀ̵µ Athena MeerkatÀ» ÅëÇÏ¿© ÀÚÀ¯·Ó°Ô ±¸¼º ¹× ¹èÆ÷ÇÒ ¼ö ÀÖÀ¸¸ç, ¼¼¼Ç Ŭ·¯½ºÅ͸µ°ú °°Àº °í±Þ ±â´ÉÀ» ½±°Ô »ç¿ëÇÒ ¼ö ÀÖÀ½ |
¸®ÆÛÁöÅ丮 | https://github.com/OpenSourceConsulting/athena-meerkat |
[¸ñÂ÷]
- À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö(Web Application Server, WAS)
- WAS µµÀÔÈ¿°ú ¹× ±â¼úÇ¥ÁØ
- ¿ÀǼҽº WASÀÇ °ÀÚ – ¾ÆÆÄÄ¡ ÅèĹ(Apache Tomcat)
- ¾ÆÆÄÄ¡ ÅèĹÀÇ ¾àÁ¡
- µµ¸ÞÀÎ ±â¹Ý ¾ÆÆÄÄ¡ ÅèĹ °ü¸®¸¦ À§ÇÑ µµ±¸ – Meerkat
- ¼¼¼Ç Ŭ·¯½ºÅ͸µ(clustering) Áö¿ø
- ÇÁ·ÎºñÀú´×(provisioning) ¹× ¼³Á¤ °ü¸® ±â´É
- ½Ç½Ã°£ ¸ð´ÏÅ͸µ ´ë½Ãº¸µå
- ¿ä¾à
1. À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö(Web Application Server, WAS)
À¥°ú ±â¾÷ÀÇ ±â°£ ½Ã½ºÅÛ »çÀÌ¿¡ À§Ä¡Çϸé¼, À¥ ±â¹Ý ºÐ»ê ½Ã½ºÅÛ °³¹ßÀ» ½±°Ô µµ¿ÍÁÖ°í ¾ÈÁ¤ÀûÀÎ Æ®·£Àè¼Ç 󸮸¦ º¸ÀåÇØ ÁÖ´Â ÀÏÁ¾ÀÇ ¹Ìµé¿þ¾î ¼ÒÇÁÆ®¿þ¾î ¼¹ö´Ù. º¸Åë 3°èÃþ À¥ ÄÄÇ»Æà ȯ°æ¿¡¼ ±âÁ¸ Ŭ¶óÀ̾ðÆ®/¼¹öȯ°æÀÇ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö¿Í °°Àº ¿ªÇÒÀ» Çϸç, Ŭ¶óÀ̾ðÆ®¿Í ¼¹ö ȯ°æ¿¡¼ Æ®·£Àè¼Ç ó¸® ¹× °ü¸®¿Í ´Ù¸¥ ±âÁ¾ ½Ã½ºÅÛ °£ÀÇ ¾ÖÇø®ÄÉÀÌ¼Ç ¿¬µ¿ µîÀ» ÁÖµÈ ±â´ÉÀ¸·Î ÇÑ´Ù.
WAS´Â À¥ÀÌ Åº»ýÇÑ ÀÌ·¡, ÁÖ·Î µ¥ÀÌÅͺ£À̽º Á¶È¸³ª ÀϹÝÀûÀÎ ºñÁî´Ï½º ·ÎÁ÷¿¡ ´ëÇÑ Ã³¸®¸¦ À§ÇØ ´Ù¾çÇÑ ¾ð¾î·Î °³¹ßµÈ ÀÎÅͳÝ/ÀÎÆ®¶ó³Ýȯ°æÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ÁöĪÇÑ´Ù. ÀÚ¹Ù½ºÅ©¸³Æ®³ª JSPµî°ú °°Àº ½ºÅ©¸³Æ® ¹× ¼ºñ½ºµéÀº ´ë°³ ÃÖ½ÅÀÇ µ¥ÀÌÅ͸¦ °Ë»öÇϱâ À§ÇØ µ¥ÀÌÅͺ£À̽º¿¡ Á¢±ÙÇÏ°í, ºê¶ó¿ìÀú ¶Ç´Â Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥À» ÅëÇØ »ç¿ëÀڵ鿡°Ô °Ë»ö °á°ú¸¦ Á¦°øÇÑ´Ù.
WAS¸¦ ºñ·ÔÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹öµéÀº À¥ ¼¹ö, Áï HTTP ¼¹ö¿Í °°Àº ÄÄÇ»Å͸¦ °øÀ¯ÇÒ ¼öµµ ÀÖÁö¸¸, º°°³ÀÇ ÄÄÇ»Å͸¦ µ¶¸³ÀûÀ¸·Î »ç¿ëÇÏ´Â °æ¿ìµµ ¸¹´Ù. ´ë±Ô¸ð »çÀÌÆ®¿¡¼´Â ¿ÀÈ÷·Á WAS¿Í À¥ ¼¹öµîÀ» À§ÇØ ¿©·¯ ´ëÀÇ ÄÄÇ»ÅÍ°¡ µ¿¿øµÇ±âµµ ÇÑ´Ù. ³Ý½ºÄÉÀÌÇÁÀÇ Netscape Application Server, ¿À¶óŬÀÇ À¥·ÎÁ÷, IBMÀÇ À¥½ºÇÇ¾î ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö, Ƽ¸Æ½º¼ÒÇÁÆ®ÀÇ Jeus µîÀÌ ±¹³»¿¡¼ »ç¿ëµÇ´Â ´ëÇ¥ÀûÀÎ WASÀ̸ç, °¡Àå ¸¹ÀÌ »ç¿ëµÇ´Â ¿ÀÇ ¼Ò½º ±â¹ÝÀÇ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö´Â ¾ÆÆÄÄ¡ ÅèĹÀÌ ÀÖ´Ù.
2. WAS µµÀÔÈ¿°ú ¹× ±â¼úÇ¥ÁØ
WAS¸¦ µµÀÔÇÏ°Ô µÇ´Â °æ¿ì ¾ÈÁ¤ÀûÀÎ ½Ã½ºÅÛ ±¸¼º, ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ ·Îµå¹ë·±½Ì°ú Ŭ·¯½ºÅ͸µÀ» ÅëÇÑ °í°¡¿ë¼º(High Availability) ½Ã½ºÅÛÀ» ±¸ÃàÇÒ ¼ö ÀÖÀ¸¸ç, DB Åë½ÅÀÇ Ä¿³Ø¼Ç Ç® Á¦°øÀ» ÅëÇØ ¼º´É º¸Àå, Æ®·£Àè¼Ç °ü¸®, ½º·¹µå Á¶Á¤À» ¼öÇàÇÒ ¼ö ÀÖ´Ù.
[±×¸² 1] ·Îµå¹ë·±½Ì/Ŭ·¯½ºÅ͸µÀ» ÅëÇÑ °í°¡¿ë¼º À¥ ¾ÆÅ°ÅØóÀÇ ±¸Çö
¶ÇÇÑ ÀÚ¹Ù ±â¹ÝÀÇ WAS Ç¥ÁØÀ» È°¿ëÇÏ¿© ¾î¶°ÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö »ó¿¡¼µµ ÀÛµ¿ÀÌ µÉ ¼ö ÀÖ´Â ¾÷¹« ½Ã½ºÅÛÀ» ¸¸µé ¼ö ÀÖÀ¸¸ç, ÇÁ·¹Á¨Å×ÀÌ¼Ç ·ÎÁ÷/ºñÁî´Ï½º ·ÎÁ÷À» ºÐ¸®ÇÏ¿© °³¹ßÀ» ¿øÈ°ÇÏ°Ô ÇÒ ¼ö ÀÖ´Â ±â¹ÝÀ» Á¦°øÇÑ´Ù.
3. ¿ÀǼҽº WASÀÇ °ÀÚ - ¾ÆÆÄÄ¡ ÅèĹ(Apache Tomcat)
¾ÆÆÄÄ¡ ÅèĹÀº ¾ÆÆÄÄ¡ ¼ÒÇÁÆ®¿þ¾î Àç´Ü¿¡¼ °³¹ßµÈ ¼ºí¸´ ÄÁÅ×À̳Ê(¶Ç´Â À¥ ÄÁÅ×À̳Ê)¸¸ ÀÖ´Â À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹öÀÌ´Ù.
ÅèĹÀº À¥ ¼¹ö¿Í ¿¬µ¿ÇÏ¿© ½ÇÇàÇÒ ¼ö ÀÖ´Â Àڹ٠ȯ°æÀ» Á¦°øÇÏ¿© ÀÚ¹Ù ¼¹ö ÆäÀÌÁö(JSP)¿Í ÀÚ¹Ù ¼ºí¸´ÀÌ ½ÇÇàÇÒ ¼ö Àִ ȯ°æÀ» Á¦°øÇÑ´Ù. ÅèĹÀº ±âº»ÀûÀ¸·Î ³»ÀåÇÏ°í ÀÖ´Â °ü¸® ÅøÀ» ÅëÇØ ¼³Á¤À» º¯°æÇÒ ¼ö ÀÖÁö¸¸, À̸¦ ÅëÇÑ ÀÛ¾÷Àº »ó´çÈ÷ ´Ü¼øÇÏ¿© »ó¿ë À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹öµéÀÌ °¡Áö°í ÀÖ´Â °ü¸®ÀÚ ±â´É°ú »ó´çÈ÷ ¸¹Àº Â÷ÀÌÁ¡À» º¸ÀÌ°í ÀÖ´Ù. ´ëºÎºÐÀÇ ¼¹ö¿¡ ´ëÇÑ ¼³Á¤Àº XML ÆÄÀÏÀ» ÆíÁýÇÏ¿© ÀÛ¾÷À» ÇÏ°í ÀÖ´Ù.
¾ÆÆÄÄ¡ ÅèĹÀº Apache Licence Version 2¸¦ ä¿ëÇÑ ¿ÀǼҽº ¼ÒÇÁÆ®¿þ¾î·Î¼, ¼ºí¸´À̳ª JSP¸¦ ½ÇÇàÇϱâ À§ÇÑ ¼ºí¸´ ÄÁÅ×À̳ʸ¦ Á¦°øÇϸç, »ó¿ë À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö¿¡¼µµ ¼ºí¸´ ÄÁÅ×À̳ʷΠ»ç¿ëÇÏ´Â °æ¿ì°¡ ¸¹´Ù. ¹öÀü 5.5 ÀÌÈÄ´Â ±âº»ÀûÀ¸·Î Java SE 5.0 ÀÌÈĸ¦ ´ëÀÀÇÏ´Â ÇüÅ·Π¹ßÀüµÇ¾ú´Ù.
4. ¾ÆÆÄÄ¡ ÅèĹÀÇ ¾àÁ¡
¾ÆÆÄÄ¡ ÅèĹÀº Àü¼¼°è¿¡¼ ¸¹Àº »ç¿ë·®À» º¸ÀÌ´Â ¼¹ö·Î Ŭ¶ó¿ìµå°¡ ´ëµÎµÈ ¿äÁò, ÈξÀ ´õ °¢±¤À» ¹Þ´Â WAS°¡ µÇ¾î°¡°í ÀÖ´Ù. ºñ¿ë È¿À²À» °í·ÁÇÏ¿© Ŭ¶ó¿ìµå·Î ÀüȯÇÏ´Â ½Ã½ºÅÛÀÌ °ªºñ½Ñ »ó¿ë À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö¸¦ È°¿ëÇϱâ´Â ¾î·Æ±â ¶§¹®ÀÌ´Ù.
Á¡Â÷ »ç¿ë·®ÀÌ ¸¹¾ÆÁö´Â ÅèĹÀÌÁö¸¸ ¿©ÀüÈ÷ ±Øº¹ÀÌ ¾È µÇ´Â ºÎºÐµéÀÌ Àִµ¥ ÀÌ´Â ¾Æ·¡¿Í °°´Ù.
- ¸ðµç ¼³Á¤À» server.xml, context.xml µîÀÇ xml ¼³Á¤ ÆÄÀÏÀ» È°¿ëÇÏ¿© ¼öÁ¤ÇØ¾ß ÇÑ´Ù.
- ¼¼¼Ç Ŭ·¯½ºÅ͸µ¿¡ ´ëÇÑ ºÎºÐÀº ¾ÈÁ¤¼º¿¡ ´ëÇÑ ÀǽÉÀ¸·Î ¸¹Àº »çÀÌÆ®¿¡¼ »ç¿ëÇÏÁö ¾Ê°í ÀÖ´Ù.
- ÇÑ ¼¹ö¿¡ ¿©·¯ ´ëÀÇ ÅèĹ ÀνºÅϽº¸¦ ±¸µ¿ÇÏ´Â °æ¿ì Æ÷Æ® °ü¸®, ¼³Á¤ °ü¸®, ¿£Áø °ü¸® µîÀÌ ¾î·Æ´Ù.
- ÅèĹÀÌ °¡Áø JMX ±â´ÉÀ» ÅëÇØ ¸ð´ÏÅ͸µÀ» ÇÒ ¼ö ÀÖ´Â ºÎºÐÀÌ ÇÑÁ¤ÀûÀÌ´Ù.
- °ü¸®ÀÚÀÇ ¼³Á¤ º¯°æ ½Ã È÷½ºÅ丮 °ü¸®°¡ Á¦´ë·Î µÇÁö ¾Ê¾Æ ¹®Á¦¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ´Â ¼ÒÁö°¡ ÀÖ´Ù.
À§¿¡¼ ³ª¿ÇÑ »çÇ×µéÀº ÅèĹÀ» °ü¸®ÇÏ´Â °ü¸®ÀÚµéÀ̶ó¸é ÇÑ ¹øÂëÀº ºÎµúÇôº» ¹®Á¦µéÀÏ °ÍÀÌ´Ù.
5. µµ¸ÞÀÎ ±â¹Ý ¾ÆÆÄÄ¡ ÅèĹ °ü¸®¸¦ À§ÇÑ µµ±¸ - Meerkat
¾Õ¼ ¾ð±ÞÇÑ °ü¸®ÀÇ ¾î·Á¿ò, ÀáÀçÀûÀÎ ¹®Á¦Á¡À» °ü¸®ÀÚ°¡ ¼Õ½±°Ô ÇØ°áÇÒ ¼ö ÀÖµµ·Ï µ½±â À§ÇÑ µµ±¸°¡ ÇÊ¿äÇÏ°Ô µÇ¾úÀ¸¸ç À̸¦ ÇØ°áÇÒ ¼ö ÀÖ´Â µµ±¸°¡ ¹Ù·Î ¾ÆÅ׳ª ÅèĹ ¸Å´ÏÀú(ÄÚµå¸í Meerkat)ÀÌ´Ù.
¸¹Àº ¼öÀÇ ÅèĹ ¼¹öµéÀ» ¿î¿µÇÏ´Â °ü¸®ÀÚµéÀº ¿î¿µ ½Ã½ºÅÛ ÀüüÀÇ »óŸ¦ ÇÑ ´«¿¡ º¸°í ½Í¾îÇÑ´Ù. Athena MeerkatÀº ÅèĹ ¼¹öÀÇ »óÅÂ(½º·¹µå, Èü¸Þ¸ð¸®, µ¥ÀÌÅͼҽº µî JMX ±â¹Ý Á¤º¸)´Â ¹°·Ð ¿î¿µÃ¼Á¦ÀÇ »óÅÂ(CPU, ¸Þ¸ð¸®, µð½ºÅ©, ³×Æ®¿öÅ© µî)¿¡ ´ëÇÑ ½Ç½Ã°£ ¸ð´ÏÅ͸µ Á¤º¸¸¦ ExtJS ±â¹ÝÀÇ ´Ù¾çÇÑ Â÷Æ®·Î Ç¥½ÃÇÑ´Ù.
¶ÇÇÑ, ÅèĹÀÌ Á¦°øÇÏ°í ÀÖÁö ¾ÊÀº ¼¼¼Ç Ŭ·¯½ºÅ͸µ ±â´ÉÀ» Athena Dolly Á¦Ç°À» ÅëÇØ Áö¿øÇÑ´Ù. Athena DollyÀÇ Å¬·¯½ºÅ͸µ ±¸¼º °úÁ¤µµ À¥ UI ±â¹ÝÀ¸·Î ¼Õ½±°Ô ÇÒ ¼ö ÀÖ´Ù.
°ü¸®µÇ´Â ¸ðµç ±â´Éµé Áï, ¼¹öÀÇ ±¸¼º º¯°æ, ½ÃÀÛ, ÁßÁö µîÀÇ ÀÛ¾÷Àº È÷½ºÅ丮·Î °ü¸®µÇ¾î ¾ðÁ¦¶óµµ È®ÀÎÇÒ ¼ö ÀÖ´Ù.
µ¥ÀÌÅÍ ¼Ò½º ¹× µå¶óÀ̹ö µîÀ» º°µµÀÇ ¼¹ö ¼öÀÛ¾÷À» ÇÒ ÇÊ¿ä ¾øÀÌ °ü¸®ÇÒ ¼ö ÀÖÀ¸¸ç, ÀÚµ¿À¸·Î Å×½ºÆ®¿ë ÆäÀÌÁö¸¦ ÅëÇØ È®ÀÎÀÌ °¡´ÉÇÏ´Ù.
¾Æ·¡¿¡¼´Â ³»ÀåÇÏ°í ÀÖ´Â ±â´É¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú´Ù.
5.1. ¼¼¼Ç Ŭ·¯½ºÅ͸µ Áö¿ø
¹Ì¾îĹÀÇ Å¬·¯½ºÅ͸µ ±â´ÉÀ» »ç¿ëÇÏ°Ô µÇ¸é ±âÁ¸ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö°¡ °¡Áö°í ÀÖ´Â JVM ³»Àå Ŭ·¯½ºÅ͸µ 󸮷ΠÀÎÇÑ WAS Àå¾Ö ÀüÀÌ, ÀνºÅϽºÀÇ ¸Þ¸ð¸® »ç¿ë·® Áõ°¡, WAN(Wide Area Network) ±â¹Ý Ŭ·¯½ºÅ͸µÀÇ È®Àå ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù.
´ë·®ÀÇ ¼¼¼ÇÀ» ó¸®Çϱâ À§Çؼ´Â À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹öÀÇ ¼¼¼Ç ºÎÇϸ¦ ÇϺÎÀÇ º°µµ µ¥ÀÌÅͱ׸®µå ÇüÅÂÀÇ ¼¹ö·Î ¿Å°Ü °í¼º´ÉÀ» ÇÊ¿ä·Î ÇÏ´Â ½Ã½ºÅÛÀ» ±¸¼ºÇÑ´Ù.
- ¼¼¼Ç ¸Þ¸ð¸® ºÎÁ· ¹× GC¹®Á¦¿¡ ´ëÇÑ ÇØ°á
- WAS¿¡¼ °ü¸®ÇÏ´ø ¼¼¼Ç Á¤º¸¸¦ ¼¹ö ³ëµå·Î ¿Å±èÀ¸·Î½á GC ¹ß»ýÀ» ÃÖ¼ÒÈÇÏ¿© Ç×»ó ÀÏÁ¤ÇÑ ¼ºñ½º ÀÀ´äÀ» Á¦°ø
- WASÀÇ ¸Þ¸ð¸® ºÎÁ·¿¡ ÀÇÇÑ Out Of Memory Àå¾Ö ¹ß»ý ¹æÁö
- ¾ÈÁ¤¼º ¹× °í¼º´É º¸Àå
- À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹öÀÇ ¼¼¼Ç ºÎÇϸ¦ ÇϺÎÀÇ º°µµ ¼¹ö·Î ¿Å±è
ºÐ»ê ij½Ã ±â´ÉÀ¸·Î º´¸ñ±¸°£ÀÇ ÇØ¼Ò¿Í ¾ÖÇø®ÄÉÀÌ¼Ç ¿µ¿ªÀÇ È®ÀåÀ¸·Î °í¼º´ÉÀ» º¸ÀåÇÑ´Ù.
¶ÇÇÑ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹öÀÇ ¼¼¼Ç µ¥ÀÌÅÍ ÀúÀåÀ» À§ÇØ µ¥ÀÌÅͱ׸®µå, ij½Ã, NoSQL ¼Ö·ç¼ÇÀÎ Infinispan, Redis, Couchbase¸¦ Áö¿øÇϸç ÀúÀåµÈ µ¥ÀÌÅÍ¿¡ ´ëÇÑ °Ë»ö, ÁúÀÇ, Åë°è Á¤º¸¸¦ À§ÇÑ µ¥ÀÌÅÍ ÃßÃâ ±â´ÉÀ» Á¦°øÇÑ´Ù. ´ë¿ë·® µ¥ÀÌÅÍ Ã³¸® ¿äû¿¡ È¿°úÀûÀ¸·Î ´ëÀÀÇϱâ À§ÇØ ´ÙÀ½°ú °°Àº ¾ÆÅ°ÅØó»óÀÇ Æ¯Â¡À» °¡Áö°í ÀÖ´Ù.
[±×¸² 2] ¹Ì¾îĹÀ» È°¿ëÇÑ ¼¼¼Ç Ŭ·¯½ºÅ͸µ ¾ÆÅ°ÅØó
5.2. ÇÁ·ÎºñÀú´× ¹× ¼³Á¤ °ü¸® ±â´É
ÇÁ·ÎºñÀú´×ÀÇ Àǹ̴ ƯÁ¤ ¼ºñ½º¸¦ Á¦°ø¹Þ±â À§ÇÏ¿© ¼ºñ½º ½ÇÇàºÎÅÍ ½ÃÀÛÇØ ¼ºñ½º¸¦ Á¦°ø¹Þ±â Àü ´Ü°è±îÁö 󸮵Ǵ ÀÏ·ÃÀÇ ÀýÂ÷¸¦ ¸»ÇÑ´Ù. ÅèĹÀ» ±¸¼ºÇϱâ À§ÇÑ ½Ã½ºÅÛ ¼³Á¤, Æ÷Æ® ȯ°æ ±¸¼º, µ¥ÀÌÅÍ ¼Ò½º µî¿¡ ´ëÇÑ ¼³Á¤ÀÌ ±× ÀÛ¾÷ ÁßÀÇ ÀϺÎÀ̸ç ÀÚµ¿À¸·Î ¿£Áø ¼³Ä¡, ȯ°æ ±¸¼º µîÀ» ȸ鿡¼ Á¦¾îÇÒ ¼ö ÀÖµµ·Ï ±â´ÉÀ» Á¦°øÇÑ´Ù.
[±×¸² 3] ÇÁ·ÎºñÀú´× ¹× ¼³Á¤ °ü¸® ±â´É
À§ÀÇ ±â´ÉÀ» ÀÌ¿ëÇÏ´Â °æ¿ì º¹ÀâÇÑ µ¥ÀÌÅÍ ¼Ò½º ¼³Á¤, ½º·¹µå ¼³Á¤, µå¶óÀ̹ö¿¡ ´ëÇÑ Ãß°¡ µîÀ» ¼Õ½±°Ô ÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù.
5.3. ½Ç½Ã°£ ¸ð´ÏÅ͸µ ´ë½Ãº¸µå
Àüü °ü¸® ´ë»óÀÇ ¾ÆÆÄÄ¡ ÅèĹ ½Ã½ºÅÛ¿¡ ´ëÇÑ ½Ç½Ã°£ »óȲ ¸ð´ÏÅ͸µÀ» Á¦°øÇÏ¸ç °æ°í ¼³Á¤À» ÅëÇØ ¹®Á¦°¡ µÉ ¼ö ÀÖ´Â »óŸ¦ »çÀü¿¡ ÁöÁ¤ÇÏ°í ÇØ´ç Á¶°Ç¿¡ µµ´ÞÇÏ´Â ¹®Á¦ »óȲÀÌ ¹ß»ýÇÒ °æ¿ì ȸ鿡 Ç¥½Ã´Â ¹°·Ð À̸ÞÀÏ, SMS µîÀ» ÅëÇØ ÅëÁöÇÏ´Â ±â´ÉÀ» ¼öÇàÇÑ´Ù
°ü¸® ´ë»ó ¼¹öµéÀÇ °¢Á¾ ·Î±×(ÅèĹ ·Î±× ¹× ½Ã½ºÅÛ ·Î±×)µéÀ» Áß¾ÓÀ¸·Î ¼öÁýÇÏ°í ElasticSearch¸¦ ÀÌ¿ëÇÏ¿© ƯÁ¤ ¸Þ½ÃÁö¸¦ °Ë»öÇϰųª ÆÐÅÏÀ» ºÐ¼®ÇÏ´Â ±â´ÉÀ» Á¦°øÇÑ´Ù.
[±×¸² 4] ÅèĹ¿¡ ´ëÇÑ ÅëÇÕ ¸ð´ÏÅ͸µ ¹× ÀÛ¾÷ ÀÌ·Â µîÀÇ Á¤º¸
6. ¿ä¾à
µ¥ÀÌÅÍ ¼¾ÅÍÀÇ °ü¸® ÆÀ¿¡¼ À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö¸¦ °ü¸®ÇÏ´Â ¹æ¹ýÀº ´Ù¾çÇÏ´Ù. ´ëºÎºÐÀÇ ¿£ÅÍÇÁ¶óÀÌÁî¿¡¼´Â »ó¿ëWAS¸¦ »ç¿ëÇÏ°í ¹®Á¦°¡ »ý±â¸é À̸¦ Áö¿øÇÏ´Â º¥´õ ȤÀº ÆÄÆ®³ÊÀÇ ±â¼úÁö¿øÀ» ¹Þ´Â °ÍÀÌ ´ëºÎºÐÀÌ´Ù. ÇÏÁö¸¸ ÇöÀç ITÀÇ ´ëºÎºÐÀº Ŭ¶ó¿ìµå·Î Á¡Á¡ ÀüȯÇÏ´Â Ãß¼¼ÀÌ°í, ÀÌ·¯ÇÑ Å¬¶ó¿ìµå´Â À¯¿¬¼º, È®À强, ºñ¿ëÀý°¨ µîÀ» ±â¹ÝÀ¸·Î Á¡Â÷ ±× »ç¿ë·®ÀÌ ¸¹¾ÆÁö°í ÀÖ´Ù.
TCO(Total Cost of Ownership, ÃѼÒÀ¯ºñ¿ë)ÀûÀÎ Ãø¸éÀ» °¨¾ÈÇßÀ» ¶§ ¹Ìµé¿þ¾î ¿ª½Ã ¿ÀÇ ¼Ò½º ±â¹ÝÀ¸·Î ÀüȯµÇ°í ÀÖÀ¸¸ç, À̸¦ À§Çؼ´Â °ü¸®ÀûÀÎ µµ±¸°¡ ÇÊ¿äÇÑ ½ÃÁ¡ÀÌ´Ù. À̹ø ±Û¿¡¼ »ìÆ캸¾Ò´ø Athena MeerkatÀº ¸¹Àº Ŭ¶ó¿ìµå ±â¹ÝÀÇ WAS·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ¾ÆÆÄÄ¡ ÅèĹ¿¡ ´ëÇÑ ÇÁ·ÎºñÀú´×, °ü¸®, ¸ð´ÏÅ͸µ, Á¦¾î¸¦ ¼öÇàÇÔÀ¸·Î½á °ü¸®ÀÚ°¡ ÀúÁö¸¦ ¼ö ÀÖ´Â ½Ç¼ö¸¦ ÃÖ¼ÒÈÇÏ°í ¾ÈÁ¤ÀûÀ¸·Î ½Ã½ºÅÛÀ» ¿î¿µÇÒ ¼ö Àִ ȯ°æÀ» Á¦°øÇÑ´Ù.
<Athena Meerkat ±â´É ¿ä¾à>
¿î¿µ ȯ°æÀ» ºü¸£°Ô ±¸ÃàÇÒ ¼ö ÀÖ´Â ÇÁ·ÎºñÀú´×(Provisioning)
ÇÁ·ÎºñÀú´× ±â´ÉÀ» ÅëÇØ µ¿ÀÏÇÑ ±¸¼ºÀ» °¡Áø Tomcat ¼¹öµéÀ» ¼Õ½±°Ô ¿©·¯ ¼¹ö¿¡ ÀÚµ¿À¸·Î ¼³Ä¡ÇÏ´Â ±â´ÉÀ» Á¦°øÇÑ´Ù. À̸¦ ÅëÇØ Tomcat ¿î¿µ ȯ°æÀ» ºü¸£°Ô ±¸¼ºÇÏ´Â °ÍÀº ¹°·Ð ±¸¼ºÀ» ÀÏ°üµÇ°Ô °¡Á®°¨À¸·Î½á °ü¸®ÀÇ ¾î·Á¿òÀ» ÁÙ¿©ÁØ´Ù. Tomcat 6ºÎÅÍ ÃֽŠ¹öÀü±îÁö ¹öÀü º° ¼³Ä¡ ±â´ÉÀ» ÇÑ´Ù.
°ü¸®ÀÚµéÀÇ ºÎ´ãÀ» ´ú¾îÁÖ´Â ±¸¼º °ü¸®
¸¹Àº ¼öÀÇ Tomcat ¼¹öµéÀ» ¿î¿µÇÏ´Â °ÍÀº °ü¸®Àڵ鿡°Ô Å« ºÎ´ãÀÌ ¾Æ´Ò ¼ö ¾ø´Ù. Athena MeerkatÀº À¥ UI¸¦ ÅëÇØ Tomcat ¼¹ö¿Í ±×°ÍÀÌ µ¿ÀÛÇÏ´Â ¸Ó½Å ¹× ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ °ü¸® ±â´ÉÀ» Á¦°øÇÑ´Ù. ÀÚÁÖ »ç¿ëÇÏ´Â ¼³Á¤¿¡ ´ëÇؼ´Â Æû ±â¹Ý ȸéÀ» Á¦°øÇÏ¿© °ü¸®ÀÚ°¡ ¼Õ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ°í, ¸ðµç ¼³Á¤ º¯°æÀº È÷½ºÅ丮 ÀúÀåÀ¸·Î ÀÌÀü ¹öÀü°ú ºñ±³ ¹× ÀÌÀü ¼³Á¤À¸·Î ½±°Ô µÇµ¹¸± ¼ö ÀÖ´Ù.
¼¼¼Ç Ŭ·¯½ºÅ͸µÀ» ÅëÇÑ ¼º´É È®Àå
´Ù¼öÀÇ »ç¿ëÀÚ¸¦ ´ë»óÀ¸·Î ÇÑ ¼ºñ½º¸¦ WAS¿¡ ¿î¿µÇϱâ À§Çؼ´Â Ŭ·¯½ºÅ͸µ ±â´ÉÀÌ ÇÊ¿äÇÏ´Ù. Athena MeerkatÀº Tomcat»Ó¸¸ ¾Æ´Ï¶ó ´Ù¾çÇÑ WAS Á¦Ç°¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Â ¼¼¼Ç Ŭ·¯½ºÅ͸µ ±â´ÉÀ» Athena Dolly Á¦Ç°À» ÅëÇØ Áö¿øÇÑ´Ù. À̸¦ ÅëÇØ Tomcat °£¿¡ ¶Ç´Â Tomcat°ú ´Ù¸¥ WAS°£ÀÇ ¼¼¼Ç Ŭ·¯½ºÅ͸µÀ» ±¸¼ºÇÒ ¼ö ÀÖ´Ù. Athena MeerkatÀº Athena DollyÀÇ Å¬·¯½ºÅ͸µ ±¸¼º °úÁ¤¸¶Àúµµ À¥ UI ±â¹ÝÀ¸·Î ¼Õ½±°Ô ÇÒ ¼ö ÀÖµµ·Ï ¸¸µé¾ú´Ù.
¼¹öÀÇ »óŸ¦ ÇÑ ´«¿¡, ¸ð´ÏÅ͸µ
¸¹Àº ¼öÀÇ Tomcat ¼¹öµéÀ» ¿î¿µÇÏ´Â °ü¸®ÀÚµéÀº ¿î¿µ ½Ã½ºÅÛ ÀüüÀÇ »óŸ¦ ÇÑ ´«¿¡ º¸°í ½Í¾îÇÑ´Ù. Athena MeerkatÀº Tomcat ¼¹öÀÇ »óÅÂ(½º·¹µå, Èü¸Þ¸ð¸®, µ¥ÀÌÅͼҽº µî JMX ±â¹Ý Á¤º¸)´Â ¹°·Ð ¿î¿µÃ¼Á¦ÀÇ »óÅÂ(CPU, ¸Þ¸ð¸®, µð½ºÅ©, ³×Æ®¿öÅ© µî)¿¡ ´ëÇÑ ½Ç½Ã°£ ¸ð´ÏÅ͸µ Á¤º¸¸¦ ExtJS ±â¹ÝÀÇ ´Ù¾çÇÑ Â÷Æ®·Î Ç¥½ÃÇÑ´Ù.
½Ã½ºÅÛÀÇ ÀÌ»ó »óŸ¦ ¾Ë·Á ÁÖ´Â °æ°í(Alert) ±â´É
Athena MeerkatÀº °æ°í ¼³Á¤À» ÅëÇØ ¹®Á¦°¡ µÉ ¼ö ÀÖ´Â »óŸ¦ »çÀü¿¡ ÁöÁ¤ÇÏ°í, ÇØ´ç Á¶°Ç¿¡ µµ´ÞÇÏ´Â ¹®Á¦ »óȲÀÌ ¹ß»ýÇÒ °æ¿ì °æ°í»óȲÀÌ Ç¥½ÃµÈ´Ù. API¸¦ ÅëÇØ ¾÷¹« ½Ã½ºÅÛ°ú ¿¬µ¿ÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù.
´©°¡ ¾î¶² ÀÛ¾÷À» ¾ðÁ¦ Çß´ÂÁö ¾Ë ¼ö ÀÖ´Â ÀÛ¾÷ ÀÌ·Â °ü¸®
Athena MeerkatÀ» ÅëÇØ °ü¸® µÇ´Â ¸ðµç ±â´Éµé Áï, ¼¹öÀÇ ±¸¼º º¯°æ, ½ÃÀÛ, ÁßÁö µîÀÇ ÀÛ¾÷Àº È÷½ºÅ丮·Î °ü¸® µÇ¾î ¾ðÁ¦¶óµµ È®ÀÎÇÒ ¼ö ÀÖ´Ù. À̸¦ ÅëÇØ °ü¸®ÀÚÀÇ ¿À·ù¸¦ ÁÙÀÌ°í ¹®Á¦ ¹ß»ý ½Ã¿¡ ¿øÀÎÀ» ºü¸£°Ô ÃßÀûÇÒ ¼ö ÀÖ´Ù.
°ü¸®ÀÚ ±ÇÇÑ °ü¸®
Athena MeerkatÀ» ÅëÇØ °ü¸®ÀÚ °èÁ¤»Ó¸¸ ¾Æ´Ï¶ó ¸Þ´ºº° ÀÐ±â ¹× ¾²±â ±ÇÇÑÀ» ºÎ¿©ÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ °èÁ¤º° ±ÇÇÑ °ü¸®¸¦ ÅëÇØ Çã¿ëµÈ °ü¸®ÀÚ¿¡°Ô Çã¿ëµÈ ÀÛ¾÷¸¸ ¼öÇàÅä·Ï ÇÒ ¼ö ÀÖ´Ù.
Ãâó: http://klifestory.tistory.com/category/IT/Web | Was [½ö¿À³ªÀÇ °Ç° ±³À° »ýÈ° Story]
https://github.com/OpenSourceConsulting/athena-meerkat
Athena Meerkat
Apache Tomcat ÅëÇÕ °ü¸® ¼Ö·ç¼Ç
Athena MeerkatÀº À¥ UI¸¦ ÅëÇØ ÅèĹÀ» ÀÚµ¿¼³Ä¡Çϰųª ¼³Á¤ º¯°æ, web application ¹èÆ÷, ¼¼¼Ç Ŭ·¯½ºÅ͸µ ¹× ¸ð´ÏÅ͸µÀÌ °¡´ÉÇÑ Apache Tomcat ÅëÇÕ °ü¸® ¼Ö·ç¼ÇÀÌ´Ù.
Features
- Apache Tomcat ÀÚµ¿¼³Ä¡
- Apache Tomcat ¼³Á¤°ü¸® (¼³Á¤ ¹öÀü°ü¸®)
- WAS µ¶¸³ÀûÀÎ ¼¼¼Ç Ŭ·¯½ºÅ͸µ
- OS ¸ð´ÏÅ͸µ, Tomcat JMX ¸ð´ÏÅ͸µ
- Scouter Agent ÀÚµ¿¼³Ä¡
- ¿î¿µ °ü¸® ÀÛ¾÷ History °ü¸®
- °ü¸®ÀÚ °èÁ¤º° ±ÇÇÑ°ü¸®
Documents
Install
»çÀü ÇÊ¿ä Á¶°Ç
- JDK 1.7 ÀÌ»ó
- Tomcat 7.0.42 ¹öÀü ÀÌ»ó (websocket »ç¿ë°¡´ÉÇÑ ¹öÀü)
- MySQL 5.0.3 ÀÌ»ó (InnoDB engine ÀÌ ÇÊ¿äÇÔ)
Download
https://github.com/OpenSourceConsulting/athena-meerkat/releases ¿¡¼ ¾Æ·¡ ÆÄÀÏÀ» ¸ðµÎ ´Ù¿î·Îµå ÇÑ´Ù.
- athena-meerkat-commander-[ÃֽŹöÀü]-bin.tar.gz (commander, agent Æ÷ÇÔ)
- console.war
- controller.war
- down.zip
- db_init_script.sql
Ãʱâ database »ý¼º
- database ¹× db user ¸¦ ¾Æ·¡¿Í °°ÀÌ »ý¼ºÇÑ´Ù.
shell> mysql -uroot -p<password>
mysql> create database athena_meerkat character set utf8 collate utf8_bin;
mysql> grant all privileges on athena_meerkat.* to meerkat@'%' identified by '<password>';
mysql> quit;
shell> mysql -umeerkat -p<password> athena_meerkat < db_init_script.sql
Installing
- athena-meerkat-commander-[ÃֽŹöÀü]-bin.tar.gz À» meerkat ¼¹öÀÇ Àû´çÇÑ À§Ä¡¿¡ ¾ÐÃà ÇØÁ¦
- console.war, controller.war, down.zip ÆÄÀÏ ¸ðµÎ ¼³Ä¡µÈ TomcatÀÇ CATALINA_BASE/webapps ¿¡ ¾ÐÃàÇØÁ¦
Controller ¼³Á¤º¯°æ
- controller/WEB-INF/classes/meerkat-dev.properties ÆÄÀÏÀÇ ¾Æ·¡ ¼³Á¤À» ȯ°æ¿¡ ¸Â°Ô ¼öÁ¤ÇÑ´Ù.
- À§¿¡¼ »ý¼ºÇÑ mysql db ¿¬°á ¼³Á¤
- spring.datasource.url : database ¿¬°á url À» ¸í½ÃÇÑ´Ù.
- spring.datasource.username : db username À» ¸í½ÃÇÑ´Ù.
- spring.datasource.password : db user password¸¦ ¸í½ÃÇÑ´Ù.
- commander ¼³Ä¡À§Ä¡ ¼³Á¤
- meerkat.commander.home : commander ¼³Ä¡ À§Ä¡¸¦ ¸í½ÃÇÑ´Ù.
- tomcat ¼³Ä¡ÆÄÀÏ download http url ¼³Á¤
- meerkat.tomcat.down.url : down.zip ÀÌ ¼³Ä¡µÇ°í ´Ù¿î¹ÞÀ»¼ö ÀÖ´Â http url ÁÖ¼Ò¸¦ ¸í½ÃÇÑ´Ù.
- controller ip & http port ¼³Á¤
- meerkat.controller.host.port : controller.war °¡ ¼³Ä¡µÇ°í ¼ºñ½º µÇ´Â server ip & http port ¸¦ ¸í½ÃÇÑ´Ù.
- meerkat agent °¡ ¿¬°áÇÒ controller ÀÇ ÁÖ¼ÒÀÌ´Ù.
Start Tomcat
- meerkat ÀÌ ¼³Ä¡µÈ tomcatÀ» ½ÃÀÛÇϱâ Àü¿¡ CATALINA_BASE/bin/setenv.sh ÆÄÀÏ¿¡ ¾Æ·¡ ¿É¼ÇÀ» ¼³Á¤ÇÑ´Ù.
export CATALINA_OPTS="$CATALINA_OPTS -Dspring.config.name=meerkat -Dspring.profiles.active=dev"
- tomcat ¼¹ö¸¦ ½ÃÀÛÇؼ http://[SERVER IP]:[PORT]/console ·Î ÀÌ»ó¾øÀÌ Á¢¼ÓµÇ¸é ³¡.
- Ãʱ⠷α×ÀÎ ºñ¹Ð¹øÈ£ admin / admin