°£Æí°áÁ¦, ½Å¿ëÄ«µå û±¸ÇÒÀÎ
ÀÎÅÍÆÄÅ© ·Ôµ¥Ä«µå 5% (34,200¿ø)
(ÃÖ´ëÇÒÀÎ 10¸¸¿ø / Àü¿ù½ÇÀû 40¸¸¿ø)
ºÏÇǴϾð ·Ôµ¥Ä«µå 30% (25,200¿ø)
(ÃÖ´ëÇÒÀÎ 3¸¸¿ø / 3¸¸¿ø ÀÌ»ó °áÁ¦)
NH¼îÇÎ&ÀÎÅÍÆÄÅ©Ä«µå 20% (28,800¿ø)
(ÃÖ´ëÇÒÀÎ 4¸¸¿ø / 2¸¸¿ø ÀÌ»ó °áÁ¦)
Close

½ºÇÁ¸µÀ¸·Î ÇÏ´Â ¸¶ÀÌÅ©·Î¼­ºñ½º ±¸Ãà : ½ºÇÁ¸µ ºÎÆ®¿Í ½ºÇÁ¸µ Ŭ¶ó¿ìµå¸¦ ÀÌ¿ëÇÑ µµÄ¿/Äí¹ö³×Ƽ½º ¸¶ÀÌÅ©·Î¼­ºñ½º

¿øÁ¦ : Hands-On Microservices with Spring Boot and Spring Cloud
¼Òµæ°øÁ¦

2013³â 9¿ù 9ÀÏ ÀÌÈÄ ´©Àû¼öÄ¡ÀÔ´Ï´Ù.

ÆǸÅÁö¼ö 13
?
ÆǸÅÁö¼ö¶õ?
»çÀÌÆ®ÀÇ ÆǸŷ®¿¡ ±â¹ÝÇÏ¿© ÆǸŷ® ÃßÀ̸¦ ¹Ý¿µÇÑ ÀÎÅÍÆÄÅ© µµ¼­¿¡¼­ÀÇ µ¶¸³ÀûÀÎ ÆǸŠÁö¼öÀÔ´Ï´Ù. ÇöÀç °¡Àå Àß Æȸ®´Â »óÇ°¿¡ °¡ÁßÄ¡¸¦ µÎ¾ú±â ¶§¹®¿¡ ½ÇÁ¦ ´©Àû ÆǸŷ®°ú´Â ´Ù¼Ò Â÷ÀÌ°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ÆǸŷ® ¿Ü¿¡µµ ´Ù¾çÇÑ °¡ÁßÄ¡·Î ±¸¼ºµÇ¾î ÃÖ±ÙÀÇ À̽´µµ¼­ È®Àνà À¯¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇØ´ç Áö¼ö´Â ¸ÅÀÏ °»½ÅµË´Ï´Ù.
Close
°øÀ¯Çϱâ
Á¤°¡

40,000¿ø

  • 36,000¿ø (10%ÇÒÀÎ)

    2,000P (5%Àû¸³)

ÇÒÀÎÇýÅÃ
Àû¸³ÇýÅÃ
  • S-Point Àû¸³Àº ¸¶ÀÌÆäÀÌÁö¿¡¼­ Á÷Á¢ ±¸¸ÅÈ®Á¤ÇϽŠ°æ¿ì¸¸ Àû¸³ µË´Ï´Ù.
Ãß°¡ÇýÅÃ
¹è¼ÛÁ¤º¸
  • 4/23(È­) À̳» ¹ß¼Û ¿¹Á¤  (¼­¿ï½Ã °­³²±¸ »ï¼º·Î 512)
  • ¹«·á¹è¼Û
ÁÖ¹®¼ö·®
°¨¼Ò Áõ°¡
  • À̺¥Æ®/±âȹÀü

  • ¿¬°üµµ¼­(19)

  • »óÇ°±Ç

AD

Ã¥¼Ò°³

¡Ú ¿ä¾à ¡Ú

±âÁ¸ ÀÏüÇü ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¶ÀÌÅ©·Î¼­ºñ½º·Î ³ª´©°í ¿ÂÇÁ·¹¹Ì½º³ª Ŭ¶ó¿ìµå·Î ¹èÆ÷ÇÏ·Á´Â ÀÚ¹Ù, ½ºÇÁ¸µ °³¹ßÀÚ¿Í ¾ÆÅ°ÅØÆ®¸¦ À§ÇÑ Ã¥ÀÌ´Ù.
½ºÇÁ¸µ ºÎÆ®, ½ºÇÁ¸µ Ŭ¶ó¿ìµå¿Í µµÄ¿, Äí¹ö³×Ƽ½º, À̽ºÆ¼¿À, EFK ½ºÅÃ, ÇÁ·Î¸ÞÅ׿콺, ±×¶óÆijª µîÀÇ ¿ÀÇ ¼Ò½º µµ±¸¸¦ Á¶ÇÕÇØ ¸¶ÀÌÅ©·Î¼­ºñ½º¸¦ ±¸ÃàÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
½ºÇÁ¸µ ±â¹ÝÀÇ ÀÚ¹Ù °³¹ß°ú ¿ÀÇ ¼Ò½º µµ±¸ »ç¿ë¹ýÀ» ½Ç½À À§ÁÖ·Î ¼³¸íÇϸç, ÃÖ¼ÒÇÑÀÇ ½Ã°£ ÅõÀÚ¸¸À¸·Îµµ ´Ù¾çÇÏ°í ³ÐÀº ¹üÀ§ÀÇ Áö½ÄÀ» ÇнÀÇÒ ¼ö ÀÖ°Ô²û È¿À²ÀûÀ¸·Î ±¸¼ºµÅ ÀÖ´Ù.

¡Ú ÀÌ Ã¥¿¡¼­ ´Ù·ç´Â ³»¿ë ¡Ú

¡á ½ºÇÁ¸µ ºÎÆ®¸¦ »ç¿ëÇÑ ¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼­ºñ½º ±¸Ãà
¡á ½ºÇÁ¸µ Ŭ¶ó¿ìµå¸¦ »ç¿ëÇØ Åº·Â¼º ¹× È®À强 ÀÖ´Â ¸¶ÀÌÅ©·Î¼­ºñ½º °³¹ß
¡á ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ ¹× OAuth 2.0/OIDC¸¦ »ç¿ëÇØ °ø°³ API º¸È£
¡á µµÄ¿¸¦ »ç¿ëÇØ °³¹ß, Å×½ºÆ® ȯ°æ°ú »ó¿ë ȯ°æ »çÀÌÀÇ °ÝÂ÷ ÇؼÒ
¡á Äí¹ö³×Ƽ½º¸¦ »ç¿ëÇÑ ¸¶ÀÌÅ©·Î¼­ºñ½º ¹èÆ÷ ¹× °ü¸®
¡á À̽ºÆ¼¿À¸¦ »ç¿ëÇÑ º¸¾È¼º, °üÂû °¡´É¼º, Æ®·¡ÇÈ °ü¸® ÆíÀǼº Çâ»ó

ÃâÆÇ»ç ¼­Æò

¡Ú ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¡Ú

Äí¹ö³×Ƽ½º¸¦ ÄÁÅ×ÀÌ³Ê ¿ÀÄɽºÆ®·¹ÀÌÅÍ·Î »ç¿ëÇÏ°í À̽ºÆ¼¿À¸¦ ¼­ºñ½º ¸Þ½Ã·Î »ç¿ëÇØ ±âÁ¸ ÀÏüÇü ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¶ÀÌÅ©·Î¼­ºñ½º·Î ºÐÇÒÇÏ°í ¿ÂÇÁ·¹¹Ì½º³ª Ŭ¶ó¿ìµå·Î ¹èÆ÷ÇÏ´Â ¹æ¹ýÀ» ¹è¿ì·Á´Â ÀÚ¹Ù, ½ºÇÁ¸µ °³¹ßÀÚ¿Í ¾ÆÅ°ÅØÆ®¸¦ À§ÇÑ Ã¥ÀÌ´Ù. ¸¶ÀÌÅ©·Î¼­ºñ½º ¾ÆÅ°ÅØó¿¡ Àͼ÷ÇÏÁö ¾Ê´õ¶óµµ ¹®Á¦ ¾øÀÌ ÀÐÀ» ¼ö ÀÖ´Ù.

¡Ú ÀÌ Ã¥ÀÇ ±¸¼º ¡Ú

