다음 내용은 인프런의 "데브옵스를 위한 쿠버네티스 마스터" 라는 강의를 보고 요약한 공부노트입니다. 설명이 너무 잘되어 있어 개발자라면 한번쯤 들어봐야한다고 생각합니다. 1. 마이크로서비스(Micro Service Architecture)의 이해 모놀리식 아키텍쳐(전통적인 아키텍쳐 방법)이란? - 서비스가 하나의 애플리케이션으로 돌아가는 구조 - 하나의 서비스 또는 어플리케이션이 하나의 거대한 아키텍쳐 -> 많은 회사들이 사용하던 방법 장점 단점 - 소규모 프로젝트에서는 합리적 - 개발, 빌드, 테스트가 용이 - 종속적인 라이브러리 충돌 - 조금만 수정해도 전체 빌드 및 배포 필요 - 일부분으 오류가 전체에 영향을 미침 마이크로서비스 패턴으로 바뀌는 추세로 가고 있음 - 각각의 기능을 분리하여 개발, 관..
DevOps란? - 개발팀과 운영팀이 단일팀으로 병하바되어 엔지니어가 개발에서 테스트, 배포, 운영에 이르기까지 전체 애플리케이션 수명주기에 걸쳐 작업하고 단일 기능에 한정되지 않은 광범위한 기술을 개발하는 것 - 소프트웨어 개발 방법론의 하나 - 개발(development)과 운영(operation)을 결합한 혼성어 - 2008년 애자일 컨퍼런스에서 앤드루 클레이 쉐이퍼(Andrew Clay Shafer)와 패트릭 드부와(Patrick Debois)가 "애자일 인프라스트럭처"에 대해 논의하며 처음으로 사용 - 셰프(Chef)나 퍼펫(Puppet)과 같은 인프라 구성관리 자동화 툴을 사용 애자일 소프트웨어(agile software) 개발과 지속적 통합(continuous integration) 애자일 ..
소프트웨어 아키텍쳐란? 구성요소들 사이에서 유기적 관계를 표현하고 소프트웨어의 설계와 업그레이드를 통제하는 지침과 원칙 소프트웨어 아키텍쳐는 주로 서버를 중심으로 동작되는 소프트웨어들의 논리적 형상에 대한 구조를 설명 cf 시스템 아키텍쳐? 서버, 네트웍크 장비들을 포괄한 인프라의 물리적 형상의 "구조" Azure 서비스 유형? Virtual Machines Cloud Services App Services Service Fabric 서비스 분배 - Centralized / Decentralized / Distributed 방식 서비스 연계 방식 세션 처리 - 클라우드 분산 시스템구축을 위해 Stateless하게 설계 필요, 세션정보 최소화하고 요청시마다 담아 설계필요 - 로드밸런서로 관리할때 세션의 정..
(1) Locking으로 공유 리소스에 대한 접근을 제한하는 방식 -> lock, Monitor, Mutex, Semaphore, SpinLock, ReaderWriterLock (2) 타 쓰레드에 신호(Signal)을 보내 쓰레드 흐름을 제어 -> AutoResetEvent, ManualResetEvent, CountdownEvent 등 Thread AutoResetEvent Thread ManualResetEvent Thread CountdownEvent
Thread - Main Threading ? 여러 코어에서 한번에 여러개의 스레드를 처리하는 CPU 성능을 활용하는 프로그래밍의 유형 - 한번에 하나가 아니라 동시에 여러개 작업을 실행 Thread 포그라운드(Foreground) && 백그라운드(Background) ? .NET에서 관리되는 쓰레드는 백그라운드, 포그라운드 스레드 백그라운드 스레드는 관리되는 실행환경을 계속 실행하지 않음 백그라운드 스레드는 기본(default)로 false값을 가지고 있으며 fasle로 설정시 메인함수에 끝나는것없이 계속 실행되지만 true로 설정시 main함수가 끝나면 자동으로 thread가 종료된다. Join 메서드는 Thread클래스의 인스턴스를 생성하고, 생성자 파라미터로는 반환값과 반환값이 없는 Delegat..