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 devops data stores -

Cells ADR 001: Cloudflare Workers를 사용한 라우팅 기술

컨텍스트

https://gitlab.com/groups/gitlab-org/-/epics/11002에서 먼저 여러 옵션을 논의하고 우리의 상위 2대 기술, Cloudflare WorkerIstio를 조사했습니다.

우리는 Cloudflare Worker PoC를 선호하였고 다중 라우팅 규칙을 갖기 위해 Cell 1.0 제안로 PoC를 확장했습니다. 이러한 PoC는 https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142397에서 승인된 라우팅 서비스 청사진을 검증하는 데 도움이 되었으며, 요청 버퍼링라우트 학습을 거부했습니다.

결정

Cloudflare Workers를 사용하여 JavaScript/TypeScript로 요청을 올바른 Cell로 라우팅하는 데 사용하며, 승인된 라우팅 서비스 청사진을 따릅니다.

Cloudflare Workers는 Self-managed를 제외한 모든 요구 사항을 충족합니다. Self-managed는 우선순위가 낮은 요구 사항입니다.

Cloudflare workers에 대한 자세한 분석은 https://gitlab.com/gitlab-org/gitlab/-/issues/433471#results를 참조하십시오.

결과

  • 모든 Self-managed 고객을 지원하지 않을 것을 알고 기술 스택을 선택하게 될 것입니다.
  • Cloudflare와의 벤더 락이 더 많아지지만 우리는 이미 그들에게 많은 의존성을 가지고 있습니다.
  • GCP 외부의 새로운 플랫폼에서 컴퓨팅을 실행하지만 이미 Cloudflare를 사용하고 있습니다.
  • 결정이 변경된다면 라우팅 서비스를 다시 작성해야 할 수도 있습니다. 하지만 라우팅 서비스가 매우 작고 간단하다고 예상하기 때문에 큰 리스크가 될 것으로 예상하지는 않습니다. (코드 최대 1000줄)

대안