This page contains information related to upcoming products, features, and functionality.
It is important to note that the information presented is for informational purposes only.
Please do not rely on this information for purchasing or planning purposes.
The development, release, and timing of any products, features, or functionality may be subject to change or delay and remain at the
sole discretion of GitLab Inc.
Status | Authors | Coach | DRIs | Owning Stage | Created |
---|---|---|---|---|---|
proposed |
@fabiopitino
| 2023-06-21 |
참고 자료
관련 디자인 문서
관련 이슈
- Split GitLab monolith into components
- “Decoupled Services” 빌드 및 사용을 간단하게 만들기
- CI 클래스를 조직하는 중첩 구조 사용](https://gitlab.com/gitlab-org/gitlab/-/issues/209745)
- 모듈/네임스페이스 내에서 새로운 모델/클래스 생성하기
- 팀을 코드의 유지 보수자로 지정하기
- 의존성 주입을 위한 백엔드 가이드 추가
내부 Slack 채널
참고 구현/가이드
Gusto / RubyAtScale:
- 모듈화를 위한 RubyAtScale 도구 체인
- Gusto의 엔지니어링 블로그
- Gradual modularization (CBRA의 후속작)
- Component-Based Rails Applications (“deprecated”)
Shopify:
도메인 주도형 Rails / Rails 이벤트 리포지터리:
Rails Event Store는 본 청사진의 목표 중 많은 것을 달성하는 메커니즘으로, Arkency가 제품 애플리케이션을 구축하는 데 사용한 패턴에 기초합니다.
이는 특정한 프레임워크나 접근 방식을 사용해야 한다는 뜻이 아닙니다.
그러나 DDD/ES/CQRS의 일반적 개념은 이 청사진의 목표를 달성하는 데 중요하며, 경우에 따라서는 필수적일 수 있기 때문에 해당 개념들의 구상적이며 프로덕션적인 구현을 예시로 살펴보는 것이 유용합니다.
App Continuum:
애플리케이션이 작고 구조화되지 않은 앱부터 시작하여 모듈화된 잘 구조화된 모놀리식로, 그리고 더 나아가 마이크로서비스 아키텍처까지 어떻게 진화할 수 있는지 보여주는 그림입니다.
각 단계에서 멈추는 이유, 특히 마이크로서비스로 진행하는 것의 도전과 고려사항, 그리고 많은 경우에 잘 구조화된 모놀리식로 유지하는 것이 바람직한 이유에 대한 토론을 포함하고 있습니다.