1Àå, ¡®¸¶ÀÌÅ©·Î¼­ºñ½º ¼Ò°³¡¯¿¡¼­´Â ±âº» ÀüÁ¦ÀÎ ¸¶ÀÌÅ©·Î¼­ºñ½ºÀÇ Çʼö °³³ä°ú µðÀÚÀÎ ÆÐÅÏÀ» ¼³¸íÇÑ´Ù.
2Àå, ¡®½ºÇÁ¸µ ºÎÆ® ¼Ò°³¡¯¿¡¼­´Â ½ºÇÁ¸µ ºÎÆ®¿Í Ã¥ÀÇ ¾Õ ºÎºÐ¿¡¼­ »ç¿ëÇÒ ¿ÀÇ ¼Ò½º ÇÁ·ÎÁ§Æ®¸¦ ¼Ò°³ÇÑ´Ù. RESTful API °³¹ß¿¡ »ç¿ëÇÏ´Â ½ºÇÁ¸µ À¥Ç÷°½º(Spring WebFlux), ½º¿þ°Å(Swagger)/OpenAPI ±â¹Ý API ¹®¼­¸¦ »ý¼ºÇÏ´Â ½ºÇÁ¸µ Æø½º(SpringFox), SQL ¹× NoSQL µ¥ÀÌÅͺ£À̽º¿¡ µ¥ÀÌÅ͸¦ ÀúÀåÇÒ ¶§ »ç¿ëÇÏ´Â ½ºÇÁ¸µ µ¥ÀÌÅÍ(Spring Data), ¸Þ½ÃÁö ±â¹ÝÀÇ ¸¶ÀÌÅ©·Î¼­ºñ½º¿¡¼­ »ç¿ëÇÏ´Â ½ºÇÁ¸µ Ŭ¶ó¿ìµå ½ºÆ®¸²(Spring Cloud Stream), ¸¶ÀÌÅ©·Î¼­ºñ½º¸¦ ÄÁÅ×À̳ʷΠ½ÇÇàÇÏ´Â µµÄ¿ µîÀ» ¼Ò°³ÇÑ´Ù.
3Àå, ¡®°øÁ¶ ¸¶ÀÌÅ©·Î¼­ºñ½º ÁýÇÕ »ý¼º¡¯¿¡¼­´Â °øÁ¶ ¸¶ÀÌÅ©·Î¼­ºñ½º ÁýÇÕÀ» »ý¼ºÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ½ºÇÁ¸µ À̴ϼȶóÀÌÀú(Spring Initializr)¸¦ »ç¿ëÇØ ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© 5.1(Spring Framework 5.1) ¹× ½ºÇÁ¸µ ºÎÆ® 2.1(Spring Boot 2.1) ±â¹ÝÀÇ °ñ°Ý ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÏ°í, ¼¼ °¡Áö ÇÙ½É ¼­ºñ½º¸¦ ¸¸µç´Ù. ¶ÇÇÑ ¼¼ °¡Áö ÇÙ½É ¼­ºñ½º¿¡¼­ ¾òÀº Á¤º¸¸¦ Áý°èÇØ º¹ÇÕÀû °á°ú¸¦ ¸¸µå´Â º¹ÇÕ ¼­ºñ½ºµµ ¸¸µç´Ù. 3ÀåÀÇ µÞºÎºÐ¿¡¼± ½ºÇÁ¸µ À¥Ç÷°½º¸¦ ±â¹ÝÀ¸·Î ±âº»ÀûÀÎ RESTful API¸¦ Ãß°¡ÇÏ´Â ¹æ¹ýÀ» ¹è¿ì¸ç, 4Àå¿¡¼± ´õ ¸¹Àº ±â´ÉÀ» ¸¶ÀÌÅ©·Î¼­ºñ½º¿¡ Ãß°¡ÇÑ´Ù.
4Àå, ¡®µµÄ¿¸¦ »ç¿ëÇÑ ¸¶ÀÌÅ©·Î¼­ºñ½º ¹èÆ÷¡¯¿¡¼­´Â µµÄ¿¸¦ »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼­ºñ½º¸¦ ¹èÆ÷ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. µµÄ¿ÆÄÀÏ(Dockerfile)À̳ª µµÄ¿ ÄÄÆ÷Áî(Docker Compose) ÆÄÀÏÀ» ÀÌ¿ëÇØ Àüü ¸¶ÀÌÅ©·Î¼­ºñ½º ȯ°æÀ» ÇϳªÀÇ Ä¿¸Çµå·Î ½ÃÀÛÇÏ´Â ¹æ¹ýÀ» ¹è¿ì°í, ¿©·¯ ½ºÇÁ¸µ ÇÁ·ÎÇÊÀ» »ç¿ëÇØ µµÄ¿¿ë ±¸¼º°ú ÀÌ¿ÜÀÇ ±¸¼ºÀ» ºÐ¸®Çؼ­ ó¸®ÇÏ´Â ¹æ¹ýµµ ¹è¿î´Ù.
5Àå, ¡®OpenAPI/½º¿þ°Å¸¦ »ç¿ëÇÑ API ¹®¼­È­¡¯¿¡¼­´Â ¸¶ÀÌÅ©·Î¼­ºñ½º¿¡¼­ °ø°³ÇÏ´Â API¸¦ OpenAPI/½º¿þ°Å¸¦ »ç¿ëÇØ ºü¸£°Ô ¹®¼­È­ÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. ½ºÇÁ¸µ Æø½º´Â ¼­ºñ½º Äڵ忡 ºÙÀÎ ¾Ö³ëÅ×À̼Ç(annotation)À» °Ë»çÇØ OpenAPI ¹× ½º¿þ°Å ±â¹ÝÀÇ API ¹®¼­¸¦ »ý¼ºÇÑ´Ù. ¶ÇÇÑ ½ºÇÁ¸µ Æø½º ½º¿þ°Å UI¸¦ »ç¿ëÇϸé API¸¦ À¥ ºê¶ó¿ìÀú¿¡¼­ Å×½ºÆ®ÇÒ ¼ö ÀÖ´Ù.
6Àå, ¡®¿µ¼Ó¼º Ãß°¡¡¯¿¡¼­´Â ¸¶ÀÌÅ©·Î¼­ºñ½º µ¥ÀÌÅÍ¿¡ ¿µ¼Ó¼ºÀ» ºÎ¿©ÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. ½ºÇÁ¸µ µ¥ÀÌÅ͸¦ »ç¿ëÇØ 2°³ÀÇ ÇÙ½É ¸¶ÀÌÅ©·Î¼­ºñ½º´Â ¹®¼­ µ¥ÀÌÅͺ£À̽ºÀÎ MongoDB¿¡ µ¥ÀÌÅ͸¦ ÀúÀå ¹× Á¢±ÙÇÏ°Ô Çϸç, ³ª¸ÓÁö ¸¶ÀÌÅ©·Î¼­ºñ½º´Â JPA(Java Persistence API)¸¦ »ç¿ëÇØ °ü°èÇü µ¥ÀÌÅͺ£À̽ºÀÎ MySQLÀÇ µ¥ÀÌÅÍ¿¡ Á¢±ÙÇÏ°Ô ÇÑ´Ù.
7Àå, ¡®¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼­ºñ½º °³¹ß¡¯¿¡¼­´Â ¸®¾×Ƽºê ¹æ½ÄÀ» »ç¿ëÇØ¾ß ÇÏ´Â ÀÌÀ¯¿Í »ç¿ë ½Ã±â, ¿£µåÅõ¿£µå(end-to-end) ¸®¾×Ƽºê ¼­ºñ½º¸¦ °³¹ßÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. ³íºí·ÎÅ·(non-blocking) µ¿±â ¹æ½ÄÀÇ RESTful API¿Í À̺¥Æ® ±â¹Ý ºñµ¿±â ¹æ½ÄÀÇ ¼­ºñ½º¸¦ °³¹ßÇÏ°í Å×½ºÆ®ÇÏ´Â ¹æ¹ýµµ ¹è¿î´Ù. ¶ÇÇÑ MongoDB¸¦ À§ÇØ ³íºí·ÎÅ· ¹æ½ÄÀÇ ¿µ¼Ó¼º °èÃþÀ» »ç¿ëÇÏ´Â ¹æ¹ý°ú MySQLÀ» À§ÇØ ÀϹÝÀûÀÎ ºí·ÎÅ· Äڵ带 »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù.
8Àå, ¡®½ºÇÁ¸µ Ŭ¶ó¿ìµå ¼Ò°³¡¯¿¡¼­´Â ÀÌ Ã¥¿¡¼­ »ç¿ëÇÏ´Â ½ºÇÁ¸µ Ŭ¶ó¿ìµå ¹× ½ºÇÁ¸µ Ŭ¶ó¿ìµå ÄÄÆ÷³ÍÆ®¸¦ ¼Ò°³ÇÑ´Ù.
9Àå, ¡®³ÝÇø¯½º À¯·¹Ä«¿Í ¸®º»À» »ç¿ëÇÑ ¼­ºñ½º °Ë»ö¡¯¿¡¼­´Â ½ºÇÁ¸µ Ŭ¶ó¿ìµåÀÇ ³ÝÇø¯½º À¯·¹Ä«(Netflix Eureka)¿Í ¸®º»(Ribbon)À» »ç¿ëÇØ ¼­ºñ½º °Ë»ö ±â´ÉÀ» Ãß°¡ÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº»´Ù. Áï ³ÝÇø¯½º À¯·¹Ä« ±â¹ÝÀÇ ¼­ºñ½º °Ë»ö ¼­¹ö¸¦ ½Ã½ºÅÛ È¯°æ¿¡ Ãß°¡ÇÏ°í, ³ÝÇø¯½º ¸®º»À» »ç¿ëÇØ ´Ù¸¥ ¸¶ÀÌÅ©·Î¼­ºñ½º¸¦ ãµµ·Ï ¸¶ÀÌÅ©·Î¼­ºñ½º¸¦ ±¸¼ºÇÑ´Ù. ¶ÇÇÑ ÀÚµ¿À¸·Î ¸¶ÀÌÅ©·Î¼­ºñ½º¸¦ µî·ÏÇÏ´Â ¹æ¹ý°ú ³ÝÇø¯½º ¸®º»À» ÅëÇØ Àü´ÞµÈ Æ®·¡ÇÈÀ» È°¼ºÈ­µÈ »õ ÀνºÅϽº·Î ÀÚµ¿·Îµå ¹ë·±½ÌÇÏ´Â ¹æ¹ýÀ» ÀÌÇØÇÑ´Ù.
10Àå, ¡®½ºÇÁ¸µ Ŭ¶ó¿ìµå °ÔÀÌÆ®¿þÀ̸¦ ¿¡Áö ¼­¹ö·Î »ç¿ë¡¯¿¡¼­´Â ½ºÇÁ¸µ Ŭ¶ó¿ìµå °ÔÀÌÆ®¿þÀÌ(Spring Cloud Gateway)¸¦ »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼­ºñ½º¸¦ ¿¡Áö(edge) ¼­¹ö µÚ·Î ¼û±â°í, ¼±ÅÃµÈ ÀϺΠAPI¸¸ ¿ÜºÎ ¼ÒºñÀÚ¿¡°Ô °ø°³ÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. ¶ÇÇÑ ¿ÜºÎ ¼ÒºñÀÚ°¡ º¼ ¼ö ¾øµµ·Ï ¸¶ÀÌÅ©·Î¼­ºñ½º ³»ºÎÀÇ º¹À⼺À» ¼û±â´Â ¹æ¹ýÀ» ¹è¿î´Ù. ½ºÇÁ¸µ Ŭ¶ó¿ìµå °ÔÀÌÆ®¿þÀÌ ±â¹ÝÀÇ ¿¡Áö ¼­¹ö¸¦ ½Ã½ºÅÛ È¯°æ¿¡ Ãß°¡ÇÏ°í, °ø°³ API¸¸ ³ëÃâÇϵµ·Ï ±¸¼ºÇÏ¸é °ú¾÷À» ¿Ï¼öÇÒ ¼ö ÀÖ´Ù.
11Àå, ¡®API Á¢±Ù º¸¾È¡¯¿¡¼­´Â OAuth 2.0 ¹× OpenID Connect¸¦ »ç¿ëÇØ °ø°³ API¸¦ º¸È£ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼(Spring Security) ±â¹Ý OAuth 2.0 ±ÇÇÑ ¼­¹ö¸¦ ½Ã½ºÅÛ È¯°æ¿¡ Ãß°¡ÇÏ´Â ¹æ¹ý°ú ÇØ´ç ±ÇÇÑ ¼­¹ö¿¡¼­ ¹ß±ÞÇÑ À¯È¿ÇÑ Á¢±Ù ÅäÅ«ÀÌ Àִ Ŭ¶óÀ̾ðÆ®¸¸ ¿¡Áö ¼­¹ö¿Í º¹ÇÕ ¼­ºñ½º¿¡ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï ±¸¼ºÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. ¶ÇÇÑ ¿¡Áö ¼­¹ö¸¦ ÅëÇØ ±ÇÇÑ ºÎ¿© ¼­¹ö¸¦ °ø°³ÇÏ°í HTTPS¸¦ »ç¿ëÇØ ¿ÜºÎ ¼ÒºñÀÚ¿ÍÀÇ Åë½ÅÀ» º¸È£ÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. ¸¶Áö¸·À¸·Î ³»ºÎ OAuth 2.0 ÀÎÁõ ¼­¹ö¸¦ ¿ÜºÎ OpenID Connect °ø±ÞÀÚÀÎ Auth0·Î ±³Ã¼ÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù.
12Àå, ¡®±¸¼º Áß¾ÓÈ­¡¯¿¡¼­´Â ÇϳªÀÇ Áß¾Ó ±¸¼º ÀúÀå¼Ò¿¡¼­ ¸ðµç ¸¶ÀÌÅ©·Î¼­ºñ½ºÀÇ ±¸¼º ÆÄÀÏÀ» °¡Á®¿À°í, ±¸¼º ¼­¹ö¸¦ »ç¿ëÇØ ·±Å¸ÀÓ¿¡ ¸¶ÀÌÅ©·Î¼­ºñ½º·Î ±¸¼ºÀ» ¹èÆ÷ÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. ¶ÇÇÑ ½Ã½ºÅÛ È¯°æ¿¡ ½ºÇÁ¸µ Ŭ¶ó¿ìµå ÄÁÇÇ±× ¼­¹ö(Spring Cloud Config Server)¸¦ Ãß°¡ÇÏ°í ½ºÇÁ¸µ ÄÁÇÇ±× ¼­¹ö¿¡¼­ ±¸¼ºÀ» °¡Á®¿Àµµ·Ï ¸¶ÀÌÅ©·Î¼­ºñ½º¸¦ ±¸¼ºÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù.
13Àå, ¡®Resilience4j¸¦ »ç¿ëÇÑ Åº·Â¼º °³¼±¡¯¿¡¼­´Â Resilience4jÀÇ ±â´ÉÀ» ÀÌ¿ëÇØ ¿¬¼â Àå¾Ö °°Àº ¾ÈƼ ÆÐÅÏ(anti-pattern)À» ¹æÁöÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇϸç, º¹ÇÕ ¼­ºñ½º¿¡ Àç½Ãµµ ¸ÞÄ¿´ÏÁò°ú ¼­Å¶ ºê·¹ÀÌÄ¿(circuit breaker)¸¦ Ãß°¡ÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. ¶ÇÇÑ ¼­Å¶ÀÌ ¿­·Á ÀÖÀ» ¶§ ºü¸¥ ½ÇÆÐ ·ÎÁ÷ÀÌ ÀÛµ¿Çϵµ·Ï ¼­Å¶ ºê·¹ÀÌÄ¿¸¦ ±¸¼ºÇÏ´Â ¹æ¹ý°ú Æú¹é ¸Þ¼­µå(fallback method)¸¦ »ç¿ëÇØ ÃÖÀûÈ­µÈ ÀÀ´äÀ» »ý¼ºÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù.
14Àå, ¡®ºÐ»ê ÃßÀû¡¯¿¡¼­´Â ÁýŲ(Zipkin)À» »ç¿ëÇØ ÃßÀû Á¤º¸¸¦ ¼öÁýÇÏ°í ½Ã°¢È­ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¶ÇÇÑ ½ºÇÁ¸µ Ŭ¶ó¿ìµå ½½·ç½º(Spring Cloud Sleuth)·Î ¿äû¿¡ ÃßÀû ID¸¦ Ãß°¡ÇØ °øÁ¶ ¸¶ÀÌÅ©·Î¼­ºñ½º °£ÀÇ ¿äû üÀÎÀ» ½Ã°¢È­ÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù.
15Àå, ¡®Äí¹ö³×Ƽ½º ¼Ò°³¡¯¿¡¼­´Â Äí¹ö³×Ƽ½ºÀÇ ÇÙ½É °³³ä°ú »ùÇà µðÇ÷ÎÀ̸ÕÆ®(deployment) »ý¼º ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¹Ì´ÏÅ¥ºê(Minikube)¸¦ »ç¿ëÇØ °³¹ß ¹× Å×½ºÆ® ¿ëµµÀÇ Äí¹ö³×Ƽ½º¸¦ ·ÎÄÿ¡ ¼³Ä¡ÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù.
16Àå, ¡®Äí¹ö³×Ƽ½º¿¡ ¸¶ÀÌÅ©·Î¼­ºñ½º ¹èÆ÷¡¯¿¡¼­´Â Äí¹ö³×Ƽ½º¿¡ ¸¶ÀÌÅ©·Î¼­ºñ½º¸¦ ¹èÆ÷ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ±×¸®°í Kustomize¸¦ »ç¿ëÇØ Å×½ºÆ® ¹× »ó¿ë ȯ°æ°ú °°Àº ´Ù¾çÇÑ ·±Å¸ÀÓ È¯°æ¿¡ ¸ÂÃç Äí¹ö³×Ƽ½º µðÇ÷ÎÀ̸ÕÆ®(deployment)¸¦ ±¸¼ºÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. ¶ÇÇÑ Äí¹ö³×Ƽ½º ¼­ºñ½º °´Ã¼¿Í kube-proxy ·±Å¸ÀÓ ÄÄÆ÷³ÍÆ®¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â, Äí¹ö³×Ƽ½º¿¡ ³»ÀåµÈ ¼­ºñ½º °Ë»ö ±â´ÉÀ¸·Î ³ÝÇø¯½º À¯·¹Ä«¸¦ ´ëüÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù
17Àå, ¡®Äí¹ö³×Ƽ½º·Î ±âÁ¸ ÀÎÇÁ¶ó ´ëü¡¯¿¡¼­´Â ¾Õ¿¡¼­ ¼Ò°³ÇÑ ½ºÇÁ¸µ Ŭ¶ó¿ìµå ¼­ºñ½º¸¦ Äí¹ö³×Ƽ½º ±â´ÉÀ¸·Î ´ëüÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ½ºÇÁ¸µ Ŭ¶ó¿ìµå ÄÁÇÇ±× ¼­¹ö¸¦ Äí¹ö³×Ƽ½º ½ÃÅ©¸´(Kubernetes secret)°ú ÄÁÇÇ±× ¸Ê(config map)À¸·Î ´ëüÇÏ´Â ÀÌÀ¯¿Í ¹æ¹ýÀ» ¹è¿î´Ù. ¶ÇÇÑ ½ºÇÁ¸µ Ŭ¶ó¿ìµå °ÔÀÌÆ®¿þÀ̸¦ Äí¹ö³×Ƽ½º Àα׷¹½º(Kubernetes ingress) °´Ã¼·Î ´ëüÇÏ´Â ÀÌÀ¯ ¹× ¹æ¹ýÀ» ¹è¿ì°í, Cert Manager¸¦ Ãß°¡ÇØ Let¡¯s Encrypt¿¡¼­ HTTPS ¿£µåÆ÷ÀÎÆ®¸¦ À§ÇØ ¹ß±ÞÇÑ ÀÎÁõ¼­¸¦ ÀÚµ¿À¸·Î ÇÁ·ÎºñÀú´×ÇÏ°í °»½ÅÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù.
18Àå, ¡®¼­ºñ½º ¸Þ½Ã¸¦ »ç¿ëÇØ °üÂû °¡´É¼º ¹× °ü¸®¡¯¿¡¼­´Â ÆíÀǼº °³¼± ¼­ºñ½º ¸Þ½Ã °³³äÀ» ¼Ò°³ÇÏ°í À̽ºÆ¼¿À¸¦ »ç¿ëÇØ ·±Å¸ÀÓ¿¡ ¼­ºñ½º ¸Þ½Ã¸¦ ±¸ÇöÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¼­ºñ½º ¸Þ½Ã¸¦ »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼­ºñ½º ȯ°æÀÇ º¹¿ø·Â, º¸¾È, Æ®·¡ÇÈ °ü¸® ¹× °üÂû °¡´É¼ºÀ» Çâ»óÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù.
19Àå, ¡®EFK ½ºÅÃÀ» »ç¿ëÇÑ ·Î±ë Áß¾ÓÈ­¡¯¿¡¼­´Â ÀÏ·¡½ºÆ½¼­Ä¡(Elasticsearch), Ç÷ç¾ðƼµå(Fluentd), Å°¹Ù³ª(Kibana)¸¦ »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼­ºñ½ºÀÇ ·Î±× ½ºÆ®¸²(log stream)À» ¼öÁý, ÀúÀå, ½Ã°¢È­ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¹Ì´ÏÅ¥ºê¿¡ EFK ½ºÅÃÀ» ¹èÆ÷ÇÏ´Â ¹æ¹ý°ú EFK ½ºÅÃÀ¸·Î ¼öÁýÇÑ ·Î±× ·¹Äڵ带 ºÐ¼®ÇÏ´Â ¹æ¹ý, ¿©·¯ ¸¶ÀÌÅ©·Î¼­ºñ½º°¡ °ü·ÃµÈ ¿äûÀ» ó¸®Çϸ鼭 ¹ß»ýÇÏ´Â ¸¶ÀÌÅ©·Î¼­ºñ½º ·Î±× Ãâ·ÂÀ» ã´Â ¹æ¹ýÀ» ¹è¿î´Ù. ¶ÇÇÑ EFK ½ºÅÃÀ» »ç¿ëÇØ ±Ùº» ¿øÀÎ ºÐ¼®À» ¼öÇàÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù.
20Àå, ¡®¸¶ÀÌÅ©·Î¼­ºñ½º ¸ð´ÏÅ͸µ¡¯¿¡¼­´Â ÇÁ·Î¸ÞÅ׿콺(Prometheus)¿Í ±×¶óÆijª(Grafana)¸¦ ÀÌ¿ëÇØ Äí¹ö³×Ƽ½º¿¡ ¹èÆ÷µÈ ¸¶ÀÌÅ©·Î¼­ºñ½º¸¦ ¸ð´ÏÅ͸µÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ±âÁ¸ ±×¶óÆijª ´ë½Ãº¸µå¸¦ È°¿ëÇØ ´Ù¾çÇÑ À¯ÇüÀÇ ¸ÞÆ®¸¯(metric)À» ¸ð´ÏÅ͸µÇÏ´Â ¹æ¹ý°ú Á÷Á¢ ´ë½Ãº¸µå¸¦ ¸¸µå´Â ¹æ¹ýÀ» ¹è¿î´Ù. ¸¶Áö¸·À¸·Î ƯÁ¤ ¸ÞÆ®¸¯¿¡ ÀÓ°è°ªÀ» ±¸¼ºÇÏ°í, À̸¦ ÃÊ°úÇϸé À̸ÞÀÏÀ» Àü¼ÛÇÏ´Â °æ°í¸¦ ±×¶óÆijª¿¡¼­ »ý¼ºÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù.

