본문으로 건너뛰기
Structly 문서
English

핵심 개념

Catalog 종류와 연결

이 페이지의 내용

Catalog 종류#

CatalogWeb UI 메뉴stly 리소스기록하는 정보
SystemSystemssystems여러 Service·API·System을 묶는 구성
ServiceServicesservices이름·요약·설명·수동 Status
APIAPIsapis이름·요약·설명·호출 기준 주소(Base URL)
EndpointEndpointsendpointsHTTP Method·Path, Parameter·Header·Request Body·Response의 Schema와 예제
WorkflowWorkflowsworkflowsEndpoint·Workflow를 호출하는 순서 있는 Step
DatabaseDatastoresdatabasesDatabase Metadata와 engine별 소속 구조
MessagingQueuesmessaging-clusters·kafka-topicsKafka Cluster와 Topic, Message Definition, 발행·소비 사용 설명
RepositoryRepositoriesrepositories이름·Git URL·설명과 OpenAPI·AsyncAPI·Arazzo 스펙 문서

Database의 소속 구조는 engine에 따라 다릅니다.

engine소속 구조stly 리소스
PostgreSQL·MySQL·MariaDB·Oracle·Microsoft SQL ServerTabletables
MongoDBCollectioncollections
RedisKey Patternkey-patterns
CassandraTablecassandra-tables

주소 이름#

System·Service·API·Workflow·Database·Messaging Cluster·Repository는 이름과 별도로 handle을 가집니다. handle은 Web 주소에서 항목을 가리키며 같은 Organization의 같은 Catalog 안에서 고유합니다.

https://<Structly 주소>/o/acme/services/orders-service
  • 3~39자의 영문 소문자·숫자·하이픈으로 구성하며 숫자로 시작할 수 있습니다. 하이픈으로 시작·끝나거나 연속할 수 없습니다.
  • 생성할 때 필수입니다. Web UI는 이름에서 만든 후보를 채우며 한글만 있는 이름은 직접 입력합니다.
  • 이름을 바꿔도 handle은 바뀌지 않습니다. 수정에서 handle을 바꾸면 이전 주소는 즉시 해제되어 다른 항목이 쓸 수 있고, 새 주소로 자동 이동하지 않습니다.
  • Database는 structures를 쓸 수 없습니다.
  • Endpoint와 Table·Topic 같은 소속 구조는 handle 없이 ID로 주소를 만듭니다.
  • 연결·stly 명령의 대상 지정에는 계속 ID를 씁니다.

Catalog 사이의 연결#

연결내용
API → ServiceAPI마다 제공 Service를 하나 지정합니다. Service 상세에서 제공 API를 확인합니다.
API → EndpointEndpoint는 하나의 API에 선택적으로 속합니다.
Service → RepositoryService의 코드가 있는 Repository를 연결합니다.
Service → Database·소속 구조Service가 사용하는 Database와 Key Pattern·Table·Collection·Cassandra Table을 각각 연결합니다.
Service → Kafka TopicTopic의 발행·소비 사용 설명에 Service를 지정할 수 있습니다.
System → Service·API·SystemSystem이 직접 포함하는 구성을 기록합니다. System은 다른 System을 포함할 수 있지만 순환은 허용하지 않습니다.
Workflow → Endpoint·WorkflowWorkflow의 각 Step이 호출할 Endpoint 또는 다른 Workflow를 지정합니다.
OpenAPI 문서 → API·EndpointOpenAPI 문서 하나를 API 하나와 연결하고 승인한 변경을 API·Endpoint에 반영합니다. 문서는 Repository에 두거나 Repository 없이 등록합니다.

연결된 항목은 양쪽에서 탐색할 수 있습니다. 예를 들어 Service 상세에서 제공 API를, API 상세에서 제공 Service를 확인합니다. 다른 항목과의 연결이 남아 있으면 삭제할 수 없는 Catalog가 있습니다. 조건은 Catalog 가이드의 각 페이지를 참고합니다.

통합 검색#

Web UI 상단의 검색 창(⌘K·Ctrl+K)과 stly catalog search는 여러 Catalog의 이름·요약·설명을 한 번에 찾습니다. Endpoint는 Path를, Workflow는 Key를 함께 찾으며 대소문자를 구분하지 않습니다.

stly catalog search --q 주문