๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT

Apache ์žฌ๋‹จ: ์—ญ์‚ฌ, ํ”„๋กœ์ ํŠธ, ๊ธฐ์—ฌ

by ๐Ÿ’ฒ๐ŸŽตโœ–๏ธโœ”๏ธโ˜ผ 2024. 2. 18.
728x90

Apache ์žฌ๋‹จ: ์—ญ์‚ฌ, ํ”„๋กœ์ ํŠธ, ๊ธฐ์—ฌ

1. Apache ์žฌ๋‹จ์˜ ์—ญ์‚ฌ์™€ ์œ ๋ž˜

1.1 ์„ค๋ฆฝ๊ณผ ์ดˆ๊ธฐ ํ™œ๋™ (1999๋…„)

  • 1999๋…„: Apache ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ(ASF)์€ Apache HTTP Server์˜ ์ง€์›๊ณผ ๊ฐœ๋ฐœ์„ ๋ชฉ์ ์œผ๋กœ ์„ค๋ฆฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Apache HTTP Server: ์ดˆ๊ธฐ์—๋Š” ์ฃผ๋กœ Apache HTTP Server์˜ ๊ฐœ๋ฐœ๊ณผ ๊ด€๋ฆฌ์— ์ค‘์ ์„ ๋‘์—ˆ์Šต๋‹ˆ๋‹ค.

1.2 ์„ฑ์žฅ๊ณผ ํ”„๋กœ์ ํŠธ ๋‹ค๋ณ€ํ™” (2000๋…„๋Œ€)

  • ํ”„๋กœ์ ํŠธ ๋‹ค๋ณ€ํ™”: ASF๋Š” Apache ํ”„๋กœ์ ํŠธ ์™ธ์—๋„ ์—ฌ๋Ÿฌ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋“ค์„ ์ด๊ด„ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐœ๋ฐฉ์  ๊ธฐ์—ฌ ์ฒด๊ณ„: Apache๋Š” ๊ฐœ๋ฐฉ์ ์ด๊ณ  ๋‹ค์–‘ํ•œ ๊ธฐ์—ฌ ์ฒด๊ณ„๋ฅผ ๊ตฌ์ถ•ํ•˜์—ฌ ์„ธ๊ณ„ ๊ฐ์ง€์˜ ๊ธฐ์—ฌ์ž๋“ค๊ณผ ํ˜‘์—…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

2. Apache ์žฌ๋‹จ์ด ๊ด€๋ฆฌํ•˜๋Š” ์ฃผ์š” ํ”„๋กœ์ ํŠธ

2.1 Apache HTTP Server

  • ํŠน์ง•: ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์›น ์„œ๋ฒ„ ์ค‘ ํ•˜๋‚˜๋กœ, ํ™•์žฅ์„ฑ๊ณผ ์•ˆ์ •์„ฑ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ์—ฌ์™€ ๊ฐœ๋ฐœ: ์ „ ์„ธ๊ณ„์˜ ์ž๋ฐœ์ ์ธ ๊ฐœ๋ฐœ์ž๋“ค๊ณผ ๊ธฐ์—…๋“ค์ด ๊ธฐ์—ฌํ•˜๋ฉฐ, ์ฃผ๊ธฐ์ ์ธ ๋ฆด๋ฆฌ์Šค์™€ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

2.2 Apache Tomcat

  • ํŠน์ง•: Java Servlet, JSP ๋“ฑ์„ ์‹คํ–‰ํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปจํ…Œ์ด๋„ˆ์ž…๋‹ˆ๋‹ค.
  • ๊ธฐ์—ฌ์™€ ๊ฐœ๋ฐœ: ๋‹ค์ˆ˜์˜ ๊ฐœ๋ฐœ์ž๋“ค์ด ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜์—ฌ Tomcat์„ ๊ฐœ์„ ํ•˜๊ณ  ํ™•์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„๊ทธ ๋ฆฌํฌํŒ…, ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋“ฑ์— ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.

2.3 Apache Hadoop

  • ํŠน์ง•: ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ์—ฌ์™€ ๊ฐœ๋ฐœ: ๋‹ค์–‘ํ•œ ๊ธฐ์—… ๋ฐ ๊ฐœ๋ฐœ์ž๋“ค์ด Hadoop์˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๊ณ  ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š”๋ฐ ๊ธฐ์—ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

2.4 Apache Kafka

  • ํŠน์ง•: ๋ถ„์‚ฐ ์ŠคํŠธ๋ฆฌ๋ฐ ํ”Œ๋žซํผ์œผ๋กœ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ์—ฌ์™€ ๊ฐœ๋ฐœ: ์ „ ์„ธ๊ณ„์˜ ๊ธฐ์—… ๋ฐ ๊ฐœ๋ฐœ์ž๋“ค์ด Kafka๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

2.5 Apache Flink

  • ํŠน์ง•: ๋ถ„์‚ฐํ˜• ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์—”์ง„์ž…๋‹ˆ๋‹ค.
  • ๊ธฐ์—ฌ์™€ ๊ฐœ๋ฐœ: Flink ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ์ƒˆ๋กœ์šด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ๊ธฐ๋Šฅ ๊ฐœ์„ , ๋ฒ„๊ทธ ์ˆ˜์ • ๋“ฑ ๋‹ค์–‘ํ•œ ์ธก๋ฉด์—์„œ ๊ธฐ์—ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