¡Ú ¿Å±äÀÌÀÇ ¸» ¡Ú

½Ã½ºÅÛ ÅëÇÕÀ̳ª ¿£ÅÍÇÁ¶óÀÌÁî ¾÷°è¿¡¼­ ÀÏÇÏ´Â ÀÚ¹Ù °³¹ßÀÚ¶ó¸é ÃÖ±Ù ¸î ³â µ¿¾È¿¡ ¸ô¾Æ ´ÚÄ£ ¸¶ÀÌÅ©·Î¼­ºñ½º ¿­Ç³°ú À̸¦ º¸Á¶ÇÏ´Â µµÄ¿, Äí¹ö³×Ƽ½º µîÀÇ ÄÁÅ×ÀÌ³Ê ±â¹Ý ȯ°æÀÇ Àα⿡ ºÎ´ã°¨À» ´À³¥ ¼ö¹Û¿¡ ¾øÀ» °ÍÀÌ´Ù. Á» ´õ À¯¿¬ÇÏ°í È®À强 ÀÖ´Â ¼­ºñ½º¸¦ À§ÇÑ ½Ã´ëÀûÀÎ ¿ä±¸¿¡ µû¸¥ °ÍÀ̶ó°ï ÇÏÁö¸¸, °³¹ß ÀÚü°¡ ¾Æ´Ñ ±â¹Ý ȯ°æÀÇ º¯È­¿¡ µû¶ó ¸Â´Ú¶ß¸° ±Þ°ÝÇÑ ÇнÀ °î¼±Àº °³¹ßÀÚ¿¡°Ô ±×¸® ´Þ°¡¿î »óȲÀº ¾Æ´Ï±â ¶§¹®ÀÌ´Ù.
ÀÌ·± »õ·Î¿î º¯È­¿¡ µû¸¥ ÇнÀÀÌ ÇÊ¿äÇÏ´Ù°í ´À³¤´Ù¸é ÀÌ Ã¥Àº ÁÁÀº ¼±ÅÃÀÌ µÉ °ÍÀÌ´Ù. °³¹ßÀÚ¿Í ¾ÆÅ°ÅØÆ®°¡ ÆíÇÏ°Ô º¼ ¼ö ÀÖµµ·Ï À̷аú ½Ç½ÀÀ» ÀûÀýÈ÷ Á¶ÇÕÇؼ­ ½ºÇÁ¸µ ºÎÆ® ¹× Ŭ¶ó¿ìµå¸¦ ÀÌ¿ëÇØ ¸¶ÀÌÅ©·Î¼­ºñ½º¸¦ ±¸ÃàÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¶ÇÇÑ ´Ù¾çÇÑ ¿ÀÇ ¼Ò½º µµ±¸¸¦ µµÀÔÇØ¾ß ÇÏ´Â ÀÌÀ¯¿Í ½ºÇÁ¸µ ¾ÖÇø®ÄÉÀ̼ǰú ¿¬µ¿ÇÏ´Â ¹æ¹ýÀ» ¹è¿ï ¼ö ÀÖ´Ù. ³ÐÀº ¹üÀ§¸¦ ´Ù·çÁö¸¸ °¢ ±â¼ú ¿ä¼ÒÀÇ ¼Ò°³º¸´Ù´Â ½Ç¹«¿¡ ÇÊ¿äÇÑ ¹üÀ§¿¡ ¸ÂÃç ÇÙ½ÉÀ» Àß Àü´ÞÇϸç, ÄÚµå·Î ¼³¸íÇϴ åÀ̶ó°í ¸»ÇÒ ¼ö ÀÖ´Ù.

