ÃֽŠ°Ô½Ã±Û(OS/WAS)
2018.04.30 / 12:51

Apache Tomcat ÅëÇÕ °ü¸® ¼Ö·ç¼Ç

ÀλçÀ̵åÀÚ¹Ù
Ãßõ ¼ö 219

°ø°³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


 

[¸ñÂ÷]

  1. À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼­¹ö(Web Application Server, WAS)
  2. WAS µµÀÔÈ¿°ú ¹× ±â¼úÇ¥ÁØ
  3. ¿ÀǼҽº WASÀÇ °­ÀÚ – ¾ÆÆÄÄ¡ ÅèĹ(Apache Tomcat)
  4. ¾ÆÆÄÄ¡ ÅèĹÀÇ ¾àÁ¡
  5. µµ¸ÞÀÎ ±â¹Ý ¾ÆÆÄÄ¡ ÅèĹ °ü¸®¸¦ À§ÇÑ µµ±¸ – Meerkat
    1. ¼¼¼Ç Ŭ·¯½ºÅ͸µ(clustering) Áö¿ø
    2. ÇÁ·ÎºñÀú´×(provisioning) ¹× ¼³Á¤ °ü¸® ±â´É
    3. ½Ç½Ã°£ ¸ð´ÏÅ͸µ ´ë½Ãº¸µå
  6. ¿ä¾à


 

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°¡ µÇ¾î°¡°í ÀÖ´Ù. ºñ¿ë È¿À²À» °í·ÁÇÏ¿© Ŭ¶ó¿ìµå·Î ÀüȯÇÏ´Â ½Ã½ºÅÛÀÌ °ªºñ½Ñ »ó¿ë À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ¼­¹ö¸¦ È°¿ëÇϱâ´Â ¾î·Æ±â ¶§¹®ÀÌ´Ù.


Á¡Â÷ »ç¿ë·®ÀÌ ¸¹¾ÆÁö´Â ÅèĹÀÌÁö¸¸ ¿©ÀüÈ÷ ±Øº¹ÀÌ ¾È µÇ´Â ºÎºÐµéÀÌ Àִµ¥ ÀÌ´Â ¾Æ·¡¿Í °°´Ù.

  1. ¸ðµç ¼³Á¤À» server.xml, context.xml µîÀÇ xml ¼³Á¤ ÆÄÀÏÀ» È°¿ëÇÏ¿© ¼öÁ¤ÇØ¾ß ÇÑ´Ù.
  2. ¼¼¼Ç Ŭ·¯½ºÅ͸µ¿¡ ´ëÇÑ ºÎºÐÀº ¾ÈÁ¤¼º¿¡ ´ëÇÑ ÀǽÉÀ¸·Î ¸¹Àº »çÀÌÆ®¿¡¼­ »ç¿ëÇÏÁö ¾Ê°í ÀÖ´Ù.
  3. ÇÑ ¼­¹ö¿¡ ¿©·¯ ´ëÀÇ ÅèĹ ÀνºÅϽº¸¦ ±¸µ¿ÇÏ´Â °æ¿ì Æ÷Æ® °ü¸®, ¼³Á¤ °ü¸®, ¿£Áø °ü¸® µîÀÌ ¾î·Æ´Ù.
  4. ÅèĹÀÌ °¡Áø JMX ±â´ÉÀ» ÅëÇØ ¸ð´ÏÅ͸µÀ» ÇÒ ¼ö ÀÖ´Â ºÎºÐÀÌ ÇÑÁ¤ÀûÀÌ´Ù.
  5. °ü¸®ÀÚÀÇ ¼³Á¤ º¯°æ ½Ã È÷½ºÅ丮 °ü¸®°¡ Á¦´ë·Î µÇÁö ¾Ê¾Æ ¹®Á¦¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ´Â ¼ÒÁö°¡ ÀÖ´Ù.

À§¿¡¼­ ³ª¿­ÇÑ »çÇ×µéÀº ÅèĹÀ» °ü¸®ÇÏ´Â °ü¸®ÀÚµéÀ̶ó¸é ÇÑ ¹øÂëÀº ºÎµúÇôº» ¹®Á¦µéÀÏ °ÍÀÌ´Ù.



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