마이크로서비스(MSA) 아키텍처 란? MSA 아키텍처는 하나의 큰 애플리케이션을 여러 개의 작은 애플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 형태를 말한다. 작은 레고 블록(microservice) 하나 하나를 붙여 어떠한 큰 결과물을 만드는 레고 놀이를 생각하면 이해하기 쉽다. 마이크로 서비스의 특징 각각의 서비스는 그 크기가 작을 뿐, 서비스 자체는 하나의 모놀리식 아키텍처와 유사한 구조를 갖는다. 각각의 서비스는 독립적으로 배포가 가능해야 한다. 각각의 서비스는 다른 서비스에 대한 의존성이 작아야 한다. 각 서비스는 개별 프로세스로 구동되며, REST API와 같은 가벼운 방식으로 통신되어야 함. 마이크로서비스(MSA) 아키텍처 장점 배포 관점 서비스 별 개별 배포가 가능하다. (배포 시 ..
분류 전체보기
모놀리식 아키텍처 (Monolithic Architecture) 란? 모놀리식 아키텍처는 마이크로서비스(MSA) 아키텍처에 반대되는 개념으로, 애플리케이션의 모든 구성 요소가 한 프로젝트에 통합되어 있는 형태를 말한다. 모놀리식 아키텍처 (Monolithic Architecture) 장점 개발 초기에 단순한 아키텍처 구조로 인해 개발에 용이하다. 어떤 서비스든지 개발되어 있는 환경이 같아서 복잡하지 않다. 배포가 간단하다. 확장성이 쉽다. 로드밸런스를 이용하여 로드 부하를 나눠 가지는 방식으로 진행한다. 쉽게 고가용성 서버 환경을 만들 수 있다. End-to-End 테스트가 용이하다. 모놀리식 아키텍처 (Monolithic Architecture) 단점 프로젝트의 규모가 커짐에 따라 애플리케이션 구동 시..
·SQL
기본 문법 SELECT COUNT('컬럼명') FROM 테이블 명 COUNT() 함수 사용 예시 SELECT COUNT(*) --전체 ROW 수 , COUNT(USER_NAME) -- USER_NAME 수 COUNT FROM USER
·Git
Protected Banch란? 어떤 브랜치를 어떤 행위에 대해서 보호하기 위한 조치이다. 예를 들어 우리의 소중한 마스터 브랜치는 언제나 잘 작동하는 올바른 코드가 올라가야 할 것이다. 이 원칙을 지키기 위해 마스터 브랜치에는 항상 올바른 커밋 혹은 머지가 되어야 할 것이다. 우리는 이러한 브랜치를 보호하기 위해서 브랜치들에 대해 protection rule들을 설정 해 줄 수 있다. pull을 받으려고 하는 경우 permission 에러 발생 처음 GitLab에서 프로젝트를 생성하면 master brach는 디폴트로 proteced 상태이다. 대개 프로젝트 생성후 초기에 브랜치 보호를 해제하지 않고 멤버가 master branch를 pull 또는 push 하려는 경우 발생한다. 에러 발생 원인 먼저 ..