본문 바로가기

backend4

CI/CD 란 CI (Continuous Integration)란 여러 개발자가 작성하거나 수정한 소스를 지속적으로 통합하고 테스트하는 것을 뜻한다. CD (Continuous Delivery/Deployment)란 개발, 통합, 배포, 릴리즈, 테스트를 자동화하여 지속적으로 배포하는 것을 뜻한다. 그래서 왜 CI/CD라는 말이 나오게 되었는가..? 프로그래밍을 공부하다보면 컴파일, 빌드, 배포라는 단어를 들어 보았을 것이다. 이 3개의 단어를 묶어서 간단한 예로 표현해 보겠다. 우리를 번역하는 사람이라고 생각해보자. 어느날 영문으로 된 책을 한글로 번역을 해 책을 새로 써야하는 일이 생겼다. 여기서 컴파일은 일단 영문으로 된 책을 한글로 번역하는 것이다. 그리고 번역한 글을 책으로 엮는 것이 빌드라고 할 수 있다. .. 2021. 4. 27.
Connection Poll (커넥션풀) 커넥션 풀이란? 데이터베이스와 연결된 커넥션을 미리 만들어서 풀(pool)속에 저장해 두고 있다가 필요할 때 커넥션을 풀에서 쓰고 다시 반납하는 기법을 말한다. - 웹 컨테이너가 실행되면서 커넥션(Connection) 객체를 미리 풀(pool)에 생성해 둔다. - DB와 연결된 커넥션을 미리 생성해서 풀 속에 저장해 두고 있다가 필요할 때 가져다 쓰고 반납한다. - 미리 생성해두기 때문에 DB와의 부하를 줄이고 유동적으로 연결을 관리 할 수 있다. 왜 커넥션풀을 사용하는가? 그래서 커넥션 풀은 언제 어떨때 사용하는가? 예전에 JSP에 대해서 공부를 했거나 프로젝트를 해보신 분이라면 아래와 같은 소스를 본적이 있을 것이다. Connection conn = null; PreparedStatement pstm.. 2021. 4. 24.
메세지 큐 메시지 지향 미들웨어(Message Oriented Middleware : MOM) 은 비동기 메시지를 사용하는 다른 응용 프로그램 사이에서 데이터 송수신을 의미한다. MOM을 구현한 시스템을 메시지 큐 (Message Queue : MQ) 라고 한다. 프로그래밍에서 MQ는 프로세스 또는 프로그램 인스턴스가 데이터를 서로 교환할때 사용하는 방법이다. 이때 데이터를 교환할 때 시스템이 관리하는 메시지 큐를 이용하는 것이 특징이다. 이렇게 서로 다른 프로세스나 프로그램 사이에 메시지를 교환할 때 AMQP(Advanced Message Queuing Protocol)을 이용한다. AMQP는 메시지 지향 미들웨어를 위한 개방형 표준 응용 계층 프로토콜이다. 메시지 큐의 장점으로는 비동기(Asynchronous).. 2021. 4. 14.
메시징 시스템(Messaging System) 메시징 시스템이란 ? 간단히 설명 드리면, 메시징 시스템이란 로그 데이터, 이벤트 메시지 등 API로 호출할 때 보내는 데이터들을 처리하는 시스템이라고 생각하면 된다. 다들 MSA라고 개발자라면 한번 쯤은 들어봤을 단어이다. (MSA에 대해 잘모르신다면 구글링..) 분산 어플리케이션이 급격하게 증가하면서 이전에 발생이 적었던 동기화, 안정성, 확장성 그리고 보완 등에 문제가 발생하게 되었다. 이에 대한 한가지 해결책은 메시지를 통해 각 컴포넌트 사이의 결합성(coupling)을 약화시키는 메시징 시스템이다. 메시징 시스템은 분리된 결합되어 있지 않은 어플리케이션이 비동기적으로 신뢰성있게 통신할 수 있도록 해 준다. 메시징 시스템 아키텍처는 일반적으로 각 컴포넌트 사이의 관계를 클라이언트/서버 모델에서 피.. 2021. 4. 13.