본문 바로가기

반응형

좋아하는 것_매직IT/10.microservice

4.마이크로서비스, 실제적인 서비스란 무엇인가? 마이크로서비스에서의 서비스 마이크로 서비스는 서비스 종단점을 API의 형태로 외부에 노출하고 실질적인 세부사항은 모두 추상화함. 즉, 내부의 구현로직, 아키텍처와 프로그래밍 언어, 데이터베이스 품질 유지 체계등등 기술적인 사항들은 서비스 API 에 가려짐. 마이크로서비스 아키텍처의 개발 조직 애플리케이션 개발보다는 서비스 개발에 더 중점을 둠. 서비스의 특징 서비스 계약 SOA와 비슷하게 마이크로서비스도 분명하게 정의된 서비스 계약에 의해 작성됨. 서비스 케뮤니케이션 방식 JSON / REST JSON/ REST 관련 서비스 계약 정의 기법 JSON 스키마, WADL, Swagger, RAML 등등. 느슨한 결합 독립적이고 서로 느슨하게 연결되어 있음. 마이크로서비스는 이벤트로 입력을 받고, 이벤트로 응.. 더보기
3.마이크로서비스, 마이크로(micro) 아키텍처와 매크로(macro) 아키텍처로 나눠야 하는 이유? 마이크로서비스는 더 나은 낮은 결합도를 제공함. 따라서 마이크로서비스는 소프트웨어 모듈을 모듈화하고 격리할 수 있음. but, 마이크로서비스는 큰 시스템 관점에서 보면 모듈. 따라서 , 모듈은 통합될 수 있어야함. 통합은 마이크로서비스 아키텍처의 도전 과제임. 마이크로 서비스 아키텍처를 마이크로(micro) 아키텍처와 매크로(macro) 아키텍처로 나눠야 하는 이유? 마이크로 서비스가 전체 시스템을 구성할 때 함께 동작할 수 있도록 보장해야 함. 반면, 마이크로서비스의 자유가 마이크로서비스 아키텍처의 대부분의 장점에 필요한 격리와 독립성을 구성하기 때문에 제한이 심하지 않음. 이런 이유로, 마이크로 서비스 아키텍처를 마이크로(micro) 아키텍처와 매크로(macro) 아키텍처로 나누는 것이 종음. 마이크.. 더보기
2.마이크로서비스, 리액티브란 무엇일까요? 리액티브프로그래밍 마이크로서비스를 구현하는 한 가지 방법. 리액티브 정리 반응성(Responsive) : 시스템이 최대한 빨리 응답함을 의미함. 복원력(Resilience) : 일부분이 문제가 발생하더라도 시스템을 사용할 수 있음. 탄력성(Elastic) : 시스템은 추가 자원을 사용해 다양한 레벨의 부하를 처리할 수 있음. 로드가 피크가 된 후 자원이 다시 해제됨. 메시지 기반(Message Driven) : 시스템에서 비동기 통신(메시지기반)을 사용함. 서버 애플리케이션 비교 기존 vs 리액티브 기존 일반적으로 들어오는 요청을 특정 스레드에서 처리함. 해당 요청이 데이터베이스에 요청해야 한다면 요청 결과가 도착할 때까지 스레드는 블로킹됨. 각 네트워크 연결에 대해 병렬로 처리되는 각 요청에 대해 스레.. 더보기
1. 마이크로서비스 , 구현을 위한 요구사항은 무엇일까요? 마이크로서비스 구현을 위한 요구사항 통신 마이크로 서비스는 또 다른 마이크로서비스와 통신이 가능해야 함. ex) REST/메시징 등등과 같은 통신규약이 필요함. 즉, 마이크로서비스들은 통신을 위한 매커니즘이 필요함. 운영 배포 마이크로서비스를 위한 배포환경이 요구됨. 환경설정 설정에 대한 여러 시나리오에서 동작 가능해야 함. 로그 로그출력을 정형화하고, 모든 로그를 저장하고 분석 할 수 있는 기능이 필요함. 모니터링 중앙 모니터링 인프라로 전달되어야 하고, 이를 위해서 특정 프레임워크 및 라이브러리가 필요함. 신규 마이크로 서비스 코드가 추가되면서 마이크로서비스가 커지거나 증가하게되면, 더이상 마이크로서비스라 부르기 힘들어짐. 이를 피하기 위해서, 개별 마이크로서비스의 크기를 일정하게 유지하는 솔루션과 .. 더보기
0. 마이크로서비스 , 정의를 해볼께요. 마이크로서비스 란? 독립적으로 배포 가능한 모듈(module) 마이크로 서비스의 특징 매우 작다. 모듈을 기반으로 함. 마이크로 서비스는 필연적으로 다른 마이크로 서비스와 통합해야 함. 마이크로 서비스를 사용하는 이유 확장 가능한 개발을 진행할 수 있음. 레거시 시스템 교체 지속 가능한 개발 지속적 배포 견고성 독립적인 확장성 자유로운 기술 선택 보안 격리 마이크로서비스의 장점 용이한 개발의 확장이 가능함 기존 배포 모놀리스에서 손쉽게 마이그레이션해 마이크로 서비스를 쉽게 구현할 수 있음. 지속적인 배포를 통해 상용환경에 반영할 수 있는 속도와 안정성을 높일 수 있음. 더보기

반응형