본문 바로가기
반응형

java33

MVC와 DispatcherServlet에 대해서 이전 장까지 MyBatis와 커넥션풀의 활용, 그리고 트랜잭션에 대해 상세히 알아보았습니다. 개인적으로 이 정도의 환경이라면 소, 중형 서비스 구축에는 문제없을 정도로 환상적인 제작환경이 구축됬다고 할 수 있겠네요. 또 실제로 많은 웹개발자들이 이런 포맷을 사용하고 있구요. 이제 우리가 해야 할 것은 누구나 탐낼만한 좋은 개발환경을 구축했으니 드문드문 처리해야할 애매한 문제들을 하나씩 알아나가보는 과정입니다. 그 중 오늘은 우리가 해결해야할 것은 바로 web.xml에 설정한 DispatcherServlet에 대해 알아가고 발생할 수 있는 문제점을 해결하는 것입니다. 스프링MVC는 DispatcherServlet 등장으로 정말 엄청나게 web.xml의 역할이 축소되었습니다. 예전같으면 서블릿을 URL로 활.. 2019. 11. 12.
RabbitMQ 이번 글은 저번 메시지 큐(Message Queue) 훑어보기에 이어 Spring Boot 에서 RabbitMQ를 활용한 예제에 대한 글입니다. 1. 어떻게 RabbitMQ를 접하게 되었는가..? 2. 왜 RabbitMQ인가? 3. 설치 과정 4. 개념 정리 5. 예제 1. 어떻게 RabbitMQ를 접하게 되었는가..? 이번에 사내 프로젝트를 진행하면서, 많은 데이터 처리가 웹서버만으로 힘들기 때문에 여러 방법을 구상 중 이였습니다. 앞단에 로드밸런싱을 해볼까? 서버사이드에 분산은 되겠지만, DB가 버텨줄지 의문이였습니다. 기존 시스템 또한 DB가 말썽이였기 때문입니다. 또한 DB 사이드에 session을 무한정 늘릴 수도 없습니다. 그래서 선택하게 된 것이 메시지큐입니다. 이미 몇 년전부터 많은 기업에.. 2019. 9. 20.
메시지 큐(Message Queue) 개념과 원리 웹 서버를 구성하게 되면 성능에 대한 고려는 빼먹을 수 없습니다. 데이터 처리를 하다보면 너무 많은 처리로 인해 대기하는 요청이 쌓이게 됩니다. 그리곤 서버의 성능이 저하되는데, 최악의 경우에는 서버가 다운되는 상황까지 직면하게 됩니다. (많이 안타까운 상황이죠...ㅠ) 이런 상황을 방지하기 위해 서버사이드에서는 로드밸런싱도 하고, DB사이드에서는 H/A, A/A 방식으로 구성도 하고 합니다. 하지만 여러가지 측면에서 볼 때, 비용도 많이 들고 DB사이드에서의 구성은 쉽지도 않습니다. 또한 DB 접속에 대한 한계도 있기 때문에 다른 방법을 택하게 될지도 모릅니다. 그래서 그나마 빠르고 좀 더 원활한 서비스(?)를 위해 비동기 메시지 처리 방식을 구성하게 됩니다. 간단하게 메시지큐를 설명하기에 앞서 그와 .. 2019. 9. 20.
JVM이란? ## 1. JVM이란? JVM은 물리적 머신을 소프트웨어 구현한 Java 프로그램을 실행할 수 있게 해주는 추상컴퓨팅 시스템입니다. Java는 WORA(Write Once Run Anywhere)의 철학을 위해 VM을 개발하였습니다. JVM은 OS에 상관없이 어느 환경에서도 Java가 실행이 가능토록 만들어 준 것입니다. Java를 컴파일 언어로서 실행하기 위해서는 컴파일을 거쳐야 합니다. Java 컴파일러는 .java 파일을 .class 파일로 컴파일 합니다. 이는 .java 파일을 Java byte code로 변환하여 .class 만드는 것입니다. Byte Code는 기계어가 아니기 때문에 OS에서 바로 실행이 되지 않습니다. 이를 해결하기 위해 JVM을 통해 .class 파일을 로드/해석하여 Jav.. 2019. 9. 19.
반응형