본문 바로가기

개발

(81)
Azure Virtual Machines 설명 Azure VM(가상 머신)을 사용하여 클라우드에서 VM을 만들고 사용할 수 있다 가상 머신은 다음이 필요할 때 선택하는 것이 좋다 - OS(운영 체제)에 대한 완전한 제어. - 사용자 지정 소프트웨어를 실행하는 기능. - 사용자 지정 호스팅 구성을 사용해야 하는 경우. 실제 하드웨어를 구입 및 유지 관리하지 않고도 가상화의 유연성을 제공해서 vm 을 쓴다. 하지만 VM에서 실행되는 소프트웨어를 구성, 업데이트 및 유지 관리는 따로 해줘야 한다. 예를 들어 운영체제의 보안 업그레이드 라던가 직접 설치한 자바 버전 패치라던가~~ 가상 머신 크기 집합 기존에는 용도가 같은 가상 머신을 여러 개 만들었을 경우라면 이것들이 모두 동일하게 구성되었는지 확인해야 합니다. 또한 모니터링 하면서 가상 머신을 늘려야 할..
Azure의 핵심 아키텍처 구성 요소 간단 정리 애저를 사용하게 되었는데 aws도 회사에서 쓰다가 모르겠고 이참에 한번 하면 나중에 aws 쓸때도 좋겟다 싶어서 아예 처음부터 개념을 잡아 보려고 공식홈페이지에서 자료를 조사해서 써본다. 애저(Azure)는 마이크로소프트(Microsoft)에서 제공하는 클라우드 컴퓨팅 플랫폼 Azure 서비스를 만들고 사용하려면 Azure 구독이 필요 자체 애플리케이션 및 비즈니스 요구 사항을 해결할 때는 Azure 계정을 만들어 구독을 생성해야 함 Azure 구독을 만든 후에는 각 구독 내에서 Azure 리소스를 만들 수 있다. 리소스: Azure에서 관리되는 엔터티입니다. Azure Virtual Machines, 가상 네트워크, 스토리지 계정 등을 예로 들 수 있다. 리소스 그룹: 구독에서 관련 리소스를 그룹화하는..
pm2 다운 node max-memory-restart 메모리 값 설정 대량 데이터 유입 시 지속적으로 pm2 로 기동된 node 의 worker 프로세스 다운 발생했다. pm2 에서 worker 가 죽으면 다시 restart 시키지 않아서 문제가 계속해서 발생했다. 해결할려고 했지만 원인을 파악하지 못해서 메모리를 늘리거나 임시조치밖에 취할수 없었고 해결하기 위해서 어떤 옵션이 있고 적용해야 하나 확인한 과정을 적는다 Node.js는 Chrome V8 JavaScript 엔진 으로 빌드된 JavaScript max-old-space-size 세팅 v8에서 제공하는 옵션중 하나 max-old-space-size을 세팅했다. -max-old-space-size=SIZE (in megabytes)# Sets the max memory size of V8's old memory ..
spring cloud stream rabbitmq 처리량을 늘리는 방법 Spring Cloud 란 마이크로 서비스를 구축하기 위한 프레임워크들 들어가기 전에 개념 정리 부터 해야할거 같아서 간단하게 찾아봤다. 마이크로서비스를 구축하기 위해 필요한 라이브러리의 집합 (프레임워크). Spring Cloud는 spring-cloud-xxxxx 프로젝트들의 umbrella 프로젝트이다. Spring Cloud Stream 외부 시스템에 연결할 수 있는 애플리케이션을 신속하게 구축할 수 있는 경량의 마이크로 서비스 프레임 워크. 메시지 기반 마이크로 서비스를 구현하기 위한 프레임 워크 → Spring Boot를 기반으로 DevOps 친화적인 마이크로 서비스 애플리케이션을 만들고 Spring Integration은 메시지 브로커와의 연결을 제공합니다. → Spring Cloud Str..
Spring Cloud 모듈들 간단한 설명 Spring cloud gateway - API Gateway는 API의 요청자인 Client(웹어플리케이션 또는 모바일앱)와 API의 제공자인 backend service를 연결하는 중계자 Spring cloud 커뮤니티에서 zuul 대신 권고하고 있는 API Gateway가 입니다. Spring Cloud Sleuth - Logging 하나의 Request에 대해 서버 전체에 걸쳐 동일한 UUID Spring Cloud Sleuth 사용시 Application 로그에 Trace ID(UUID)가 함께 출력 Trace ID - 하나의 Request에 대해 서버 전체에 걸쳐 동일한 UUID Eureka - 서비스 클라이언트가 서비스를 호출할때 서비스의 위치 (즉 IP주소와 포트)를 알아낼 수 있는 기능 ..
쉽게 이해할수 있는 Consistent Hashing 기존에 사내에서 발표했던 Consistent Hashing 발표정리한 문서 소개 David Kager 라는 사람에 의해서 처음 소개 현대물리학계의 거장으로 알려진 알란 히거(UC산타바바라)는 h 인덱스가 107, 노벨물리학상을 수상한 사람들의 평균 h 인덱스는 41 정도다. 논문 주소 : http://david.choffnes.com/classes/cs4700sp14/papers/akamai.pdf 무슨 내용일까..? 문제 발생 "핫스팟" 발생을 줄이는 데 사용할 수 있는 분산 네트워크에 대한 캐싱 프로토콜 노트북, 개인 휴대 정보 단말기 따위의 이동 단말기를 사용하여 액세스 포인트가 설치된 주변 지역에서 무선으로 네트워크에 접속하여 초고속 인터넷과 각종 콘텐츠를 이용할 수 있는 서비스 가능 지역 핫스팟..
도메인 주도 설계 - 동작하는 도메인 모델 만들기 도메인 모델은 다이어그램이 전달하고자 하는 아이디어다. 도메인 모델은 지식을 엄격하게 구성하고 선택적으로 추상화한 것이다. 도메인 주도 설계에서의 모델의 유용성 1. 모델과 핵심 설계는 서로 영향을 주며 구체화된다. -> 모델과 구현의 연결은 유지보수와 계속되는 기능 개선에 도움이 된다. 2. 모델은 모든 팀 구성원이 사용하는 언어의 중추다. -> 모델과 구현이 서로 연결되 있으므로 개발자는 이 언어를 토대로 프로그램에 관해 의견을 나눌 수 있다. 3. 모델은 지식의 정수만을 뽑아낸 것이다. -> 모델은 도메인 지식을 조직화하고 중요한 요소를 구분하는 팀의 합의된 방식이다. 소프트웨어의 본질 소프트웨어의 본질은 해당 소프트웨어의 사용자를 위해 도메인에 관련된 문제를 해결하는 능력에 있다. 도메인이 복잡하..
쿠버네티스 뜨게 된 이유와 컴포넌트 정리 목차 1. 쿠버네티스 전에 도커 : 도커가 뜨게 된 이유 2. 도커와 쿠버네티스의 활성화 3. 쿠버네티스 컴포넌트 구성 4. 쿠버네티스 컴포넌트 - 컨트롤 플레인 5. 쿠버네티스 컴포넌트 - 노드 컴포넌트 6. 쿠버네티스 API 1. 쿠버네티스 전에 도커 : 도커가 뜨게 된 이유 전통적인 배포 에서는 물리 서버에서 여러 애플리케이션의 리소스 한계를 정의할 방법이 없었기에, 리소스 할당의 문제가 발생한다. 전통적인 물리 서버의 단점 : 호스트에도 개발환경에 필요한 설정을 똑같이 해야함. 앞으로 나올 컨테이너 배포 구조 보다 레이어가 복잡함. vm이 추가 되면 os도 하나가 추가되어야 함. 도커에서 제시하는 가상화된 배포는 단일 물리 서버의 CPU에서 여러 가상 시스템 (VM)을 실행할 수 있게 하고 리소스..