마이크로서비스 아키텍처란 무엇인가요?
마이크로서비스 아키텍처는 하나 이상의 마이크로서비스로 구성된 대규모의 복잡한 소프트웨어 애플리케이션입니다. 시스템의 각 마이크로서비스는 독립적으로 배포될 수 있으며 각 마이크로서비스는 느슨하게 결합됩니다. 각 마이크로서비스는 하나의 작업을 완료하고 해당 작업을 잘 완료하는 데에만 중점을 둡니다.
마이크로서비스는 소규모이지만 비즈니스 기능을 갖춘 단일 서비스의 개발을 의미합니다. 각 서비스는 자체 처리 및 경량 통신 메커니즘을 가지며 단일 또는 여러 서버에 배포될 수 있습니다.
마이크로서비스는 특정 제한된 컨텍스트와 느슨하게 결합된 서비스 지향 아키텍처를 의미하기도 합니다. 즉, 모든 서비스를 동시에 수정해야 한다면 서로 밀접하게 결합되어 있기 때문에 마이크로서비스가 아니며, 서비스의 상황별 시나리오 사용 조건을 너무 많이 파악해야 한다면 상황이 있는 서비스입니다. 경계.
마이크로서비스 아키텍처의 장점:
각 마이크로서비스는 규모가 작고 특정 비즈니스 기능이나 비즈니스 요구 사항에 집중할 수 있습니다.
마이크로서비스는 2~5명의 개발자로 구성된 소규모 팀이 개별적으로 개발할 수 있습니다.
마이크로서비스는 느슨하게 결합되어 있으며 개발 단계나 배포 단계에서 독립적으로 작동하는 서비스입니다.
마이크로서비스는 다양한 언어를 사용하여 개발될 수 있습니다.
마이크로서비스는 개발자가 쉽게 이해하고 수정하고 유지 관리할 수 있으므로 소규모 팀이 작업 결과에 더 많은 주의를 기울일 수 있습니다. 가치를 전달하기 위해 협업이 필요하지 않습니다.
마이크로서비스를 사용하면 최신 기술 통합의 이점을 누릴 수 있습니다.
마이크로서비스는 단지 비즈니스 로직 코드일 뿐이며 HTML, CSS 또는 기타 인터페이스 구성 요소와 혼합되지 않습니다.
마이크로서비스 아키텍처의 단점:
마이크로서비스 아키텍처는 너무 많은 작업을 가져올 수 있습니다.
DevOps 기술이 필요합니다(http://en.wikipedia.org/wiki/DevOps).
노력이 두 배로 늘어날 수도 있습니다.
분산 시스템은 복잡하고 관리하기 어려울 수 있습니다.
분산 배포 추적이 어렵기 때문입니다.
서비스 수가 증가하면 관리 복잡성도 증가합니다.
마이크로서비스는 어떤 상황에 적합할까요?
데스크탑, 웹, 모바일 스마트TV, 웨어러블 등을 지원해야 할 때 가능합니다.
미래에는 알려지지 않았지만 지원이 필요한 일부 환경도 있습니다.