¸ñÂ÷

1ºÎ. ½ºÇÁ¸µ ºÎÆ®¸¦ »ç¿ëÇÑ ¸¶ÀÌÅ©·Î¼­ºñ½º °³¹ß

1Àå. ¸¶ÀÌÅ©·Î¼­ºñ½º ¼Ò°³
__±â¼ú ¿ä±¸ »çÇ×
__ÀúÀÚÀÇ ¸¶ÀÌÅ©·Î¼­ºñ½º °æÇè
____µ¶¸³ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®ÀÇ ÀåÁ¡
____µ¶¸³ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®ÀÇ ¹®Á¦
____¸¶ÀÌÅ©·Î¼­ºñ½º ÀÔ¹®
____»ùÇà ¸¶ÀÌÅ©·Î¼­ºñ½º ȯ°æ
__¸¶ÀÌÅ©·Î¼­ºñ½º Á¤ÀÇ
__¸¶ÀÌÅ©·Î¼­ºñ½ºÀÇ ¹®Á¦
__¸¶ÀÌÅ©·Î¼­ºñ½º µðÀÚÀÎ ÆÐÅÏ
____¼­ºñ½º °Ë»ö
____¿¡Áö ¼­¹ö
____¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼­ºñ½º
____±¸¼º Áß¾ÓÈ­
____·Î±× ºÐ¼® Áß¾ÓÈ­
____ºÐ»ê ÃßÀû
____¼­Å¶ ºê·¹ÀÌÄ¿
____Á¦¾î ·çÇÁ
____¸ð´ÏÅ͸µ ¹× °æ°í Áß¾ÓÈ­
__Çʼö ¼ÒÇÁÆ®¿þ¾î
__´Ù¸¥ ÁÖ¿ä °í·Á »çÇ×
__¿ä¾à


2Àå. ½ºÇÁ¸µ ºÎÆ® ¼Ò°³
__±â¼ú ¿ä±¸ »çÇ×
__½ºÇÁ¸µ ºÎÆ®
____¼³Á¤º¸´Ù °ü·Ê¿Í ÆÖ JAR ÆÄÀÏ
____½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀÌ¼Ç ¼³Á¤¿¡ ´ëÇÑ ÄÚµå ¿¹Á¦
__½ºÇÁ¸µ À¥Ç÷°½º
____REST ¼­ºñ½º ¼³Á¤¿¡ ´ëÇÑ ÄÚµå ¿¹Á¦
__½ºÇÁ¸µ Æø½º
__½ºÇÁ¸µ µ¥ÀÌÅÍ
____¿£Æ¼Æ¼
____¸®Æ÷ÁöÅ丮
__½ºÇÁ¸µ Ŭ¶ó¿ìµå ½ºÆ®¸²
____½ºÇÁ¸µ Ŭ¶ó¿ìµå ½ºÆ®¸²À» »ç¿ëÇÑ ¸Þ½ÃÁö ¼Û¼ö½Å ¿¹Á¦
__µµÄ¿
__¿ä¾à
__Áú¹®


3Àå. °øÁ¶ ¸¶ÀÌÅ©·Î¼­ºñ½º ÁýÇÕ »ý¼º
__±â¼ú ¿ä±¸ »çÇ×
__µµ±¸ ¼³Ä¡
____¼Ò½º ÄÚµå ´Ù¿î·Îµå
__¸¶ÀÌÅ©·Î¼­ºñ½º ȯ°æ ¼Ò°³
____¸¶ÀÌÅ©·Î¼­ºñ½º°¡ ó¸®ÇÏ´Â Á¤º¸
____Àӽ÷Π°Ë»ö ¼­ºñ½º ´ëü
__°ñ°Ý ¸¶ÀÌÅ©·Î¼­ºñ½º »ý¼º
____½ºÇÁ¸µ À̴ϼȶóÀÌÀú·Î °ñ°Ý ÄÚµå »ý¼º
____±×·¡µé¿¡ ¸ÖƼ ÇÁ·ÎÁ§Æ® ºôµå ¼³Á¤
__RESTful API Ãß°¡
____api ÇÁ·ÎÁ§Æ®¿Í util ÇÁ·ÎÁ§Æ® Ãß°¡
____API ±¸Çö
__º¹ÇÕ ¸¶ÀÌÅ©·Î¼­ºñ½º Ãß°¡
____API Ŭ·¡½º
____¼Ó¼º
____ÅëÇÕ ÄÄÆ÷³ÍÆ®
____º¹ÇÕ API ±¸Çö
__¿¹¿Ü ó¸® Ãß°¡
____Àü¿ª REST ÄÁÆ®·Ñ·¯ ¿¹¿Ü Çڵ鷯
____API ±¸ÇöÀÇ ¿¹¿Ü ó¸®
____API Ŭ¶óÀ̾ðÆ®ÀÇ ¿¹¿Ü ó¸®
__API ¼öµ¿ Å×½ºÆ®
____localhostÀÇ Á¶È¸ ¼Óµµ ¹®Á¦ ÇØ°á
__ÀÚµ¿È­µÈ ¸¶ÀÌÅ©·Î¼­ºñ½º Å×½ºÆ®
__¹ÝÀÚµ¿È­µÈ ¸¶ÀÌÅ©·Î¼­ºñ½º ȯ°æ Å×½ºÆ®
____Å×½ºÆ® ½ºÅ©¸³Æ® ½ÇÇà
__¿ä¾à
__Áú¹®


