저장 프로시 저는 구현 세부 사항입니다. 파일 시스템의 어딘가에 저장된 데이터베이스 함수, 람다 또는 쉘 스크립트는 모든 구현 세부 사항이며 아키텍처와 관련이 없습니다.
마이크로 서비스에 관한 대부분의 책은 마이크로 서비스 당 하나의 데이터베이스를 권장합니다.
이 데이터베이스에서 저장 프로 시저를 코딩 할 수 있습니다.
다시 말하지만 대부분의 마이크로 서비스 아키텍처 서적은 자율적이고 느슨하게 결합되어야한다고 주장합니다.
비즈니스 기능, 개발 수명주기, 관리, 배포, 팀 위치 등 구현 세부 사항과 관련이 없습니다. 마이크로 서비스는 기술적 문제를 해결하지 못합니다 (반대). 그들은 경영 및 시장 출시와 관련된 문제를 해결하기 위해 왔습니다. 전략이 아니라 전략입니다. 최소한의 비용으로 실패를 방지하는 방법. 특정 비즈니스 기능이 가치가없는 것으로 판명되면 다른 기능, 배포, 프로젝트 관리, 릴리스 등을 엉망으로 만들지 않으면 서 제거 할 수 있습니다.
"분할"은 이미 디커플링 에이전트처럼 작동합니다. A가 Oracle에 의해 지원되고 B가 MongoDB에 의해 지원되는 두 가지 서비스가 있다고 가정하십시오. 디커플링의 황금 규칙을 어 기지 않으면 B에 부작용이 거의없는 A + Oracle을 삭제할 수 있습니다.
Oracle에서 구체적으로 작성된 저장 프로 시저를 사용하여 마이크로 서비스를 해당 기술에 긴밀하게 연결합니다.
공급 업체가 잠길 수 있습니다. 여러 번, 공급 업체는 과거 또는 계약상의 이유로 인해 비즈니스에 의해 부과됩니다 1 . 공급 업체에 코드를 잠그지 않는 방법을 아는 것이 중요합니다. 예를 들어, 일부 ORM 및 프레임 워크는 데이터베이스 내장 기능 및 기능을 숨기는 새로운 쿼리 언어를 구현합니다.
비록 우리의 서비스가 충분히 미세하더라도, 공급 업체 잠금은 전체의 작은 부분에 영향을 미치기 때문에 더 이상 문제가되지 않습니다. 신속하게 교체 (또는 격리) 할 수있는 작은 부품.
읽은 대부분의 MSA 서적은 마이크로 서비스가 비즈니스 지향적 (DDD를 사용하여 설계)되어야한다고 권장합니다.
비즈니스 중심 이어야 하고 여기에있는 것이 어야합니다 . 모든 비즈니스가 DDD를 이용하는 것은 아닙니다. DDD와 마이크로 서비스는 여러 점에서 겹치지 만 원인은 아닙니다. 빈혈 서비스로 구성된 마이크로 서비스 에코 시스템을 만들 수 있습니다. 또는 복잡한 도메인을 구현하는 서비스와 DB에서 직접 POJO를 제공하는 벙어리 빈약 한 서비스로 구성됩니다. 그것에 아무런 문제가 없습니다.
책에 관해서는 전략 실행에만 집중합니다. 전술- 분산 컴퓨팅을 활용하는 방법 을 성공으로 이끄는 방법이지만 전략에 일반적으로 영향을 미치지 않습니다. 전략은 회사마다 다르며 개발자에게 거의 의존하지 않습니다. 따라서 우리는 여전히 책이 우리의 특정 요구, 요구 사항 및 제약 조건에 대해 말하는 것을 추정하고 적용해야합니다. 목표는 비즈니스 전략을 수익성 있고 지속 가능하게 만드는 것입니다.
모든 아키텍처는 끝의 수단이라는 것을 항상 명심하십시오. 비즈니스 규칙. 우리는 패션이나 예술에 대한 사랑을위한 마이크로 서비스 생태계를 구축하지 않습니다.