본문 바로가기

반응형

MSA

Coroot - MSA를 위한 모니터링 플랫폼을 소개합니다 (github.com/coroot) Coroot - MSA를 위한 모니터링 플랫폼을 소개합니다 깃허브에서는 Coroot를 아래와 같이 소개하고 있고요.. Coroot is a monitoring and troubleshooting tool for microservice architectures. 한마디로, Coroot는 MSA를 위한 모니터링 플랫폼이라고 머릿속에 넣어두시면 좋을것 같네요... 설치는 아래와 같이 진행하시면 될것 같고요.. Installation Kubernetes Coroot Community Edition is deployed into a Kubernetes cluster as a Deployment. It requires a PersistentVolume to store its configuration data and.. 더보기
15.마이크로서비스, 컨설과 아파치 httpd서버를 이용한 동기 마이크로서비스 시스템을 알아보자. 컨설(Consul)이란? Go 언어로 작성된 매우 강력한 서비스 탐색 기술이며, 마이크로서비스가 서로 통신할 수 있게 함. 참고페이지 : https://www.consul.io 컨설 코드 https://github.com/hashicorp/consul 확인 가능 기원 해시코프(Hashicorp)의 솔루션 마이크로서비스와 인프라 분야에서 다양한 제품을 제공함. 참고페이지 : https://www.hashicorp.com 해시코프는 컨설을 상업적으로 지원함. 특징 HTTP REST API를 내장하고 있고, DNS를 지원함. 컨설 템플릿을 사용하여, 컨설 설정파일을 생성가능함. 서비스 상태 확인 지원, 상태확인 실패시, 탐색에서 서비스 제외기능 복제를 지원함. 데이터 센터간의 데이터 복제를 지원함. 컨설 템플.. 더보기
12.마이크로서비스, Atom & REST 비동기 통신은 무엇일까? Atom 이란? Atom is the name of an XML-d Web content and data syndication format, and an application-level protocol for publishing and editing Web resources belonging to periodically updated websites. 참고페이지 : https://validator.w3.org/feed/docs/atom.html 블로그에서 구독자가 접근할 수 있도록 개발된 데이터 포맷 Atom 포맷은 매우 유연하기 때문에 다른 타입의 데이터에도 적합함. Atom 데이터 포맷을 기반으로 하는 마이크로서비스의 통합(Atom & REST) 참고페이지 : https://github.com/ewo.. 더보기
9.마이크로서비스, 비동기 통신이란? 비동기 마이크로서비스 동기 마이크로서비스 란? 특정 마이크로서비스가 다른 마이크로서비스에 요청을 보내면, 요청이 처리돼 해당 요청에 대한 결과를 얻을 때까지 기다린다면 동기라함. 비동기 마이크로서비스 란? 특정 마이크로서비스는 A 요청을 처리하는 동안 다른 마이크로서비스에 요청하지 않거나 B 요청을 처리하는 동안 다른 마이크로서비스에 요청을 보내지만 결과를 기다리지 않으면 비동기라고 함. 경우의 수 1.특정 마이크로서비스는 요청을 처리하는 동안 다른 마이크로서비스와 전혀 통신 안함. 즉, 다른 시점에 다른 시스템과 통신함. 2.특정 마이크로서비스가 다른 마이크로서비스로 요청을 보냇지만, 응답을 기다리지 않음. 통신 프로토콜 동기 동기통신의 경우 요청받는 서버는 각 요청에 응답해야 함. ex) REST, .. 더보기
8.마이크로서비스, ESI란 무엇일까? ESI(Edge Side Includes) ESI는 HTTP 클라이언트에서 리소스를 통합할 수 있는 수단을 제공하는 XML 기반 마크업 언어임. ESI를 사용하면 웹 애플리케이션이 다른 웹 애플리케이션의 HTML 일부를 통합할 수 있음. 이를 위해 웹 애플리케이션은 ESI 태그를 포함한 HTML을 전송함. ESI 구현체는 ESI 태그를 분석, 다른 웹 애플리케이션의 HTML일부분을 올바른 위치에 두고 통합함. 참고페이지 : https://www.w3.org/TR/esi-lang ESI 구문 예시 ESI의 구현체란? 웹 사이트는 해당 캐싱을 사용해 들어오는 요청을 바탕으로 캐싱해서 웹 페이지를 전달함. 웹 캐싱 서버를 ESI 구현체로 사용할 수 있음. 웹 애플리케이션은 캐싱 실패에 대한 요청을 처리하면 됨.. 더보기
5. 마이크로서비스, 왜 가벼울까? 마이크로서비스가 가벼운 이유 마이크로서비스가 제대로 설계되면, 하나의 비즈니스 범위에 맞춰 만들어지므로 하나의 기능만 수행함. 결과 대부분의 마이크로서비스 구현체에서 볼 수 있는 공통적인 특징 중 하나는 마이크로 서비스가 작은 공간만을 차지한다는 점. 마이크로서비스를 지원하는 기술을 선택할 때 확인사항 관리할 수 있는 수준 내에서 마이크로서비스가 전체적으로 차지하는 공간을 통제할 수 있을 만큼 그 기술이 가벼운지 꼭 확인 필요. ex) 웹컨테이너 제티(Jetty) / 톰캣(Tomcat)은 마이크로서비스에 사용될 애플리케이션 컨테이너로서 웹로직(WebLogic) / 웹스피어(WebSphere) 처럼 복잡하고 무거운 전통적인 애플리케이션 서버에 비해 더 적합함. ex) 컨테이너 기술 도커가 VMWare / .. 더보기
4.마이크로서비스, 실제적인 서비스란 무엇인가? 마이크로서비스에서의 서비스 마이크로 서비스는 서비스 종단점을 API의 형태로 외부에 노출하고 실질적인 세부사항은 모두 추상화함. 즉, 내부의 구현로직, 아키텍처와 프로그래밍 언어, 데이터베이스 품질 유지 체계등등 기술적인 사항들은 서비스 API 에 가려짐. 마이크로서비스 아키텍처의 개발 조직 애플리케이션 개발보다는 서비스 개발에 더 중점을 둠. 서비스의 특징 서비스 계약 SOA와 비슷하게 마이크로서비스도 분명하게 정의된 서비스 계약에 의해 작성됨. 서비스 케뮤니케이션 방식 JSON / REST JSON/ REST 관련 서비스 계약 정의 기법 JSON 스키마, WADL, Swagger, RAML 등등. 느슨한 결합 독립적이고 서로 느슨하게 연결되어 있음. 마이크로서비스는 이벤트로 입력을 받고, 이벤트로 응.. 더보기
3.마이크로서비스, 마이크로(micro) 아키텍처와 매크로(macro) 아키텍처로 나눠야 하는 이유? 마이크로서비스는 더 나은 낮은 결합도를 제공함. 따라서 마이크로서비스는 소프트웨어 모듈을 모듈화하고 격리할 수 있음. but, 마이크로서비스는 큰 시스템 관점에서 보면 모듈. 따라서 , 모듈은 통합될 수 있어야함. 통합은 마이크로서비스 아키텍처의 도전 과제임. 마이크로 서비스 아키텍처를 마이크로(micro) 아키텍처와 매크로(macro) 아키텍처로 나눠야 하는 이유? 마이크로 서비스가 전체 시스템을 구성할 때 함께 동작할 수 있도록 보장해야 함. 반면, 마이크로서비스의 자유가 마이크로서비스 아키텍처의 대부분의 장점에 필요한 격리와 독립성을 구성하기 때문에 제한이 심하지 않음. 이런 이유로, 마이크로 서비스 아키텍처를 마이크로(micro) 아키텍처와 매크로(macro) 아키텍처로 나누는 것이 종음. 마이크.. 더보기

반응형