4Àå. µµÄ¿¸¦ »ç¿ëÇÑ ¸¶ÀÌÅ©·Î¼­ºñ½º ¹èÆ÷
__±â¼ú ¿ä±¸ »çÇ×
__µµÄ¿ ¼Ò°³
____ù µµÄ¿ ¸í·É ½ÇÇà
__µµÄ¿¿¡¼­ ÀÚ¹Ù¸¦ ½ÇÇàÇÒ ¶§ÀÇ ¹®Á¦
____µµÄ¿ ¾øÀÌ ÀÚ¹Ù Ä¿¸Çµå ½ÇÇà
____µµÄ¿¿¡¼­ ÀÚ¹Ù Ä¿¸Çµå ½ÇÇà
____ÀÚ¹Ù SE 9 µµÄ¿ ÄÁÅ×À̳ÊÀÇ ¹®Á¦
__µµÄ¿·Î ´ÜÀÏ ¸¶ÀÌÅ©·Î¼­ºñ½º ½ÇÇà
____¼Ò½º ÄÚµå º¯°æ
____µµÄ¿ À̹ÌÁö ºôµå
____¼­ºñ½º ½ÃÀÛ
____ÄÁÅ×À̳ʸ¦ ºÐ¸® ¸ðµå·Î ½ÇÇà
__µµÄ¿ ÄÄÆ÷Á »ç¿ëÇÑ ¸¶ÀÌÅ©·Î¼­ºñ½º ȯ°æ °ü¸®
____¼Ò½º ÄÚµå º¯°æ
____¸¶ÀÌÅ©·Î¼­ºñ½º ȯ°æ ½ÃÀÛ
__µµÄ¿ ÄÄÆ÷Á »ç¿ëÇÑ ¸¶ÀÌÅ©·Î¼­ºñ½º ȯ°æ Å×½ºÆ®
____Å×½ºÆ® ½ÇÇà ¹®Á¦ ÇØ°á
__¿ä¾à
__Áú¹®


5Àå. OpenAPI/½º¿þ°Å¸¦ »ç¿ëÇÑ API ¹®¼­È­
__±â¼ú ¿ä±¸ »çÇ×
__½ºÇÁ¸µ Æø½º ¼Ò°³
__¼Ò½º ÄÚµå º¯°æ
____±×·¡µé ºôµå ÆÄÀÏ¿¡ ÀÇÁ¸¼º Ãß°¡
____ProductCompositeServiceApplication¿¡ ±¸¼º°ú API Á¤º¸ Ãß°¡
____ProductCompositeService¿¡ API Á¤º¸ Ãß°¡
____¼Ó¼º ÆÄÀÏ¿¡ API ¼³¸í Ãß°¡
__¸¶ÀÌÅ©·Î¼­ºñ½º ȯ°æ ±¸Ãà ¹× ½ÃÀÛ
__½º¿þ°Å ¹®¼­ »ç¿ë¹ý
__¿ä¾à
__Áú¹®


6Àå. ¿µ¼Ó¼º Ãß°¡
__±â¼ú ¿ä±¸ »çÇ×
__ÁøÇà ¹æÇâ È®ÀÎ
__ÇÙ½É ¸¶ÀÌÅ©·Î¼­ºñ½º¿¡ ¿µ¼Ó¼º °èÃþ Ãß°¡
____ÀÇÁ¸¼º Ãß°¡
____¿£Æ¼Æ¼ Ŭ·¡½º¸¦ »ç¿ëÇØ µ¥ÀÌÅÍ ÀúÀå
____½ºÇÁ¸µ µ¥ÀÌÅÍ ¸®Æ÷ÁöÅ丮 Á¤ÀÇ
__¿µ¼Ó¼º¿¡ ÁßÁ¡À» µÐ ÀÚµ¿ Å×½ºÆ® ÀÛ¼º
__¼­ºñ½º °èÃþ¿¡¼­ ¿µ¼Ó¼º °èÃþ »ç¿ë
____µ¥ÀÌÅͺ£À̽º ¿¬°á URL ±â·Ï
____»õ API Ãß°¡
____¿µ¼Ó¼º °èÃþ »ç¿ë
____ÀÚ¹Ù ºó ¸ÅÆÛ ¼±¾ð
____¼­ºñ½º Å×½ºÆ® ¾÷µ¥ÀÌÆ®
__º¹ÇÕ ¼­ºñ½º API È®Àå
____º¹ÇÕ ¼­ºñ½º API¿¡ »õ ¿ÀÆÛ·¹ÀÌ¼Ç Ãß°¡
____ÅëÇÕ °èÃþ¿¡ ¸Þ¼­µå Ãß°¡
____»õ º¹ÇÕ API ¿ÀÆÛ·¹ÀÌ¼Ç ±¸Çö
____º¹ÇÕ ¼­ºñ½º Å×½ºÆ® ¾÷µ¥ÀÌÆ®
__µµÄ¿ ÄÄÆ÷Áî ȯ°æ¿¡ µ¥ÀÌÅͺ£À̽º Ãß°¡
____µµÄ¿ ÄÄÆ÷Áî ±¸¼º
____µ¥ÀÌÅͺ£À̽º ¿¬°á ±¸¼º
____MongoDB ¹× MySQL CLI µµ±¸
__»õ API ¹× ¿µ¼Ó¼º °èÃþÀÇ ¼öµ¿ Å×½ºÆ®
__¸¶ÀÌÅ©·Î¼­ºñ½º ȯ°æÀÇ ÀÚµ¿ Å×½ºÆ® ¾÷µ¥ÀÌÆ®
__¿ä¾à
__Áú¹®


7Àå. ¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼­ºñ½º °³¹ß
__±â¼ú ¿ä±¸ »çÇ×
__³íºí·ÎÅ· µ¿±â API¿Í À̺¥Æ® ±â¹Ý ºñµ¿±â ¼­ºñ½ºÀÇ ¼±Åà ±âÁØ
__½ºÇÁ¸µÀ» »ç¿ëÇØ ³íºí·ÎÅ· µ¿±â REST API °³¹ß
____½ºÇÁ¸µ ¸®¾×ÅÍ ¼Ò°³
____½ºÇÁ¸µ µ¥ÀÌÅÍ MongoDB¸¦ »ç¿ëÇÑ ³íºí·ÎÅ· ¿µ¼Ó¼º
____ÇÙ½É ¼­ºñ½ºÀÇ ³íºí·ÎÅ· REST API
____º¹ÇÕ ¼­ºñ½ºÀÇ ³íºí·ÎÅ· REST API
__À̺¥Æ® ±â¹Ý ºñµ¿±â ¼­ºñ½º °³¹ß
____¸Þ½Ã¡ °ü·Ã ¹®Á¦¸¦ ó¸®Çϵµ·Ï ½ºÇÁ¸µ Ŭ¶ó¿ìµå ½ºÆ®¸² ±¸¼º
____ÅäÇÈ ¹× À̺¥Æ® Á¤ÀÇ
____±×·¡µé ºôµå ÆÄÀÏ º¯°æ
____º¹ÇÕ ¼­ºñ½º¿¡¼­ À̺¥Æ® °Ô½Ã
____ÇÙ½É ¼­ºñ½º¿¡¼­ À̺¥Æ® ¼Òºñ
__¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼­ºñ½º ȯ°æÀÇ ¼öµ¿ Å×½ºÆ®
____À̺¥Æ® ÀúÀå
____»óÅÂ Á¡°Ë API Ãß°¡
____ÆÄƼ¼Ç ¾øÀÌ RabbitMQ »ç¿ë
____ÅäÇÈ´ç 2°³ÀÇ ÆÄƼ¼ÇÀ¸·Î RabbitMQ »ç¿ë
____ÅäÇÈ´ç 2°³ÀÇ ÆÄƼ¼ÇÀ¸·Î Ä«ÇÁÄ« »ç¿ë
__¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼­ºñ½º ȯ°æÀÇ ÀÚµ¿ Å×½ºÆ®
__¿ä¾à
__Áú¹®


2ºÎ. ½ºÇÁ¸µ Ŭ¶ó¿ìµå¸¦ È°¿ëÇÑ ¸¶ÀÌÅ©·Î¼­ºñ½º °ü¸®

8Àå. ½ºÇÁ¸µ Ŭ¶ó¿ìµå ¼Ò°³
__±â¼ú ¿ä±¸ »çÇ×
__½ºÇÁ¸µ Ŭ¶ó¿ìµåÀÇ ÁøÈ­
__³ÝÇø¯½º À¯·¹Ä«¸¦ °Ë»ö ¼­ºñ½º·Î »ç¿ë
__½ºÇÁ¸µ Ŭ¶ó¿ìµå °ÔÀÌÆ®¿þÀ̸¦ ¿¡Áö ¼­¹ö·Î »ç¿ë
__±¸¼º Áß¾ÓÈ­¸¦ À§ÇØ ½ºÇÁ¸µ Ŭ¶ó¿ìµå ÄÁÇÇ±× »ç¿ë
__ź·Â¼º Çâ»óÀ» À§ÇØ Resilience4j »ç¿ë
____Resilience4j¸¦ »ç¿ëÇÑ ¼­Å¶ ºê·¹ÀÌÄ¿ »ùÇÃ
½ºÇÁ¸µ Ŭ¶ó¿ìµå ½½·ç½º¿Í ÁýŲÀ» »ç¿ëÇÑ ºÐ»ê ÃßÀû
__¿ä¾à
__Áú¹®


9Àå. ³ÝÇø¯½º À¯·¹Ä«¿Í ¸®º»À» »ç¿ëÇÑ ¼­ºñ½º °Ë»ö
__±â¼ú ¿ä±¸ »çÇ×
__¼­ºñ½º °Ë»ö ¼Ò°³
____DNS ±â¹Ý ¼­ºñ½º °Ë»öÀÇ ¹®Á¦
____¼­ºñ½º °Ë»öÀÇ ¹®Á¦
____³ÝÇø¯½º À¯·¹Ä«¸¦ ÀÌ¿ëÇÑ ¼­ºñ½º °Ë»ö
__³ÝÇø¯½º À¯·¹Ä« ¼­¹ö ¼³Á¤
__³ÝÇø¯½º À¯·¹Ä« ¼­¹ö¿¡ ¸¶ÀÌÅ©·Î¼­ºñ½º ¿¬°á
__°³¹ß ÇÁ·Î¼¼½º¿¡¼­ »ç¿ëÇÒ ±¸¼º ¼³Á¤
____À¯·¹Ä« ±¸¼º ¸Å°³ º¯¼ö
____À¯·¹Ä« ¼­¹ö ±¸¼º
____À¯·¹Ä« ¼­¹ö¿¡ ¿¬°áÇÒ Å¬¶óÀ̾ðÆ® ±¸¼º
__°Ë»ö ¼­ºñ½º »ç¿ë
____È®Àå
____Ãà¼Ò
____À¯·¹Ä« ¼­¹öÀÇ Àå¾Ö »óȲ Å×½ºÆ®
__¿ä¾à
__Áú¹®


