계속 진화의 주제와 패러다임 및 작업 방법의 변화 소프트웨어 개발 분야에서 발생했으며 최근에 우리가 "소프트웨어 개발 : 현재까지의 역사적 검토", "클라우드를 통한 상호 운용성 :이를 달성하는 방법?" y "XaaS : 클라우드 컴퓨팅-서비스로서의 모든 것", 오늘 우리는 마이크로 서비스.
마이크로 서비스는 현대적인 소프트웨어 아키텍처입니다., API (응용 프로그래밍 인터페이스) 또는 기술 자체가 아니라 설치 및 사용할 수 있습니다. 소프트웨어 패턴이라고도하는 소프트웨어 아키텍처는 기술이 구현되는 방식이 아니라 작동해야하는 방식을 설정하는 것에 지나지 않기 때문에 프로그래밍 언어와는 완전히 다릅니다.
소개
마이크로 서비스는 SOA 아키텍처 (서비스 지향 아키텍처)의 진화로 볼 수 있습니다., 일부 하드웨어의 사용을 최적화 할 때 비슷한 방식으로 수행되는 것처럼, 개발자가 기능적이고 자율적 인 더 많은 모듈 식 응용 프로그램을 만들도록 안내합니다. 불필요하게 잠재력을 최대한 발휘하는 대신, 정말로 필요한 것만 펼칩니다.
마이크로 서비스의 아키텍처, 실제로는 이론만큼 거대 해지지 않았습니다. 즉, 사용 된 것보다 더 잘 알려져 있습니다. 그러나 매일 더 많은 개발자들이 그것을 구현하는 소프트웨어 개발 모델이기 때문에 적용되는 프로젝트 내에서 변수 시간, 성능 및 안정성을 향상시킵니다. 게다가, 그의 간단한 관련 확장 성 플랫폼 간 호환성 (웹, 모바일, 웨어러블, IoT)이 필수적인 개발에 특히 적합합니다.
하지만 SOA는 더 높은 수준의 아키텍처입니다.즉, 서비스를 기반으로하는 애플리케이션이 구축되는 아키텍처, 서비스는 생성 된 애플리케이션 내에서 가장 작고 가장 기능적인 작업 단위입니다. 마이크로 서비스 아키텍처 또한 서비스를 만들 수 있습니다.하지만 이러한 서비스는 아주 작고 구체적인 방법으로 매우 정확하고 시간을 잘 지키는 기능을 수행하도록, 이러한 방식으로 나머지 애플리케이션과 분리 될 수 있으며 생성 된 나머지 애플리케이션에서 완전히 자율적으로 작동합니다.
소프트웨어 아키텍처 (패턴) 란 무엇입니까?
마이크로 서비스의 소프트웨어 아키텍처를 잘 이해하려면 가장 잘 알려진 기존 소프트웨어 아키텍처에 대해 조금만 아는 것이 좋습니다. 사이트에서 볼 수 있듯이 많은 기존 우 디자인 또는 단순히 위키 백과하지만 유명한 책에 따르면 «패턴 디자인 북»(디자인 패턴 책) 기존 패턴은 다음과 같이 분류 할 수 있습니다.
창조
객체를 인스턴스화하는 방법을 다루며 인스턴스화 프로세스를 추상화하고 객체가 생성되거나 초기화되는 방법에 대한 세부 정보를 숨기는 것이 목표입니다. 이 수업에는 다음이 있습니다.
- 초록 공장
- 건축업자
- 공장 방법
- 프로토 타입
- 하나씩 일어나는 것
구조적
클래스와 객체 (단순 또는 복합)를 결합하여 큰 구조를 형성하고 새로운 기능을 제공하는 방법을 설명하는 것. 이 수업에는 다음이 있습니다.
- 어댑터
- 다리
- 합성물
- 데코레이터
- 정면
- 플라이급
- 대리
행동
시스템 객체 간의 통신과 반복을 정의하는 데 도움이되는 것입니다. 이 패턴의 목적은 객체 간의 결합을 줄이는 것입니다. 이 클래스는 다음과 같습니다.
- 책임의 사슬
- 명령
- 통역사
- 반복자
- 중재인
- 기념물
- 관찰자
- 주 정부
- 전략
- 템플릿 방법
- 방문객
다른 사람
이전의 디자인 패턴은 소프트웨어 시스템을 구축 할 디자인 구조를 정의하는 스키마를 표현했습니다. 그러나 생성 된 소프트웨어 시스템에 대한 기본적인 조직 및 구조 체계를 더 잘 표현하고 싶을 때 일반적으로 다음과 같은 다른 분류를 찾습니다.
- 슬레이트 아키텍처
- DAO : 데이터 액세스 개체
- DTO : 데이터 전송 개체
- EDA : 이벤트 기반 아키텍처
- 암시 적 호출
- 네이 키드 오브젝트
- 계층화 된 프로그래밍
- 피어 투 피어
- 관로
- SOA : 서비스 지향 아키텍처
- XNUMX 단계
또한있다 "컨트롤러 뷰 모델" 잘 알려져 있고 사용되며 다음과 같이 나뉩니다.
- 모델 /보기 / 컨트롤러
- 모델 /보기 / 발표자
- 모델 발표자가있는 모델 /보기 / 발표자
- 모델 /보기 /보기 모델
- 패시브 뷰가있는 모델 / 뷰 / 발표자
- 감독자 컨트롤러가있는 모델 /보기 / 발표자
존재 오늘날 가장 잘 알려져 있고 구현 된 "컨트롤러 뷰 모델", 기업 애플리케이션에 필요한 기능을 제공하는 것이 불충분하며 이것이 주요 이유 중 하나입니다. 마이크로 서비스 아키텍처는 MVC (Model-View-Controller)를 대체합니다.
마이크로 서비스 아키텍처의 장점
웹 플랫폼이 마이크로 서비스 아키텍처를 사용하는 경우 일반적으로 다음과 같은 이점이 있습니다.
- 해결 특정 상황에 관련된 각 소규모 마이크로 서비스를 해결하기 위해 제시된 각 문제 또는 문제를 쉽게 해결할 수 있습니다.
- 완화시키기 위해서 서비스의 일반 또는 글로벌 실패. 마이크로 서비스가 실패하더라도 완전히 독립적이기 때문에 다른 서비스에 영향을 미치지 않기 때문입니다.
- 쉽게 각 마이크로 서비스를 개별적으로 점진적으로 추가 또는 제거 및 업데이트 할 수 있으므로 전체 또는 특정 기능 또는 서비스의 시작 및 통합.
- 더 나아지려면 모든 유형의 장치 및 플랫폼에서 생성 된 애플리케이션 또는 서비스에 대한 액세스.
- 증가 마이크로 서비스는 서로 다른 서버에 배포되고 서로 다른 언어로 작성 될 수 있기 때문에 플랫폼의 다양성.
오픈 소스 프레임 워크
많은 사람들이있다 오픈 소스 옵션 소프트웨어 개발자가 마이크로 서비스 아키텍처의 일부인 솔루션을 개발하는 데 사용할 수 있습니다. 이를 위해 널리 사용되는 기술인 Java의 경우 특히 다음이 있습니다.
마이크로 서비스 아키텍처를 사용한 웹 예제
대규모 애플리케이션 서비스를 제공하고 서비스 및 제품 플랫폼의 유지 관리 및 확장 성을 개선하기 위해 마이크로 서비스 아키텍처를 점진적으로 구현하여 간단하고 효과적이며 빠르게 만드는 수많은 웹 사이트 중에서 업계의 세 가지 주요 웹 사이트를 언급 할 수 있습니다. 그들은 무엇인가:
- 아마존
- 이베이
- 넷플릭스
결론
분명하다 마이크로 서비스는 최신 웹 기반 소프트웨어 개발에 많은 기여를합니다.그러나 그들은 또한 해결해야 할 많은 새로운 과제를 해결하는 것을 의미합니다. 프레임 워크 학습 및 효율적 작업과 관련이있을뿐만 아니라 이러한 새로운 개발이 IT 부서에서 어떻게 보완되고 구현되는지, 결국이를 온라인으로 관리하고 관리하고 투표를하는 IT 부서에서 발생하는 문제 각 개발에 대한 최종 결정의 무게. 그러나 이 아키텍처는 여기에 있으며 오랫동안 유지되었습니다.