gRPC

gRPC
gRPC
개발자구글
초기 릴리즈2016년 8월, 6년 전(2016-08)
안정된 릴리스
1.45.0[1] / 2022년 3월 19일; 4개월 전(2022-03-19)
저장소
기입처Android Java, C#, C++, Dart, Go, Java, Kotlin/JVM, Node.js, Objective-C, PHP, Python, Ruby
유형리모트 프로시저 호출 프레임워크
면허증.Apache 라이센스 2.0
웹 사이트grpc.io

GRPC(gRPC 원격 절차 Calls[2])은 현대적인 오픈 소스 어떠한 환경에서 달린다 높은 성능 원격 프로시저 호출(원격 프로시저 호출)프레임워크입니다. gRPC 처음에는는 구글 microservices 자체 데이터 센터 내부에서와 가로질러서 운영하는 학교의 큰 번호 연결할 단일 범용 RPC기반 시설 스터 비라고 불리는 사용해 왔다에 의해 만들어졌다. 위해서10년 이상에 걸쳐서2015년 3월, 구글은 Stubby의 다음 버전을 만들고 그것을 오픈 소스로 만들기로 결정했다.그 결과 gRPC는 현재 구글 이외의 많은 조직에서 마이크로 서비스에서 컴퓨팅(모바일, 웹, 사물 인터넷)의 "최후의 마일"에 이르는 사용 사례를 지원하기 위해 사용되고 있습니다.전송에는 HTTP/2를 사용하고 인터페이스 기술 언어로서 Protocol Buffers를 사용하며 인증, 양방향 스트리밍 및 흐름 제어, 블로킹 또는 논블로킹바인딩, 취소 및 타임아웃 등의 기능을 제공합니다.여러 언어의 크로스 플랫폼클라이언트 및 서버 바인딩을 생성합니다.가장 일반적인 사용 시나리오에는 마이크로 서비스 스타일의 아키텍처에서 서비스를 연결하거나 모바일 장치 클라이언트를 백엔드 [3]서비스에 연결하는 것이 포함됩니다.

gRPC는 HTTP/2를 복잡하게 사용하기 때문에 브라우저에서 gRPC 클라이언트를 구현할 수 없습니다.대신 [4]프록시가 필요합니다.

인증

gRPC는 TLS 및 토큰 기반 인증 사용을 지원합니다.Google 서비스에 연결하려면 TLS를 사용해야 합니다.credential에는 채널 credential과 콜 [5]credential의 2종류가 있습니다.

부호화

gRPC는 Protocol Buffers를 사용하여 데이터를 인코딩합니다.JSON을 사용한 REST API와는 달리, 보다 엄격한 사양을 가지고 있습니다.gRPC는 단일 사양이기 때문에 플랫폼과 [6]구현 간에 일관성이 있기 때문에 논쟁을 없애고 개발자의 시간을 절약할 수 있습니다.

도입

Uber,[7] Square, Netflix, IBM, CoreOS, Docker, RockleDB, Cisco, Juniper Networks,[8] Spotify,[9] Zalando,[10] Dropbox,[11] Google 등 많은 조직이 gRPC를 최초 개발자로 채택했습니다.

오픈 소스 프로젝트 u-bmc는 IPMI를 [12]대체하기 위해 gRPC를 사용합니다.Dropbox는 2019년 1월 8일 서비스 지향 아키텍처(SOA)의 핵심인 RPC 프레임워크인 "Courier"의 다음 버전이 기존의 커스텀 [13]RPC 프레임워크와 잘 일치하기 때문에 GRPC에 기반하도록 이행될 것이라고 발표했습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "gRPC releases". Retrieved 2022-02-07.
  2. ^ "FAQ". gRPC.
  3. ^ "About gRPC". gRPC. Retrieved 2021-05-25.
  4. ^ "The state of gRPC in the browser". gRPC.
  5. ^ "gRPC". grpc.io. Retrieved 2020-02-24.
  6. ^ JamesNK. "Compare gRPC services with HTTP APIs". docs.microsoft.com. Retrieved 2020-02-24.
  7. ^ "gRPC at Uber".
  8. ^ "gRPC". grpc.io. Retrieved 2020-02-24.
  9. ^ "gRPC at Spotify" (PDF). jfokus.se. Retrieved 2020-05-12.
  10. ^ "Zalando Tech Radar". opensource.zalando.com. Retrieved 2021-04-08.
  11. ^ "How we migrated Dropbox from Nginx to Envoy". Dropbox.Tech. Retrieved 2020-10-30.
  12. ^ "u-bmc". GitHub.com.
  13. ^ Nigmatullin, Ruslan; Ivanov, Alexey (2019-01-08). "Courier: Dropbox migration to gRPC". Retrieved 2019-01-09.

외부 링크