10Àå. ½ºÇÁ¸µ Ŭ¶ó¿ìµå °ÔÀÌÆ®¿þÀ̸¦ ¿¡Áö ¼­¹ö·Î »ç¿ë
__±â¼ú ¿ä±¸ »çÇ×
__½Ã½ºÅÛ È¯°æ¿¡ ¿¡Áö ¼­¹ö Ãß°¡
__½ºÇÁ¸µ Ŭ¶ó¿ìµå °ÔÀÌÆ®¿þÀÌ ¼³Á¤
____º¹ÇÕ »óÅ Á¡°Ë Ãß°¡
____½ºÇÁ¸µ Ŭ¶ó¿ìµå °ÔÀÌÆ®¿þÀÌ ±¸¼º
__¿¡Áö ¼­¹ö Å×½ºÆ®
____µµÄ¿ ¿£Áø ¿ÜºÎ·Î °ø°³µÇ´Â Ç׸ñ È®ÀÎ
____¶ó¿ìÆà ±ÔÄ¢ Å×½ºÆ®
__¿ä¾à
__Áú¹®


11Àå. API Á¢±Ù º¸¾È
__±â¼ú ¿ä±¸ »çÇ×
__OAuth 2.0 ¹× OpenID Connect ¼Ò°³
____OAuth 2.0 ¼Ò°³
____OpenID Connect ¼Ò°³
__½Ã½ºÅÛ È¯°æ º¸¾È
__½Ã½ºÅÛ È¯°æ¿¡ ±ÇÇÑ ºÎ¿© ¼­¹ö Ãß°¡
__HTTPS¸¦ »ç¿ëÇÑ ¿ÜºÎ Åë½Å º¸È£
____·±Å¸ÀÓ¿¡ ÀÚü ¼­¸í ÀÎÁõ¼­ ±³Ã¼
__°Ë»ö ¼­ºñ½º Á¢±Ù º¸¾È
____À¯·¹Ä« ¼­¹ö º¯°æ
____À¯·¹Ä« Ŭ¶óÀ̾ðÆ® º¯°æ
____º¸¾È À¯·¹Ä« ¼­¹ö Å×½ºÆ®
__OAuth 2.0°ú OpenID Connect¸¦ »ç¿ëÇÑ API Á¢±Ù ÀÎÁõ ¹×
__±ÇÇÑ ºÎ¿©
____¿¡Áö ¼­¹ö¿Í product-composite ¼­ºñ½º º¯°æ
____product-composite ¼­ºñ½º º¯°æ
____Å×½ºÆ® ½ºÅ©¸³Æ® º¯°æ
__·ÎÄà ±ÇÇÑ ºÎ¿© ¼­¹ö¸¦ »ç¿ëÇÑ Å×½ºÆ®
____ÀÚµ¿ Å×½ºÆ® ºôµå ¹× ½ÇÇà
____Á¢±Ù ÅäÅ« ȹµæ
____Á¢±Ù ÅäÅ«À» »ç¿ëÇØ º¸¾È API È£Ãâ
__Auth0¸¦ OpenID Connect °ø±ÞÀÚ·Î »ç¿ëÇÑ Å×½ºÆ®
____Auth0 »ç¿ëÀÚ °èÁ¤°ú OAuth 2.0 Ŭ¶óÀ̾ðÆ® ¼³Á¤
____Auth0¸¦ OpenID °ø±ÞÀÚ·Î »ç¿ëÇÏ´Â µ¥ ÇÊ¿äÇÑ º¯°æ »çÇ× Àû¿ë
____Auth0¸¦ OpenID Connect °ø±ÞÀÚ·Î »ç¿ëÇØ Å×½ºÆ® ½ºÅ©¸³Æ® ½ÇÇà
____¾ÏÈ£ ½ÂÀÎ È帧À» »ç¿ëÇØ Á¢±Ù ÅäÅ« ȹµæ
____¹¬½ÃÀû ½ÂÀÎ È帧À» »ç¿ëÇØ Á¢±Ù ÅäÅ« ȹµæ
____±ÇÇÑ ÄÚµå ½ÂÀÎ È帧À» »ç¿ëÇØ Á¢±Ù ÅäÅ« ȹµæ
____Auth0 Á¢±Ù ÅäÅ«À» »ç¿ëÇØ º¸È£ API È£Ãâ
____»ç¿ëÀÚ¿¡ ´ëÇÑ Ãß°¡ Á¤º¸ ȹµæ
__¿ä¾à
__Áú¹®


12Àå. ±¸¼º Áß¾ÓÈ­
__±â¼ú ¿ä±¸ »çÇ×
__½ºÇÁ¸µ Ŭ¶ó¿ìµå ÄÁÇÇ±× ¼­¹ö ¼Ò°³
____±¸¼º ÀúÀå¼ÒÀÇ ÀúÀå À¯Çü ¼±ÅÃ
____Ŭ¶óÀ̾ðÆ®°¡ ¸ÕÀú Á¢¼ÓÇÒ ¼­¹ö °áÁ¤
____±¸¼º º¸¾È
____±¸¼º ¼­¹ö API ¼Ò°³
__±¸¼º ¼­¹ö ¼³Á¤
____¿¡Áö ¼­¹ö¿¡ ¶ó¿ìÆà ±ÔÄ¢ ¼³Á¤
____µµÄ¿ ȯ°æÀ» À§ÇÑ ±¸¼º ¼­¹ö ¼³Á¤
__±¸¼º ¼­¹öÀÇ Å¬¶óÀ̾ðÆ® ¼³Á¤
____¿¬°á Á¤º¸ ¼³Á¤
____ÆÄƼ¼Å´× ±¸¼ºÀ» µµÄ¿ ÄÄÆ÷Áî ÆÄÀÏ¿¡¼­ ±¸¼º ÀúÀå¼Ò·Î À̵¿
__±¸¼º ÀúÀå¼Ò ±¸Á¶È­
__½ºÇÁ¸µ Ŭ¶ó¿ìµå ÄÁÇÇ±× ¼­¹ö »ç¿ë
____ºôµå ¹× ÀÚµ¿È­ Å×½ºÆ® ½ÇÇà
____±¸¼º ¼­¹ö API·Î ±¸¼º Á¶È¸
____¹Î°¨ÇÑ Á¤º¸ÀÇ ¾Ïȣȭ ¹× Çص¶
__¿ä¾à
__Áú¹®


13Àå. Resilience4j¸¦ »ç¿ëÇÑ Åº·Â¼º °³¼±
__±â¼ú ¿ä±¸ »çÇ×
__Resilience4jÀÇ ¼­Å¶ ºê·¹ÀÌÄ¿¿Í Àç½Ãµµ ¸ÞÄ¿´ÏÁò ¼Ò°³
____¼­Å¶ ºê·¹ÀÌÄ¿ ¼Ò°³
____Àç½Ãµµ ¸ÞÄ¿´ÏÁò ¼Ò°³
__¼Ò½º Äڵ忡 ¼­Å¶ ºê·¹ÀÌÄ¿ ¹× Àç½Ãµµ ¸ÞÄ¿´ÏÁò Ãß°¡
____ÇÁ·Î±×·¡¹Ö ¹æ½ÄÀ¸·Î Áö¿¬ ¹× ¹«ÀÛÀ§ ¿À·ù Ãß°¡
____¼­Å¶ ºê·¹ÀÌÄ¿ Ãß°¡
____¼­Å¶ ºê·¹ÀÌÄ¿ ¹× ½Ã°£ ÃÊ°ú ·ÎÁ÷ Ãß°¡
____Àç½Ãµµ ¸ÞÄ¿´ÏÁò Ãß°¡
____ÀÚµ¿ Å×½ºÆ® Ãß°¡
__¼­Å¶ ºê·¹ÀÌÄ¿ ¹× Àç½Ãµµ ¸ÞÄ¿´ÏÁò Å×½ºÆ®
____ºôµå ¹× ÀÚµ¿È­ Å×½ºÆ® ½ÇÇà
____Á¤»óÀûÀÎ ¿äû¸¸ À¯À﵃ ¶§ ¼­Å¶ÀÌ ´ÝÇô ÀÖ´ÂÁö È®ÀÎ
____¹®Á¦°¡ ¹ß»ýÇßÀ» ¶§ ¼­Å¶ÀÌ ¿­¸®´ÂÁö È®ÀÎ
____¼­Å¶ ºê·¹ÀÌÄ¿ ´Ù½Ã ´Ý±â
____¹«ÀÛÀ§ ¿À·ù·Î Àç½Ãµµ ¸ÞÄ¿´ÏÁò Å×½ºÆ®
__¿ä¾à
__Áú¹®


14Àå. ºÐ»ê ÃßÀû
__±â¼ú ¿ä±¸ »çÇ×
__½ºÇÁ¸µ Ŭ¶ó¿ìµå ½½·ç½º¿Í ÁýŲÀ» »ç¿ëÇÑ ºÐ»ê ÃßÀû
__¼Ò½º Äڵ忡 ºÐ»ê ÃßÀû Ãß°¡
____ºôµå ÆÄÀÏ¿¡ ÀÇÁ¸¼º Ãß°¡
____½ºÇÁ¸µ Ŭ¶ó¿ìµå ½½·ç½º ¹× ÁýŲ¿¡ ´ëÇÑ ±¸¼º Ãß°¡
____µµÄ¿ ÄÄÆ÷Áî ÆÄÀÏ¿¡ ÁýŲ Ãß°¡
__ºÐ»ê ÃßÀû ¼öÇà
____RabbitMQ¸¦ ´ë±â¿­ °ü¸®ÀÚ·Î »ç¿ëÇØ ½Ã½ºÅÛ È¯°æ ½ÃÀÛ
____Á¤»óÀûÀÎ API ¿äû Àü¼Û
____ºñÁ¤»óÀûÀÎ API ¿äû Àü¼Û
____ºñµ¿±â 󸮸¦ À¯¹ßÇÏ´Â API ¿äû Àü¼Û
____RabbitMQ¸¦ ÅëÇØ ÁýŲÀ¸·Î Àü´ÞµÈ ÃßÀû Á¤º¸ ¸ð´ÏÅ͸µ
____Ä«ÇÁÄ«¸¦ ¸Þ½ÃÁö ºê·ÎÄ¿·Î »ç¿ë
__¿ä¾à
__Áú¹®


3ºÎ. Äí¹ö³×Ƽ½º¸¦ »ç¿ëÇÑ °æ·® ¸¶ÀÌÅ©·Î¼­ºñ½º °³¹ß

