Apache와 Tomcat을 연동해서 사용하는 이유에 대해서

  깊은 개념은 아니고, 선생님께서 말씀해주신 내용이 피와살이 될거같애서 여기다 정리해봤다. 오늘 오전 수업에서는 GCP의 was서버에 설치한 tomcat과 apache를 연동하는 실습을 했다. 그 과정에서 선생님께서 구조에대해서 설명해주셨는데 요점을 정리해봤다. 





  유저가 url을 통해 80포트인 Apache로 먼저 접근하면 connector역할을 하는 AJP를통해 Tomcat에서 동적인 기능을 하는 jsp를 받아와서 그걸 유저에게 전달하는 형식을 그림으로 그렸다.


  역할을 설명하면 Apache는 정적인 부분만을 담당하고, 동적기능(jsp)를 받아오려면 Tomcat에 요청을 보냈다가 받아와야 한다. 때문에 둘을 붙여쓰는데 보다시피, Apache는 C언어 기반으로 만들어져 성능이 뛰어나고 빠른반면에, Tomcat은 Java기반으로 만들어져 속도가 느린면을 보여준다. 


  근데 왜 둘을 붙여쓰는가? (예를들어, Apache에서 처리시간이 1초가 걸리고, Tomcat에서 2초가 걸린다면 총 3초가 걸릴텐데...)


  그 이유는 다음과 같다. was서버에서 무엇보다 처리하기 어려운 부분은 유저가 접속할때마다 발생하는 session을 처리하는 것. 근데 Tomcat만 사용한다면 만약 수백명이 접속한다면 그걸 처리하는데 시간이 너무 오래걸린다는 것이다. 그때 둘 사이의 교량(connector)역할을 하는 AJP에 의해 제 역할을 발휘하는게 Apache! Tomcat에서 한번 처리된 session은 Apache로 cache되서 Apache에 의해 알아서 분리되어 관리된다.


  따라서 효율성과 성능면에서 더 좋은 기능을 발휘 할 수 있기 때문에 이와 같이 사용한다는 것이다. 실제로는 현업에서 Apache에 발생할 상황을 대비해서 Apache를 2개정도 사용한다면 그와 연결된 Tomcat이 여러개라고 한다. 




+ 수업내용 정리)


Compile한다는 것? 

- 메모리를 확보한다는 것. 운영체제가 바뀔때마다 한번씩 해야 한다. 


Java로 구현한 프로그램의 특징

- 탄탄한 서버 구현에 용이하다.

- 이전에 사용되고 있던 Legacy가 너무 방대해서 이 언어가 사라지는데 많은 시간이 소모된 예정(추측)

- 현재 Javascript가 많이 쓰이고 있기 때문에, 그만큼 자바는 더욱더 서서히 사라질 예정!

'Computer' 카테고리의 다른 글

오라클(oracle)이 사용한 포트를 Tomcat에 할당하기  (0) 2018.08.17
와....몇시냐 새벽4시...  (0) 2018.08.10

댓글

Designed by JB FACTORY