2.6 Apache ZooKeeper

  • ํŠน์ง•: ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์˜ ์ฝ”๋””๋„ค์ด์…˜ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋กœ, ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ์˜ ์ผ๊ด€์„ฑ๊ณผ ๋™๊ธฐํ™”๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ์—ฌ์™€ ๊ฐœ๋ฐœ: ZooKeeper๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋ฐ˜์˜ ๊ฐœ๋ฐœ ๋ชจ๋ธ์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ๊ธฐ์—ฌ๊ฐ€ ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

2.7 Apache HBase

  • ํŠน์ง•: ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ถ„์‚ฐ ์ €์žฅ ์‹œ์Šคํ…œ์œผ๋กœ, Hadoop์˜ HDFS ์ƒ์— ๊ตฌ์ถ•๋˜์–ด ๋Œ€์šฉ๋Ÿ‰ ๋ฐ ๊ณ ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ์—ฌ์™€ ๊ฐœ๋ฐœ: HBase๋Š” ์˜คํ”ˆ ์†Œ์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ฐธ์—ฌ๋ฅผ ํ†ตํ•ด ๊ธฐ๋Šฅ ํ™•์žฅ ๋ฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ์ด ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

2.8 Apache Beam

  • **ํŠน

์ง•**: ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์—”์ง„์—์„œ ์ผ๊ด€๋œ ๋ฐฉ์‹์œผ๋กœ ๋ฐฐ์น˜ ๋ฐ ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์ •์˜ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

  • ๊ธฐ์—ฌ์™€ ๊ฐœ๋ฐœ: Beam์€ ๋‹ค์–‘ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ตฌ์„ฑ์›๋“ค์ด ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ, ๋ฒ„๊ทธ ์ˆ˜์ •, ๋ฌธ์„œ ์ž‘์„ฑ ๋“ฑ ๋‹ค์–‘ํ•œ ์ธก๋ฉด์—์„œ ๊ธฐ์—ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

2.9 Apache Hudi

  • ํŠน์ง•: Apache Hudi๋Š” Hadoop ๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ์ž‘๋™ํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.
  • ๊ธฐ์—ฌ์™€ ๊ฐœ๋ฐœ: Hudi ํ”„๋กœ์ ํŠธ๋Š” ๊ฐœ๋ฐฉ์ ์ธ ๊ธฐ์—ฌ ์ฒด๊ณ„๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ฐธ์—ฌํ•˜๋ฉฐ ์„ฑ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

2.10 Apache Storm

  • ํŠน์ง•: ๋ถ„์‚ฐํ˜• ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ๋Œ€๊ทœ๋ชจ ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ ๋ฐ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ์—ฌ์™€ ๊ฐœ๋ฐœ: Storm ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ์ž์™€ ๊ธฐ์—…์—์„œ์˜ ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ์ง€์†์ ์œผ๋กœ ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

3. Apache ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜๋Š” ๋ฐฉ์‹

3.1 ๊ธฐ์—ฌ์ž์˜ ๋‹ค์–‘ํ•œ ์—ญํ• 

  • ์ฝ”๋“œ ๊ธฐ์—ฌ: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€, ๋ฒ„๊ทธ ์ˆ˜์ • ๋“ฑ ์†Œ์Šค ์ฝ”๋“œ์— ์ง์ ‘์ ์ธ ๊ธฐ์—ฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฌธ์„œ ์ž‘์„ฑ: ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ๊ฐœ์„ ํ•˜์—ฌ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ…Œ์ŠคํŠธ ๋ฐ ๋ฒ„๊ทธ ๋ฆฌํฌํŒ…: ํ”„๋กœ์ ํŠธ์˜ ์•ˆ์ •์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋ฒ„๊ทธ๋ฅผ ๋ฆฌํฌํŒ…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3.2 ์˜ˆ์‹œ: Apache Tomcat ๊ธฐ์—ฌ ์‚ฌ๋ก€

  • ๋ฒ„๊ทธ ์ˆ˜์ •: ๊ธฐ์—ฌ์ž๋“ค์€ Tomcat์˜ JIRA ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ๋ฒ„๊ทธ๋ฅผ ์‹ ๊ณ ํ•˜๊ณ  ํ•ด๋‹น ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ฐ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฌธ์„œ ๊ฐœ์„ : Tomcat ๋ฌธ์„œ์˜ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์„ ์‹๋ณ„ํ•˜๊ณ  ๋ณด์™„ํ•˜์—ฌ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋” ๋‚˜์€ ๋ฌธ์„œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

4. ๊ฒฐ๋ก 

Apache ์žฌ๋‹จ์€ ์ „ ์„ธ๊ณ„์˜ ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ์—ฌ์ž๋“ค์ด ์ฐธ์—ฌํ•˜๊ณ  ํ˜‘๋ ฅํ•˜๋Š” ์ค‘์‹ฌ์ง€๋กœ์„œ, ๋‹ค์–‘ํ•œ ํ”„๋กœ์ ํŠธ๋“ค์„ ํ†ตํ•ด ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐ ํ˜‘์—…์˜ ํšจ๊ณผ์ ์ธ ๋ชจ๋ธ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐฉ์ ์ด๊ณ  ๋‹ค์–‘ํ•œ ๊ธฐ์—ฌ ๋ฐฉ์‹์„ ํ†ตํ•ด ์ „ ์„ธ๊ณ„์˜ ๊ธฐ์ˆ  ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํ•จ๊ป˜ ์„ฑ์žฅํ•˜๊ณ  ์žˆ๋Š” Apache ์žฌ๋‹จ์€ ์˜คํ”ˆ ์†Œ์Šค ์ƒํƒœ๊ณ„์˜ ์ค‘์š”ํ•œ ์ฃผ์—ญ ์ค‘ ํ•˜๋‚˜๋กœ ์ž๋ฆฌ๋งค๊น€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€