15Àå. Äí¹ö³×Ƽ½º ¼Ò°³
__±â¼ú ¿ä±¸ »çÇ×
__Äí¹ö³×Ƽ½º °³³ä ¼Ò°³
__Äí¹ö³×Ƽ½º API °´Ã¼ ¼Ò°³
__Äí¹ö³×Ƽ½º ·±Å¸ÀÓ ÄÄÆ÷³ÍÆ® ¼Ò°³
__¹Ì´ÏÅ¥ºê¸¦ »ç¿ëÇØ Äí¹ö³×Ƽ½º Ŭ·¯½ºÅÍ »ý¼º
____¹Ì´ÏÅ¥ºê ÇÁ·ÎÇÊ »ç¿ë
____Äí¹ö³×Ƽ½ºÀÇ CLI µµ±¸ÀÎ kubectl »ç¿ë
____kubectl ÄÜÅؽºÆ® »ç¿ë
____Äí¹ö³×Ƽ½º Ŭ·¯½ºÅÍ »ý¼º
__»ùÇà µðÇ÷ÎÀ̸ÕÆ® »ý¼º
__Äí¹ö³×Ƽ½º Ŭ·¯½ºÅÍ °ü¸®
____Äí¹ö³×Ƽ½º Ŭ·¯½ºÅÍ ÀϽà Á¤Áö ¹× ½ÃÀÛ
____Äí¹ö³×Ƽ½º Ŭ·¯½ºÅÍ Á¾·á
__¿ä¾à
__Áú¹®


16Àå. Äí¹ö³×Ƽ½º¿¡ ¸¶ÀÌÅ©·Î¼­ºñ½º ¹èÆ÷
__±â¼ú ¿ä±¸ »çÇ×
__³ÝÇø¯½º À¯·¹Ä«¸¦ Äí¹ö³×Ƽ½º ¼­ºñ½º·Î ´ëü
__Kustomize ¼Ò°³
____º£À̽º Æú´õ¿¡ °øÅë Á¤ÀÇ ¼³Á¤
__°³¹ß ¹× Å×½ºÆ® ȯ°æÀ» À§ÇÑ Äí¹ö³×Ƽ½º ¹èÆ÷
____µµÄ¿ À̹ÌÁö ºôµå
____Äí¹ö³×Ƽ½º¿¡ ¹èÆ÷
____Äí¹ö³×Ƽ½º ȯ°æ¿¡ ¸Â°Ô Å×½ºÆ® ½ºÅ©¸³Æ® ¼öÁ¤
____µðÇ÷ÎÀ̸ÕÆ® Å×½ºÆ®
__Áغñ ¹× »ó¿ë ȯ°æÀ» À§ÇÑ Äí¹ö³×Ƽ½º ¹èÆ÷
____¼Ò½º ÄÚµå ¼öÁ¤
____Äí¹ö³×Ƽ½º¿¡ ¹èÆ÷
__·Ñ¸µ ¾÷±×·¹ÀÌµå ¼öÇà
____·Ñ¸µ ¾÷±×·¹À̵å Áغñ
____product ¼­ºñ½º¸¦ v1¿¡¼­ v2·Î ¾÷±×·¹À̵å
__½ÇÆÐÇÑ µðÇ÷ÎÀ̸ÕÆ® ·Ñ¹é
____Á¤¸®
__¿ä¾à
__Áú¹®


17Àå. Äí¹ö³×Ƽ½º·Î ±âÁ¸ ÀÎÇÁ¶ó ´ëü
__±â¼ú ¿ä±¸ »çÇ×
__½ºÇÁ¸µ Ŭ¶ó¿ìµå ÄÁÇÇ±× ¼­¹ö ´ëü
____½ºÇÁ¸µ Ŭ¶ó¿ìµå ÄÁÇÇ±× ¼­¹ö¸¦ ´ëüÇϱâ À§ÇÑ ¼Ò½º ÄÚµå º¯°æ
__½ºÇÁ¸µ Ŭ¶ó¿ìµå °ÔÀÌÆ®¿þÀÌ ´ëü
____½ºÇÁ¸µ Ŭ¶ó¿ìµå °ÔÀÌÆ®¿þÀ̸¦ ´ëüÇϱâ À§ÇÑ ¼Ò½º ÄÚµå º¯°æ
__Äí¹ö³×Ƽ½º ÄÁÇÇ±× ¸Ê, ½ÃÅ©¸´, Àα׷¹½º ¸®¼Ò½º¸¦ »ç¿ëÇÑ Å×½ºÆ®
____¹èÆ÷ ½ºÅ©¸³Æ® ºÐ¼®
____¹èÆ÷ ¹× Å×½ºÆ® Ä¿¸Çµå ½ÇÇà
__ÀÎÁõ¼­ ÇÁ·ÎºñÀú´× ÀÚµ¿È­
____Cert Manager ¹èÆ÷ ¹× Let¡¯s Encrypt ¹ß±ÞÀÚ Á¤ÀÇ
____ngrokÀ¸·Î HTTP ÅͳΠ»ý¼º
____Cert Manager¿Í Let¡¯s Encrypt¸¦ »ç¿ëÇÑ ÀÎÁõ¼­ ÇÁ·ÎºñÀú´×
____Á¤¸®
__Äí¹ö³×Ƽ½º ¾øÀ̵µ ¸¶ÀÌÅ©·Î¼­ºñ½º°¡ ÀÛµ¿ÇÏ´ÂÁö È®ÀÎ
____µµÄ¿ ÄÄÆ÷Áî ¼Ò½º ÄÚµå ¼öÁ¤
____µµÄ¿ ÄÄÆ÷Áî·Î Å×½ºÆ®
__¿ä¾à
__Áú¹®


18Àå. ¼­ºñ½º ¸Þ½Ã¸¦ »ç¿ëÇØ °üÂû °¡´É¼º ¹× °ü¸® ÆíÀǼº °³¼±
__±â¼ú ¿ä±¸ »çÇ×
__À̽ºÆ¼¿À¸¦ ÀÌ¿ëÇÑ ¼­ºñ½º ¸Þ½Ã ¼Ò°³
____±âÁ¸ ¸¶ÀÌÅ©·Î¼­ºñ½º¿¡ À̽ºÆ¼¿À ÇÁ·Ï½Ã »ðÀÔ
____À̽ºÆ¼¿ÀÀÇ API °´Ã¼ ¼Ò°³
____À̽ºÆ¼¿ÀÀÇ ·±Å¸ÀÓ ÄÄÆ÷³ÍÆ® ¼Ò°³
____¸¶ÀÌÅ©·Î¼­ºñ½º ȯ°æÀÇ º¯°æ »çÇ×
__Äí¹ö³×Ƽ½º Ŭ·¯½ºÅÍ¿¡ À̽ºÆ¼¿À ¹èÆ÷
____À̽ºÆ¼¿À ¼­ºñ½º¿¡ ´ëÇÑ Á¢±Ù ¼³Á¤
__¼­ºñ½º ¸Þ½Ã »ý¼º
____¼Ò½º ÄÚµå º¯°æ
____Ä¿¸Çµå¸¦ ½ÇÇàÇØ ¼­ºñ½º ¸Þ½Ã »ý¼º
__¼­ºñ½º ¸Þ½Ã °üÂû
__¼­ºñ½º ¸Þ½Ã º¸¾È
____HTTPS¿Í ÀÎÁõ¼­·Î ¿ÜºÎ ¿£µåÆ÷ÀÎÆ® º¸È£
____OAuth 2.0/OIDC Á¢±Ù ÅäÅ«À» »ç¿ëÇÑ ¿ÜºÎ ¿äû ÀÎÁõ
____»óÈ£ ÀÎÁõÀ» »ç¿ëÇÑ ³»ºÎ Åë½Å º¸È£
__¼­ºñ½º ¸Þ½ÃÀÇ Åº·Â¼º È®º¸
____°áÇÔÀ» »ðÀÔÇØ Åº·Â¼º Å×½ºÆ®
____Áö¿¬À» »ðÀÔÇØ Åº·Â¼º Å×½ºÆ®
__ºñ°¡µ¿ ½Ã°£ ¾øÀÌ ¹èÆ÷ ¼öÇà
____¼Ò½º ÄÚµå º¯°æ
____v1 ¹× v2 ¹öÀüÀÇ ¸¶ÀÌÅ©·Î¼­ºñ½º ¹èÆ÷
____¸ðµç Æ®·¡ÇÈÀÌ v1 ¹öÀüÀÇ ¸¶ÀÌÅ©·Î¼­ºñ½º·Î Àü´ÞµÇ´ÂÁö È®ÀÎ
____Ä«³ª¸®¾Æ Å×½ºÆ® ½ÇÇà
____ºí·ç/±×¸° Å×½ºÆ® ½ÇÇà
__µµÄ¿ ÄÄÆ÷Áî·Î Å×½ºÆ® ½ÇÇà
__¿ä¾à
__Áú¹®


19Àå. EFK ½ºÅÃÀ» »ç¿ëÇÑ ·Î±ë Áß¾ÓÈ­
__±â¼ú ¿ä±¸ »çÇ×
__Ç÷ç¾ðƼµå ±¸¼º
____Ç÷ç¾ðƼµå ¼Ò°³
____Ç÷ç¾ðƼµå ±¸¼º
__Äí¹ö³×Ƽ½º¿¡ EFK ½ºÅà ¹èÆ÷
____¸¶ÀÌÅ©·Î¼­ºñ½º ºôµå ¹× ¹èÆ÷
____ÀÏ·¡½ºÆ½¼­Ä¡¿Í Å°¹Ù³ª ¹èÆ÷
____Ç÷ç¾ðƼµå ¹èÆ÷
__EFK ½ºÅà ½Ç½À
____Å°¹Ù³ª ÃʱâÈ­
____·Î±× ·¹ÄÚµå ºÐ¼®
____¸¶ÀÌÅ©·Î¼­ºñ½ºÀÇ ·Î±× ·¹ÄÚµå °Ë»ö
____±Ùº» ¿øÀÎ ºÐ¼® ¼öÇà
__¿ä¾à
__Áú¹®


