컨테이너 오케스트레이션의 등장 쿠버네티스에 대해서 알아보기 전, 왜 쿠버네티스가 등장했는지 부터 알아보자! 전통적인 환경에서의 배포(On-premise) 초기의 개발 환경은 물리적 서버에서 애플리케이션을 실행했다. 이 방법은 물리적 서버에 애플리케이션의 변경 사항을 쉽게 적용할 수 없고, 물리적 서버를 유지 관리하는데도 비용이 많이 생겼다. 한 물리 서버에 여러 애플리케이션이 구동되면, 다른 애플리케이션 성능이 저하될 수 있어 리소스 할당 문제가 발생했다. 때문에 여러 물리 서버를 나누어 애플리케이션을 실행했지만, 많은 비용이 듦과 비효율적인 구조를 구축하게 됐다. 가상 환경에서의 배포(VM) 물리적 환경에 대한 솔루션으로 가상화가 도입되었다. 단일한 물리적 서버의 CPU에서 여러 대의 가상머신을 실행할..
https://memodayoungee.tistory.com/157 [MSA] Spring Boot 프로젝트에서 MSA 실습하기(Spring Cloud) - 1 Spring 기반 프로젝트에서 MSA를 구현하기 위해서 Spring Cloud에 대해 알 필요가 있다. Spring Cloud : 개발자가 분산 시스템에서 일부 공통 패턴(예: 구성 관리, 서비스 검색, 회로 차단기, 지능형 라우팅, memodayoungee.tistory.com Spring Cloud를 활용해서 Eureka Server, API Gateway, Eureka Client 개발까지 완료했습니다. 이번에는 Kafka를 활용해서 Service끼리 통신하는 방법에 대해서 실습하겠습니다. RabbitMQ를 사용할 수 있겠지만, 개인적으로 ..
Spring 기반 프로젝트에서 MSA를 구현하기 위해서 Spring Cloud에 대해 알 필요가 있다. Spring Cloud : 개발자가 분산 시스템에서 일부 공통 패턴(예: 구성 관리, 서비스 검색, 회로 차단기, 지능형 라우팅, 마이크로 프록시, 제어 버스, 일회성 토큰, 글로벌 잠금, 리더십 선택, 분산)을 신속하게 구축할 수 있는 도구를 제공한다. 세션, 클러스터 상태) 쉽게 말해 분산 시스템에서 필요한 다양한 기능들을 제공하고 있으며, MSA를 구성할 때 유용하게 사용되는 서브 프로젝트이다. 위의 그림을 살펴보면, MSA를 구축하기 위해서 API 게이트웨이가 요청을 처리하고 그 요청을 처리할 서비스에게 다시 그 요청을 위임해준다. 이와 같은 프로세스가 구축되기 위해서는 호출할 서비스를 찾는 매..
모놀리식 아키텍처란? 모놀리식 아키텍쳐(Monolithic Architecture, MA): 하나의 통합된 코드 베이스로 여러 비즈니스 기능을 수행하는 전통적인 아키텍처 스타일이다. 단일 애플리케이션 내에 서비스의 모든 로직이 들어가 있는 구조이다. 쉽게 말해 하나의 큰 목적이 있는 서비스 또는 애플리케이션에 여러 기능이 통합돼 있는 구조를 의미한다. 그림과 같이 다양한 서비스들이 단일 애플리케이션 안에 포함되어 있는 구조라고 생각하면 된다. 단일 DB와 연결해서 사용하고 보안, 설정등 모두 공통으로 사용하기 때문에 개발 속도가 빠르다. 모놀리식 아키텍쳐의 장점 간단한 유지보수 단일 코드 베이스를 가지고 있기 때문에 변경 사항을 적용하고 유비보수하는 것이 상대적으로 간단하다. 이로 인해 코드의 일관성을 ..
깃허브 액션으로 CI하는 중 발생한 오류. 구글링해서 찾아보니 권한문제라고 한다. 파일을 실행할 수 있는 권한이 없다는 것이 문제였다. 해결법은 의의로 간단했다. git update-index --chmod=+x gradlew 에러가 발생한 프로젝트의 gradlew 파일의 권한 설정을 다시 해주고 그대로 Push 빌드 성공! Reference https://spacetech.dk/error-gradle-script-home-runner-work-gradlew-is-not-executable.html
4:00:35 PM: npm ERR! code 1 4:00:35 PM: npm ERR! path /opt/build/repo/node_modules/node-sass 4:00:35 PM: npm ERR! command failed 4:00:35 PM: Creating deploy upload records 4:00:35 PM: npm ERR! command sh -c node scripts/build.js deploy하는데 뭐 ,, 이런 오류가 떴다. 배포가 실패 난 원인을 1시간동안 신나게 찾다가 로그가 있다는걸 알았다. 아, sass 때문이구나 ~ 그리고 또 열심히 서치하다 1시간을 그대로 흘려보냈다~ node-sass를 uninstall 하고 sass랑 뭘 또 설치 하라 했었는데.. 이 방법은 fa..