BloomRPC는 많은 gRPC 개발자가 결국 묻게 되는 질문, 즉 “gRPC용 Postman은 어디에 있나요?”에 대한 답이었습니다. .proto 파일을 로드하고, 편집 가능한 JSON 요청 본문을 만든 뒤 전송 버튼을 누르면 됐습니다. 간단하고 무료였으며, 한 가지 일을 잘 해내면서 약 9,000개의 GitHub 스타를 얻었습니다. 하지만 2023년 1월 4일, 저장소가 보관(archive)되었습니다. README는 프로젝트가 정체됐고 문제가 누적됐으며, 관리자가 더 이상 사용을 권장하지 않는다고 명시합니다.
직접적인 결론부터 말하면, 대부분의 팀에는 Apidog가 BloomRPC의 실용적인 대안입니다. 단순히 .proto 파일을 로드하는 데서 끝나지 않고, 단항·서버 스트리밍·클라이언트 스트리밍·양방향 스트리밍을 지원합니다. 로컬 경로, URL, 서버 리플렉션으로 API 정의를 가져올 수 있으며, gRPC 호출을 REST, WebSocket, GraphQL 엔드포인트와 같은 프로젝트에서 관리할 수 있습니다.
터미널에서 일회성 호출만 실행해야 한다면 더 가벼운 도구가 적합할 수 있습니다. 이 글에서는 BloomRPC가 왜 더 이상 선택지가 아닌지, 어떤 도구로 대체할지, 그리고 실제 마이그레이션 절차를 단계별로 정리합니다.
BloomRPC는 무엇이었고, 왜 사라졌는가
BloomRPC는 클라이언트 코드를 작성하지 않고 gRPC 호출을 실행하기 위한 Electron 데스크톱 앱으로 2018년에 출시되었습니다. .proto 파일을 가져오면 다음 작업을 할 수 있었습니다.
- 서비스와 메서드 탐색
- 요청 메시지용 JSON 스켈레톤 생성
- 메타데이터 편집
- 단항 호출 및 기본 스트리밍 호출 전송
하지만 저장소가 보관됐다는 것은 버그 수정, 의존성 업데이트, 새 릴리스가 없다는 뜻입니다. Electron 앱에서는 특히 문제가 됩니다. 번들된 Chromium 및 Node 버전은 보안 지원에서 벗어날 수 있고, 최신 proto 문법이나 gRPC 기능을 처리하지 못할 수 있으며, 기존 버그도 그대로 남습니다.
관리자들이 전달한 메시지는 명확합니다. 새 환경에 BloomRPC를 설치하지 마십시오.
문제는 단순히 “다른 독립형 gRPC 창”을 찾는 데 있지 않습니다. 대부분의 백엔드 팀은 gRPC뿐 아니라 REST 또는 GraphQL도 함께 운영합니다. 서로 분리된 도구에서 각각 테스트하면 요청 설정, 인증 정보, 테스트 시나리오가 흩어집니다.
좋은 gRPC 클라이언트의 기본 조건은 이제 .proto 로드와 호출 전송입니다. 실제 차이는 저장, 공유, 테스트, 문서화, 여러 프로토콜 통합 같은 워크플로우에서 발생합니다.
답변: Apidog
Apidog는 설계, 디버깅, 테스트, 목업, 문서화를 다루는 API 개발 플랫폼입니다. 공식 문서 기준으로 gRPC 작업에 필요한 핵심 기능을 제공합니다.
네 가지 호출 유형 지원
단항, 서버 스트리밍, 클라이언트 스트리밍, 양방향 스트리밍을 지원합니다. 스트리밍 호출에서는 메시지를 작성하고 전송한 뒤, 타임라인에서 송수신 메시지 순서를 확인할 수 있습니다.-
세 가지 API 정의 가져오기 방식
- 로컬
.proto파일 가져오기 - URL에서
.proto가져오기 - 서버 리플렉션으로 실행 중인 gRPC 서버 탐색
- 로컬
proto가 다른 proto에 의존한다면 의존성 디렉터리도 추가하면 됩니다.
JSON 입력과 JSON 출력
protobuf 메시지를 편집 가능한 JSON으로 렌더링하므로 이진 페이로드를 직접 인코딩할 필요가 없습니다. 변환 규칙이 필요하다면 protobuf to JSON 가이드를 참고할 수 있습니다.TLS, 메타데이터, 인증 구성
요청마다grpc://또는grpcs://를 선택하고 메타데이터와 인증 정보를 설정할 수 있습니다. 토큰 및 mTLS 패턴은 gRPC 인증 가이드를 함께 참고하세요.저장과 팀 공유
서버 URL, 요청 메시지, 메타데이터가 포함된 gRPC 호출을 저장하고 팀원과 공유할 수 있습니다. REST 엔드포인트, 테스트 시나리오, 문서와 같은 작업 공간에서 관리할 수 있다는 점이 독립형 gRPC 클라이언트와의 차이입니다.
기능별 전환 모습
호출하기
일상적인 호출 흐름은 BloomRPC와 비슷합니다.
-
.proto파일을 가져옵니다. - 서비스와 메서드를 선택합니다.
- 자동 생성된 JSON 요청 본문을 수정합니다.
- 서버 주소를 입력합니다.
-
grpc://또는grpcs://를 선택합니다. - 메타데이터와 인증 정보를 추가합니다.
- 요청을 전송합니다.
단항 호출은 일반적인 응답 결과를 반환합니다. 스트리밍 호출은 메시지를 계속 보내고 응답 흐름을 확인하는 세션으로 동작합니다.
gRPC 오류를 해석할 때는 HTTP 상태 코드 대신 gRPC 상태 코드를 확인해야 합니다. 초기 전환 기간에는 gRPC 상태 코드 참조를 가까이 두는 것이 좋습니다.
스트리밍, 특히 클라이언트 및 양방향 스트리밍
BloomRPC에서 가장 불편했던 영역 중 하나는 스트리밍이었습니다. 특히 클라이언트 스트리밍과 양방향 스트리밍은 오래된 문제의 원인이 되기 쉬웠습니다.
Apidog에서는 스트리밍 호출을 단발성 요청이 아니라 실시간 세션으로 다룹니다.
- 메시지를 순차적으로 작성하고 전송
- 서버에서 오는 메시지 확인
- 송수신 흐름을 타임라인으로 검토
- 단항, 서버 스트리밍, 클라이언트 스트리밍, 양방향 스트리밍을 동일한 프로젝트에서 관리
서비스가 스트림에 의존한다면 이 차이가 도구 선택의 핵심이 될 수 있습니다. 호출 유형별 동작을 복습하려면 gRPC 스트리밍 설명을 참고하세요.
서버 리플렉션
BloomRPC에서는 일반적으로 .proto 파일이 필요했습니다. 반면 서버 리플렉션이 활성화된 환경이라면 Apidog에서 실행 중인 서버를 대상으로 서비스를 탐색할 수 있습니다.
특히 다음 상황에서 유용합니다.
- 스테이징 서버를 빠르게 점검해야 할 때
- 최신
.proto파일 위치를 찾기 어려울 때 - 다른 팀이 관리하는 서버의 서비스 목록을 확인할 때
- 로컬 파일을 따로 준비하지 않고 호출을 시작하고 싶을 때
클라이언트를 넘어서
BloomRPC에서는 창을 닫으면 디버깅 컨텍스트도 함께 사라지기 쉬웠습니다. Apidog에서는 gRPC 서비스와 호출 설정을 프로젝트에 저장할 수 있습니다.
예를 들어 팀에서 다음 정보를 공유할 수 있습니다.
- 서버 URL
- TLS 설정
- 메타데이터
- 인증 설정
- JSON 요청 예시
- 저장된 디버깅 호출
- 테스트 시나리오
같은 작업 공간에서 REST, WebSocket 작업과 gRPC API 테스트, HTTP 엔드포인트용 목업, 문서도 함께 관리할 수 있습니다.
프로토콜 선택 자체를 검토 중이라면 REST vs GraphQL vs gRPC와 gRPC vs REST 비교를 참고하세요.
BloomRPC vs Apidog 한눈에 보기
| 항목 | BloomRPC | Apidog |
|---|---|---|
| 상태 | 2023년 1월 보관됨; README에서 사용 비권장 | 활발히 개발 중 |
| 단항 호출 | 예 | 예 |
| 서버 / 클라이언트 / 양방향 스트리밍 | 부분적, 알려진 문제 있음 | 모두 지원, 타임라인을 갖춘 세션 스타일 |
| Proto 가져오기 | 로컬 .proto 파일 |
로컬 파일, URL, 서버 리플렉션 |
| TLS | 기본 | 요청당 grpc:// / grpcs:// 선택 |
| 메타데이터 및 인증 | 메타데이터 편집 | 메타데이터 및 인증 구성 |
| 팀 공유 | 없음, 로컬 전용 | 팀 작업 공간에서 저장된 호출 공유 |
| 다른 프로토콜 | gRPC 전용 | REST, WebSocket, SSE, GraphQL, gRPC |
| 문서, 테스트, 목업 | 없음 | 동일한 플랫폼과 프로젝트에서 관리 |
| 가격 | 무료, 유지보수 중단 | 최대 4인까지 무료 플랜 |
BloomRPC에서 마이그레이션하기
중요한 점부터 말하면, BloomRPC에서 내보낼 설정 파일은 사실상 없습니다. 마이그레이션의 핵심은 기존 .proto 파일과 접속 정보를 다시 구성하는 것입니다.
1. .proto 파일을 모으기
.proto 파일은 BloomRPC가 아니라 보통 프로젝트 리포지터리에 있습니다. 먼저 다음을 확인하세요.
- 서비스 정의
.proto - import되는 공통 proto 파일
- proto 의존성 디렉터리
- 스테이징 및 운영 서버 주소
- 기존에 사용한 메타데이터와 토큰
2. Apidog 프로젝트에 proto 가져오기
새 프로젝트를 만든 뒤 다음 중 하나를 선택합니다.
- 로컬
.proto파일 추가 - proto URL 입력
- 서버 리플렉션 사용
다른 proto를 import하는 경우 의존성 디렉터리를 추가해야 합니다. 가져오기가 완료되면 서비스와 RPC 메서드가 목록에 표시됩니다.
3. 서버 주소와 TLS 설정
대상 서버 주소를 입력하고 연결 방식을 설정합니다.
grpc://localhost:50051
TLS가 필요한 서버라면 다음처럼 grpcs://를 사용합니다.
grpcs://grpc.example.com:443
4. 메타데이터와 인증 다시 구성
BloomRPC에서 직접 붙여넣던 헤더, 토큰, 인증 정보를 요청 설정에 추가합니다. 예를 들어 Bearer 토큰이 필요한 경우 기존 서버 정책에 맞춰 인증 정보를 구성합니다.
이후에는 호출과 함께 저장되므로 매번 다시 입력할 필요가 없습니다.
5. 요청을 저장하고 팀과 공유
단항 호출과 스트리밍 호출을 각각 저장해 두세요. 팀원이 같은 서버와 인증 정보로 디버깅을 시작할 수 있는 공유 설정이 됩니다.
기존 BloomRPC 사용자는 일반적으로 다음 세 단계만으로 첫 호출을 전송할 수 있습니다.
-
.proto가져오기 - 서버 주소 입력
- JSON 요청 본문 작성 후 전송
알아둘 만한 다른 BloomRPC 대안
Apidog는 여러 API 프로토콜을 하나의 프로젝트에서 관리하려는 팀에 적합합니다. 요구 사항이 더 좁다면 다음 도구도 고려할 수 있습니다.
grpcurl
gRPC용curl에 가깝습니다. 셸 스크립트, CI 검사, 서버 리플렉션이 활성화된 서버에 대한 일회성 호출에 적합합니다. GUI가 필요하지 않은 자동화 작업에 특히 유용합니다. 자세한 비교는 최고의 grpcurl 대안에서 확인할 수 있습니다.grpcui
grpcurl 계열의 임시 웹 UI입니다. 단일 서버를 짧게 탐색하거나 빠르게 확인하는 데 적합합니다. 저장된 상태 관리가 목적은 아닙니다.Kreya
gRPC와 REST 중심의 데스크톱 클라이언트입니다. 독립형 클라이언트를 특별히 원한다면 BloomRPC의 직접적인 후계자에 가까운 선택지입니다. Kreya는 무엇이며, 최고의 Kreya 대안에서 자세한 내용을 확인하세요.Postman
2022년에 gRPC 지원을 추가했습니다. 팀이 이미 Postman을 사용하고 있다면 선택할 수 있지만, 일반적인 Postman 가격 및 작업 공간 트레이드오프도 함께 고려해야 합니다. 최고의 Postman 대안에서 비교할 수 있습니다.evans
대화형 모드를 제공하는 gRPC 터미널 REPL입니다. tmux와 터미널 중심 환경에서 작업하는 개발자에게 적합하지만, GUI 기반 워크플로우를 원한다면 진입 장벽이 있을 수 있습니다.
선택 기준은 단순합니다.
-
자동화와 CI:
grpcurl - 고립된 gRPC 작업용 독립형 GUI: Kreya 같은 전용 클라이언트
- gRPC, REST, 테스트, 문서를 함께 관리: Apidog
자주 묻는 질문
BloomRPC는 여전히 유지보수되고 있습니까?
아닙니다. 저장소는 2023년 1월 4일에 보관됐으며 README에도 더 이상 사용을 권장하지 않는다고 명시돼 있습니다. 업데이트, 보안 수정, 새 릴리스가 없습니다.
새 환경에서는 현재 지원되는 gRPC 클라이언트를 선택하는 것이 좋습니다.
BloomRPC 설정을 Apidog로 가져올 수 있습니까?
BloomRPC는 휴대 가능한 설정 파일을 의미 있게 저장하지 않았으므로 별도의 가져오기 파일은 없습니다.
대신 다음을 다시 설정하면 됩니다.
- 리포지터리의
.proto파일 가져오기 또는 서버 리플렉션 사용 - 서버 주소 설정
- TLS 스키마 선택
- 메타데이터와 인증 정보 추가
- 호출 저장 및 공유
이후에는 구성이 특정 컴퓨터에 묶이지 않고 프로젝트에 저장됩니다.
Apidog는 gRPC 스트리밍을 지원합니까?
예. 단항, 서버 스트리밍, 클라이언트 스트리밍, 양방향 스트리밍을 지원합니다. 스트리밍 호출은 메시지를 보내고 트래픽 타임라인을 확인할 수 있는 라이브 세션으로 실행됩니다.
각 스트리밍 모드의 사용 사례는 gRPC 스트리밍 가이드를 참고하세요.
간단한 명령줄 gRPC 호출만 필요하다면 어떻게 해야 합니까?
grpcurl을 사용하세요. 리플렉션이 활성화된 서버에 대한 즉석 호출, 스크립트, CI 작업에 적합합니다. 어떤 GUI 도구를 사용하든 자동화 경로에는 grpcurl을 함께 두는 것이 유용합니다.
grpcurl 대안 가이드에서 GUI가 필요한 시점도 확인할 수 있습니다.
동일한 도구에서 gRPC와 REST API를 테스트할 수 있습니까?
Apidog에서는 가능합니다. gRPC, REST, WebSocket, SSE, GraphQL을 하나의 프로젝트에서 관리할 수 있으므로, gRPC와 REST 인터페이스를 함께 제공하는 서비스도 같은 작업 공간에서 다룰 수 있습니다.
전체 흐름은 gRPC API 테스트 가이드에서 확인할 수 있습니다.
보관된 클라이언트 폐기하기
BloomRPC는 더 이상 새 설정에 사용할 도구가 아닙니다. 다음 단계로 이동하려면 .proto 파일 또는 리플렉션이 활성화된 서버를 준비하고, 첫 단항 호출과 스트리밍 호출을 실행한 뒤, 설정을 프로젝트에 저장하세요.
Apidog를 무료로 다운로드하십시오. 4명으로 구성된 팀은 무료 플랜을 사용할 수 있으며, 마이그레이션에 필요한 핵심 파일은 기존 .proto 파일입니다.
Top comments (0)