20Àå. ¸¶ÀÌÅ©·Î¼­ºñ½º ¸ð´ÏÅ͸µ
__±â¼ú ¿ä±¸ »çÇ×
__ÇÁ·Î¸ÞÅ׿콺¿Í ±×¶óÆijª¸¦ »ç¿ëÇÑ ¼º´É ¸ð´ÏÅ͸µ
__¾ÖÇø®ÄÉÀÌ¼Ç ¸ÞÆ®¸¯ ¼öÁýÀ» À§ÇÑ ¼Ò½º ÄÚµå º¯°æ
__¸¶ÀÌÅ©·Î¼­ºñ½º ºôµå ¹× ¹èÆ÷
__±×¶óÆijª ´ë½Ãº¸µå¸¦ »ç¿ëÇÑ ¸¶ÀÌÅ©·Î¼­ºñ½º ¸ð´ÏÅ͸µ
____Å×½ºÆ®¿ë ·ÎÄà ¸ÞÀÏ ¼­¹ö ¼³Ä¡
____ºÎÇÏ Å×½ºÆ® ½ÇÇà
____Å°¾Ë¸®ÀÇ ±×¶óÆijª ´ë½Ãº¸µå
____±âÁ¸ ±×¶óÆijª ´ë½Ãº¸µå °¡Á®¿À±â
____»ç¿ëÀÚ Á¤ÀÇ ±×¶óÆijª ´ë½Ãº¸µå °³¹ß
__±×¶óÆijª °æ°í ¼³Á¤
____¸ÞÀÏ ±â¹Ý ¾Ë¸² ä³Î Á¤ÀÇ
____¼­Å¶ ºê·¹ÀÌÄ¿¿¡ °æ°í ¼³Á¤
____¼­Å¶ ºê·¹ÀÌÄ¿ °æ°í Å×½ºÆ®
__¿ä¾à
__Áú¹®

ÀúÀÚ¼Ò°³

¸Å±×³Ê½º ¶ó½¼ [Àú] ½ÅÀ۾˸² SMS½Åû
»ý³â¿ùÀÏ -

ÇØ´çÀÛ°¡¿¡ ´ëÇÑ ¼Ò°³°¡ ¾ø½À´Ï´Ù.

¹Ú±ÔÅ [¿ª] ½ÅÀ۾˸² SMS½Åû
»ý³â¿ùÀÏ -

ÇØ´çÀÛ°¡¿¡ ´ëÇÑ ¼Ò°³°¡ ¾ø½À´Ï´Ù.

ÀÌ »óÇ°ÀÇ ½Ã¸®Áî

(ÃÑ 20±Ç / ÇöÀ籸¸Å °¡´Éµµ¼­ 20±Ç)

¼±ÅÃÇÑ »óÇ° ºÏÄ«Æ®´ã±â
ÆîÃ帱â

(ÃÑ 21±Ç / ÇöÀ籸¸Å °¡´Éµµ¼­ 21±Ç)

¼±ÅÃÇÑ »óÇ° ºÏÄ«Æ®´ã±â
ÆîÃ帱â

Àü°øµµ¼­/´ëÇб³Àç ºÐ¾ß¿¡¼­ ¸¹Àº ȸ¿øÀÌ ±¸¸ÅÇÑ Ã¥

    ¸®ºä

    0.0 (ÃÑ 0°Ç)

    100ÀÚÆò

    ÀÛ¼º½Ã À¯ÀÇ»çÇ×

    ÆòÁ¡
    0/100ÀÚ
    µî·ÏÇϱâ

    100ÀÚÆò

    10.0
    (ÃÑ 0°Ç)

    ÆǸÅÀÚÁ¤º¸

    • ÀÎÅÍÆÄÅ©µµ¼­¿¡ µî·ÏµÈ ¿ÀǸ¶ÄÏ »óÇ°Àº ±× ³»¿ë°ú Ã¥ÀÓÀÌ ¸ðµÎ ÆǸÅÀÚ¿¡°Ô ÀÖÀ¸¸ç, ÀÎÅÍÆÄÅ©µµ¼­´Â ÇØ´ç »óÇ°°ú ³»¿ë¿¡ ´ëÇØ Ã¥ÀÓÁöÁö ¾Ê½À´Ï´Ù.

    »óÈ£

    (ÁÖ)±³º¸¹®°í

    ´ëÇ¥ÀÚ¸í

    ¾Èº´Çö

    »ç¾÷ÀÚµî·Ï¹øÈ£

    102-81-11670

    ¿¬¶ôó

    1544-1900

    ÀüÀÚ¿ìÆíÁÖ¼Ò

    callcenter@kyobobook.co.kr

    Åë½ÅÆǸž÷½Å°í¹øÈ£

    01-0653

    ¿µ¾÷¼ÒÀçÁö

    ¼­¿ïƯº°½Ã Á¾·Î±¸ Á¾·Î 1(Á¾·Î1°¡,±³º¸ºôµù)

    ±³È¯/ȯºÒ

    ¹ÝÇ°/±³È¯ ¹æ¹ý

    ¡®¸¶ÀÌÆäÀÌÁö > Ãë¼Ò/¹ÝÇ°/±³È¯/ȯºÒ¡¯ ¿¡¼­ ½Åû ¶Ç´Â 1:1 ¹®ÀÇ °Ô½ÃÆÇ ¹× °í°´¼¾ÅÍ(1577-2555)¿¡¼­ ½Åû °¡´É

    ¹ÝÇ°/±³È¯°¡´É ±â°£

    º¯½É ¹ÝÇ°ÀÇ °æ¿ì Ãâ°í¿Ï·á ÈÄ 6ÀÏ(¿µ¾÷ÀÏ ±âÁØ) À̳»±îÁö¸¸ °¡´É
    ´Ü, »óÇ°ÀÇ °áÇÔ ¹× °è¾à³»¿ë°ú ´Ù¸¦ °æ¿ì ¹®Á¦Á¡ ¹ß°ß ÈÄ 30ÀÏ À̳»

    ¹ÝÇ°/±³È¯ ºñ¿ë

    º¯½É ȤÀº ±¸¸ÅÂø¿À·Î ÀÎÇÑ ¹ÝÇ°/±³È¯Àº ¹Ý¼Û·á °í°´ ºÎ´ã
    »óÇ°À̳ª ¼­ºñ½º ÀÚüÀÇ ÇÏÀÚ·Î ÀÎÇÑ ±³È¯/¹ÝÇ°Àº ¹Ý¼Û·á ÆǸÅÀÚ ºÎ´ã

    ¹ÝÇ°/±³È¯ ºÒ°¡ »çÀ¯

    ·¼ÒºñÀÚÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¼Õ½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì
    (´ÜÁö È®ÀÎÀ» À§ÇÑ Æ÷Àå ÈѼÕÀº Á¦¿Ü)

    ·¼ÒºñÀÚÀÇ »ç¿ë, Æ÷Àå °³ºÀ¿¡ ÀÇÇØ »óÇ° µîÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì
    ¿¹) È­ÀåÇ°, ½ÄÇ°, °¡ÀüÁ¦Ç°(¾Ç¼¼¼­¸® Æ÷ÇÔ) µî

    ·º¹Á¦°¡ °¡´ÉÇÑ »óÇ° µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì
    ¿¹) À½¹Ý/DVD/ºñµð¿À, ¼ÒÇÁÆ®¿þ¾î, ¸¸È­Ã¥, ÀâÁö, ¿µ»ó È­º¸Áý

    ·½Ã°£ÀÇ °æ°ú¿¡ ÀÇÇØ ÀçÆǸŰ¡ °ï¶õÇÑ Á¤µµ·Î °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì

    ·ÀüÀÚ»ó°Å·¡ µî¿¡¼­ÀÇ ¼ÒºñÀÚº¸È£¿¡ °üÇÑ ¹ý·üÀÌ Á¤ÇÏ´Â ¼ÒºñÀÚ Ã»¾àöȸ Á¦ÇÑ ³»¿ë¿¡ ÇØ´çµÇ´Â °æ¿ì

    »óÇ° Ç°Àý

    °ø±Þ»ç(ÃâÆÇ»ç) Àç°í »çÁ¤¿¡ ÀÇÇØ Ç°Àý/Áö¿¬µÉ ¼ö ÀÖÀ½

    ¼ÒºñÀÚ ÇÇÇغ¸»ó
    ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó

    ·»óÇ°ÀÇ ºÒ·®¿¡ ÀÇÇÑ ±³È¯, A/S, ȯºÒ, Ç°Áúº¸Áõ ¹× ÇÇÇغ¸»ó µî¿¡ °üÇÑ »çÇ×Àº ¼ÒºñÀÚºÐÀïÇØ°á ±âÁØ (°øÁ¤°Å·¡À§¿øȸ °í½Ã)¿¡ ÁØÇÏ¿© 󸮵Ê

    ·´ë±Ý ȯºÒ ¹× ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó±Ý Áö±Þ Á¶°Ç, ÀýÂ÷ µîÀº ÀüÀÚ»ó°Å·¡ µî¿¡¼­ÀÇ ¼ÒºñÀÚ º¸È£¿¡ °üÇÑ ¹ý·ü¿¡ µû¶ó ó¸®ÇÔ

    (ÁÖ)KGÀ̴Ͻýº ±¸¸Å¾ÈÀü¼­ºñ½º¼­ºñ½º °¡ÀÔ»ç½Ç È®ÀÎ

    (ÁÖ)ÀÎÅÍÆÄÅ©Ä¿¸Ó½º´Â ȸ¿ø´ÔµéÀÇ ¾ÈÀü°Å·¡¸¦ À§ÇØ ±¸¸Å±Ý¾×, °áÁ¦¼ö´Ü¿¡ »ó°ü¾øÀÌ (ÁÖ)ÀÎÅÍÆÄÅ©Ä¿¸Ó½º¸¦ ÅëÇÑ ¸ðµç °Å·¡¿¡ ´ëÇÏ¿©
    (ÁÖ)KGÀ̴Ͻýº°¡ Á¦°øÇÏ´Â ±¸¸Å¾ÈÀü¼­ºñ½º¸¦ Àû¿ëÇÏ°í ÀÖ½À´Ï´Ù.

    ¹è¼Û¾È³»

    • ±³º¸¹®°í »óÇ°Àº Åùè·Î ¹è¼ÛµÇ¸ç, Ãâ°í¿Ï·á 1~2Àϳ» »óÇ°À» ¹Þ¾Æ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.

    • Ãâ°í°¡´É ½Ã°£ÀÌ ¼­·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä »óÇ°À» ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.

    • ±ººÎ´ë, ±³µµ¼Ò µî ƯÁ¤±â°üÀº ¿ìü±¹ Åù踸 ¹è¼Û°¡´ÉÇÕ´Ï´Ù.

    • ¹è¼Ûºñ´Â ¾÷ü ¹è¼Ûºñ Á¤Ã¥¿¡ µû¸¨´Ï´Ù.

    • - µµ¼­ ±¸¸Å ½Ã 15,000¿ø ÀÌ»ó ¹«·á¹è¼Û, 15,000¿ø ¹Ì¸¸ 2,500¿ø - »óÇ°º° ¹è¼Ûºñ°¡ ÀÖ´Â °æ¿ì, »óÇ°º° ¹è¼Ûºñ Á¤Ã¥ Àû¿ë