並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 281件

新着順 人気順

gRPCの検索結果201 - 240 件 / 281件

  • Why Does gRPC Insist on Trailers? | Carl's Blog

    Why Does gRPC Insist on Trailers? gRPC comes up occasionally on the Orange Site, often with a redress of grievences in the comment section. One of the major complaints people have with gRPC is that it requires HTTP trailers. This one misstep has caused so much heartache and trouble, I think it probably is the reason gRPC failed to achieve its goal. Since I was closely involved with the project, I

    • TypeScriptでgRPCを使ったアプリケーション開発をしてみた - 電通総研 テックブログ

      こんにちは。X(クロス)イノベーション本部 ソフトウェアデザインセンター の山下です。 今回は、TypeScriptを使って、gRPCのアプリケーションを開発する際の方法について紹介します。 gRPCとProtocol Buffers gRPCはGoogleの開発した様々な環境で動作するオープンソースのRPCフレームワークです。 gRPCは負荷分散、トレース、ヘルスチェック、認証などの機能をサポートし、効率的な通信の仕組みを提供しています。 gRPCは、Protocol Buffersというインターフェース記述言語(IDL)を用いてサービスを定義して利用します。このProtocol BuffersもgRPCと同じくGoogleが開発しています。gRPCでアプリケーションを開発する際は、まずProtocol Buffersから通信に関するプログラムを自動的に構築して開発することになります。

        TypeScriptでgRPCを使ったアプリケーション開発をしてみた - 電通総研 テックブログ
      • gRPC over HTTP2 - 射撃しつつ前進

        gRPCはRPCのフレームワークです。プロトコルはHTTP/2上に定義されています。普段gRPCを使っているもののプロトコルの仕様を見たことがなかったので見てみました。 動かしたサンプルはHello Worldです。 このサンプルでgRPCサーバは"Greeting: Hello <クライアントが送った文字列>"のようにレスポンスをします。 クライアントからは"world"という文字列を送っているので実行すると以下のようになります。 クライアント $ go run greeter_client/main.go 2019/12/13 20:49:26 Greeting: Hello world サーバ $ go run greeter_server/main.go 2019/12/13 20:49:26 Received: world これをWiresharkでキャプチャしてgRPCリクエス

          gRPC over HTTP2 - 射撃しつつ前進
        • 実践: Ruby gRPC API サーバ | Wantedly Engineer Blog

          こんにちは、Wantedly Visit のバックエンドエンジニアをしている鴛海です。 本稿は、WANTEDLY TECH BOOK 8 から「実践: Ruby gRPC API サーバ」という章を抜粋し加筆修正を加えたものです。ウォンテッドリーでは WANTEDLY TECH BOOK のうち最新版を除いた電子版を無料で配布しています。ぜひ読んでみてください。 過去の WANTEDLY TECH BOOK を入手する 以下、本文です。 1: はじめに本稿では、gRPC の Quick Start から一歩先に進むために何をすればいいかを、Ruby gRPC API サーバを運用した経験を元に紹介します。「2: gRPC の概要」で gRPC とは何か、どういう利点があるのかを紹介した後、「3: Ruby で gRPC API サーバを作る」で Ruby を使って gRPC サーバを作る際

            実践: Ruby gRPC API サーバ | Wantedly Engineer Blog
          • 「IDOLY PRIDE」におけるgRPC利用とカスタマイズ | QualiArtsエンジニアブログ

            *1 最大値と最小値を除いた値の平均値 gRPC、REST API共に1回目のリクエストではコネクションの作成の影響かパフォーマンスの悪化が見られたものの、2回目以降のリクエストではgRPCがREST APIに比べ2倍以上速い結果となりました。 gRPCの実装の容易さ gRPCを採用した3つ目の理由は「実装の容易さ」です。 前項でgRPCの通信速度について紹介しましたが、この恩恵を.protoファイルから自動生成したソースコードを利用することで簡単に享受することができました。以下はGo言語とC#(Unity)それぞれのgRPCクライアントの実装例です。 【Go言語】 conn, err := grpc.Dial("localhost:8080", grpc.WithInsecure()) if err != nil { panic(err) } defer conn.Close() cli

              「IDOLY PRIDE」におけるgRPC利用とカスタマイズ | QualiArtsエンジニアブログ
            • スターティングgRPC | インプレス NextPublishing

              インプレスR&D スターティングgRPC 著者:武上 将樹 Googleが開発したAPI規格で、スキーマ駆動開発に入門しよう! gRPCはGoogleが開発した高速なAPI通信とスキーマ駆動開発を実現するRPCフレームワークであり、マイクロサービス間の内部通信を実現する有力な選択肢として活用されはじめています。本書ではサーバー側(Go)/ クライアント側(Ruby)と異なる言語を用いて、いくつかのサンプルアプリケーションを実装しながら、gRPCとRESTの違い、Protocol Buffersにおけるスキーマの文法、単純なRPCから双方向ストリーミングRPCまでのgRPCにおける基本的な実装方法などを平易に説明します。

                スターティングgRPC | インプレス NextPublishing
              • Rustで、Hello Worldを卒業した?次は、gRPCだよね!

                こんにちは、NTTの藤田です。 Rustには公式なgRPCサポートがありません。gRPCなAPIがないなら、何も実装する気になりません、クラウドネイティブ時代ですからね。公式なgRPCサポートがない代わりに、4種類も非公式な実装がありますので、安心です。安定性や、コミュニティの活発度など、様々な比較の観点がありますが、今回は、Rustへの信仰の強さ、という観点で比較しました。 Rustには公式なgRPCサポートがない信仰の強さの評価軸他言語への依存度Rust以外は言語にあらず。他言語の存在を許容するようでは、信仰が強いとはいえません。全てをRustで再実装するべきです。 最新の非同期処理への対応今、Rust界の大きな話題といえば、11月のasync/awaitを利用した非同期処理を実現するためのFuture APIの安定化です。古い異端のコードを捨て、迅速に、定められた、正統な非同期処理の

                  Rustで、Hello Worldを卒業した?次は、gRPCだよね!
                • Docker DesktopのgRPC FUSE / VirtioFSが有効だとMySQLのentrypoint.shでエラーになる

                  Docker Desktop for Mac を 2.4.0.0 に更新したところ、突然 MySQL のコンテナ初期化時に /entrypoint.sh がエラーになったのでメモ。

                    Docker DesktopのgRPC FUSE / VirtioFSが有効だとMySQLのentrypoint.shでエラーになる
                  • gRPCでFieldMaskを使う(取得編) - Carpe Diem

                    概要 クライアントデバイスが多様化する中、UIに必要なデータもそれぞれ異なるためAPIのオーバーフェッチ(不要なデータの取りすぎ)が課題になってきます。 またマイクロサービス間の通信でも、例えばマスタ系データのうち必要なデータだけ取得して利用したいケースは多々あります。 かと言ってその度に必要最低限のデータを取得するメソッドを用意するのは開発が大変ですし、逆に細かいデータばかりのgRPCを用意すると今度はアンダーフェッチ(データが足りなくて複数回コールが必要になる)が発生します。 GraphQLでは欲しいデータをクライアント側が明示的に要求するのでオーバーフェッチが発生しないというメリットがありますが、gRPCではFieldMaskという機能があります。 今回はFieldMaskを使って余分なデータを返さない方法を説明します。 環境 Go v1.18.3 protoc-gen-go v1.

                      gRPCでFieldMaskを使う(取得編) - Carpe Diem
                    • GolangとCloud SpannerでgRPC APIを構築する #1 - Qiita

                      この抜粋の内容は次のとおりです。 Cloud Spanner Emulator の導入 Spanner で CRUD gRPC API の実装: connect-go さらに詳しく知りたい方は読み続けてください。 2023年7月2回目です。 普段、ぼくたちの Database の第一の選択肢は、Cloud SQL です。 ですが、今後、可用性が求められるフェーズに対応するために、Cloud Spanner での開発について調査します。 Cloud Spanner は、今のサービス群で使うには高価です。最小サイズが Processing Unit になったとは言え。 一方で、強整合性を持ちながらグローバルな負荷分散が可能で、これを CockroachDB などで運用すると考えると妥当な価格であることも認識しています。 Cloud Spanner Emulator の導入 gRPC リクエスト

                        GolangとCloud SpannerでgRPC APIを構築する #1 - Qiita
                      • Goとgrpc-gatewayでリバースプロキシを開発する――gRPCサービスのRESTful API化

                        Goとgrpc-gatewayでリバースプロキシを開発する――gRPCサービスのRESTful API化:スキマ時間にこっそり学ぶ「gRPC」入門(終) 第8回は、gRPCをサポートしないWebブラウザなどのクライアントからgRPCサービスを利用するためのリバースプロキシgrpc-gatewayを紹介します。プログラミング言語はGoです。

                          Goとgrpc-gatewayでリバースプロキシを開発する――gRPCサービスのRESTful API化
                        • Cloudflare で gRPC を通す (4. ロードバランシング) - Qiita

                          設定フロー 公式の設定ガイドに従います。 負荷分散ダッシュボードでは下記の項目が選択可能となっています。 ロードバランサーを作成する API モニターやプールを関連つけたロードバランサーの設定 モニターを管理する API サービスの死活監視を行う、ヘルスモニターの設定 (今回は TCP Port 443 に対する TCP コネクションでサービスの生死を確認) プールを管理する API gRPC オリジンサーバの集まりである、プールの設定 (今回は国ごとにプールを作成) 下記のようなウィザードに従い、作成します。 1. ホスト名 ホスト名を入力し、オレンジ雲に倒して HTTP Proxyとします。 グレー雲の場合は HTTP Proxy はせず、DNS によるロードバランシングとなります。 2. オリジンプール プール (オリジンサーバーのグループ) を指定します。 今回はプールが 3 つ、

                            Cloudflare で gRPC を通す (4. ロードバランシング) - Qiita
                          • connect-goでgRPCの通信方式4種類を網羅!テスト付き実装ガイド

                            最近、いくつかの言語でサポートを発表し、Connectが色々と騒がれていました! Jan 18, 2023 Announcing Connect-Swift: You’ll actually want to use Protobuf on iOS https://buf.build/blog/announcing-connect-swift/ Feb 22, 2023 Announcing Connect-Kotlin: Connect is now fully supported on mobile! https://buf.build/blog/announcing-connect-kotlin/ Feb 28, 2023 Connect for Node.js is now available https://buf.build/blog/connect-node-beta ついには

                              connect-goでgRPCの通信方式4種類を網羅!テスト付き実装ガイド
                            • Node.jsでgRPCを動かそう - Qiita

                              ※こちらの記事は3/21に開催するxhack勉強会「Node.jsでgRPCを動かそう」の資料となります 本日のお品書き 始めに 自己紹介 想定参加者について 今日のゴール Node.jsでgRPCを動かそう gRPCって何? ハンズオン 質疑応答 最後に 始めに ぜひ#xhack勉強会 で感想をツイートしてください! また、可能な方はカメラオンにして欲しいです!顔が見えない中ひとりで話すのは寂しい、、 自己紹介 とむといいます。 新卒未経験からエンジニアになってまもなく2年。 今年の2月に転職をし、大阪から東京に引っ越してきました。 転職前はJavaを使って主にサーバ側の開発をしていましたが、現在はスマホアプリ開発をメインに行っている株式会社マンハッタンコードで働いています。 Twitterはこちらをクリック←ぜひフォローしてください! 以前からX-HACKさんの勉強会にはものすごくお世

                                Node.jsでgRPCを動かそう - Qiita
                              • フロントエンドとの連携が最大限ラクになる gRPCのスキーマ設計

                                はじめに 弊社で開発中のマーケティングSaaS NeX-Rayのバックエンド開発ではgRPCを採用しています。 gRPCは、Googleによって開発されたリモートプロシージャコール(RPC)システムで、HTTP/2を使用した効率的な通信の実現や、スキーマ駆動開発が可能であることがメリットとなっています。 本記事では、Nex-RayにおけるgRPCのスキーマ設計を解説します。 スキーマ設計 gRPCのスキーマ定義は、Protocol Buffers(protobuf)と呼ばれるインタフェース定義言語(IDL)によって記述されます。 例えば、protobufは、以下のように定義されます。 service GatewayService { rpc Register(SampleRequest) returns (SampleResponse) {} } message RegisterReque

                                  フロントエンドとの連携が最大限ラクになる gRPCのスキーマ設計
                                • Proxyless Service Mesh with gRPC

                                  [RSJ24] Object Segmentation from Open-Vocabulary Manipulation Instructions Based on Optimal Transport Polygon Matching with Foundation Models

                                    Proxyless Service Mesh with gRPC
                                  • k8sで、HTTP/2(gRPCサーバ)を負荷分散したい - Qiita

                                    kubernetesで、HTTP/2を負荷分散してみた はじめに 背景 現在学生プロジェクトでインフラとして、GKE(Google Kubernetes Engine)を利用させて頂いています。 REST APIサーバを、gRPCに換装してみようとした時にある問題にぶち当たりました。 前提知識として Kubernetesのロードバランサ Services are a “layer 4” (TCP/UDP over IP) construct, the proxy was purely in userspace 現行のKubernetesのIngressは、OSI参照モデルのトランスポート層(L4)のロードバランサを提供しています。(beta版はその限りではないです!) gRPCの通信の仕方 gRPCでの通信は、 一つのTCPコネクションを使い回します。 つまり、コネクションが確立している間

                                      k8sで、HTTP/2(gRPCサーバ)を負荷分散したい - Qiita
                                    • [Go]gomockを使ったgRPCのテスト - My External Storage

                                      gRPCの勉強というより、gomockの勉強と言ったほうが良いかもしれないが、 protocコマンドで生成したgRPCコードをモックしてテストする方法を確かめた。 せっかくなので今回は自分でProtocol Bufferの定義からやった。 Mocking Service for gRPC https://github.com/grpc/grpc-go/blob/master/Documentation/gomock-example.md TL;DR gRPCで自動生成したGoのAPIのMockを作成する。 今回はチュートリアル同様クライアントコードのみ。 チュートリアルコードと同じパッケージ構成だとちょっとハマった 作成したコードは以下のリポジトリにある。 https://github.com/budougumi0617/sandbox-grpc/tree/master/tasklist

                                      • LinkedInがREST+JSONではなくgRPC+Protobufを選んだ理由:Karthik Ramgopal氏とMin Chen氏とのQ&#x26;A

                                        Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                                          LinkedInがREST+JSONではなくgRPC+Protobufを選んだ理由:Karthik Ramgopal氏とMin Chen氏とのQ&#x26;A
                                        • React + grpc-web + Goでリアルタイムお絵描きブロードキャスティング

                                          ヤプリ #1 Advent Calendar 2022 3日目 React Advent Calendar 2022 4日目 の記事です! 概要 今まで、ReactでWebSocket等の双方向通信を扱った実装をしたことがなかったのでこの機会にやろうと思います。 今年、ちょうど仕事でgrpc(とgrpc-webとGo)を使い始めたので組み合わせてみます。 grpc-webは癖が強いと思いがちなので(個人的に思っているだけかも。。)、ちゃんと向き合っていこうと思います。 以前に、grpc-webで1:1のチャットアプリを作っている記事を読んで面白そうだったので、それの拡張として今回は通信量の多いデータのブロードキャストができるのかを検証したいと思います。 サーバ->クライアントの通信にはServer stream RPCという通信方式をおそらく使うことになると思うので、その実装を通してgrp

                                            React + grpc-web + Goでリアルタイムお絵描きブロードキャスティング
                                          • REST、gRPC、および GraphQL を使い分ける (パート 1) | エクセルソフト ブログ

                                            マイクロサービスの普及により、ソフトウェアの世界では多くの新しい革新的なアプローチが生み出されています。しかし、期待するビジネス成果が一貫して得られる、堅牢で高品質な API の構築は複雑な作業です。マイクロサービスを採用する組織を対象とした最近の調査で、回答者の約 30% が最大の課題の 1 つとして「API の品質」を挙げているのも不思議ではありません。 API ベースのアプリケーションは多種多様です。API 形式ごとにそれぞれの長所と短所があり、どれを使うかは特定のアプリケーション要件に大きく依存します。 この 2 部構成のシリーズでは、API 開発で最も人気のある 3 つのアプローチ、REST、gRPC、GraphQL について紹介します。それぞれのモデルの長所と短所を比較し、アプリケーションに最適な API モデルを判断する方法を説明します。 REST (REpresentati

                                              REST、gRPC、および GraphQL を使い分ける (パート 1) | エクセルソフト ブログ
                                            • gRPC: メソッドの呼び出しと HTTP/2 フレームの関係 - Qiita

                                              この記事について この記事では gRPC の Go言語実装である grpc-go を元に、 gRPC のメソッド呼び出しが HTTP/2 を使ってどう実現されているかをまとめる。 環境情報 Go 言語のバージョン : 1.14.4 grpc-go のバージョン : 1.29.1 はじめに この記事では、以下のようなシンプルな protobuf の定義(*.protoファイル)を用いて確認をしている。 syntax = "proto3"; package helloworld; service Greeter { // Unary RPC rpc SayHello (HelloRequest) returns (HelloResponse) {} // Server streaming RPC rpc SayHello_SS (HelloRequest) returns (stream He

                                                gRPC: メソッドの呼び出しと HTTP/2 フレームの関係 - Qiita
                                              • ECS Fargate(Nginx + gRPC)構成のヘルスチェック設定 - Qiita

                                                タイトルの通りですが、NLBとECS Fargateの構成となっており、FargateのタスクではNginxとgRPCアプリケーションが稼働する構成となっております。 今回は内部通信の要件だったため、平文で通信しています。HTTP/2でTLS終端しようとすると、NLBはALPNに対応していないため問題となりうるのですが、今回は平文通信のためこの問題は回避できました。 ヘルスチェック問題 この構成で問題となるのがヘルスチェックです。 今回は平文のgRPCを採用しているためターゲットグループのプロトコルはTCPを選択する必要があるのですが、この場合、ヘルスチェックで使用できるオプションは、TCP、HTTP、HTTPSの三つのみです。HTTP、HTTPSはgRPCメソッドを呼び出すことはできず、TCPはポート監視のみとなり、アプリケーションの死活監視を行うことができません。 ECSのHEALTH

                                                  ECS Fargate(Nginx + gRPC)構成のヘルスチェック設定 - Qiita
                                                • 今流行りのgRPCを簡単にまとめてみた(Goのサンプルコード付き)

                                                  はじめに (当時)Go歴1ヶ月の私が急遽gRPCを用いてバックエンドのAPIを開発してる業務に参画することになり、必要にかられて急いで学んだので、その時の学びを共有します✎ ※Qiitaでデイリーのトレンドに載りましたー!! gRPCって最近よく聞くけど、「なにそれ?」って方も多いと思うので(私もそのうちの1人でした)、自分の学びを纏めるためにもgRPCのエントリー記事を書こうと決意し、Go 5 Advent Calendar 2020に登録しました! gRPCとは gRPCって良いらしい 最近gRPC流行ってるらしい 等聞いたことは多いと思いますが、簡単に説明すると RPC (Remote Procedure Call) を実現するためにGoogleが開発したプロトコルの1つ Protocol Buffers を使ってデータをシリアライズし、高速な通信を実現できる IDL(インターフェー

                                                    今流行りのgRPCを簡単にまとめてみた(Goのサンプルコード付き)
                                                  • ブラウザから始めるgRPC 〜 gRPC-WebにPHPを添えて

                                                    PHPerKaigi 2021 の発表資料です サンプルコード: https://github.com/n1215/grpc-web-chat

                                                      ブラウザから始めるgRPC 〜 gRPC-WebにPHPを添えて
                                                    • gRPCの4つの通信方式をPythonでやってみる

                                                      gRPCの4つの通信方式の理解を深めるため実際に実装を行っていきます。 既にGo言語で書かれた記事が多くあったので本記事ではPythonで進めていきます。 コードはGitHubのKumamoto-Hamachi/rpc_practiceのzenn-articleブランチ側に今回の記事のコードを上げています。またmainブランチには発展的な内容として複数Servicerがある場合のコードも上げてあります。 本記事ではクライアント側の実装も行っていきますが、実際の開発でgRPCの動作確認をする際にはevansやBloomRPC等のツールを利用するのが楽なのでオススメです。 ※evansやBloomRPCの解説はgRPCの動作確認にはBloomRPCとevansが便利!という話で行っているのでそちらを参考にしてみてください。 またgRPCについて全く聞いたこともないというレベルの方はまずさくらイ

                                                        gRPCの4つの通信方式をPythonでやってみる
                                                      • GraphQL, gRPC or REST? Resolving the API Developer's Dilemma - Rob Crowley

                                                        GraphQL, gRPC, REST and WebHooks are among a bewildering array of technologies and architectural styles that are available to API developers today. Presented with such myriad options, how can we be confident of making an appropriate decision for the problem at hand? In search of guidance, developers often turn to online communities. This can exacerbate the problem as discussions about API styles o

                                                          GraphQL, gRPC or REST? Resolving the API Developer's Dilemma - Rob Crowley
                                                        • Go+gRPC-WebのアプリケーションをGKE+Envoyで負荷分散する - Qiita

                                                          概要 今回はGo+gRPC-Webで実装したバックエンドサーバをGKE+Envoyで負荷分散していきます。 gRPCとEnvoyを使用した記事は多く見かけたのですが、gRPC-Webを用いた記事は見つからなかったので、実際に構築してみました。基本的には従来のgRPCを使った場合と一緒です。 因みに、詳しくは後述しますが、gRPC-Webはclient→envoy間はhttp/1.1なので、「その間にALB挟めば普通に負荷分散できるんじゃね?🤔」 …と思い一応検証してみましたが、問題なく動作致しました。当たり前か…。 ただ、後学の為にも勉強をしておいて損はないはずです! 僕のスペックとしてはKubernetes含め、インフラに関しては殆ど初心者ですので、誤りや不備に対するご意見・ご指摘大歓迎です! アーキテクチャ図 今回構築する環境の簡単なアーキテクチャ図です。 今回説明しないこと Kub

                                                            Go+gRPC-WebのアプリケーションをGKE+Envoyで負荷分散する - Qiita
                                                          • AWS App Mesh now supports HTTP2 and gRPC services

                                                            Customers building services that communicate using protocols like HTTP/2 and gRPC can now model and manage their inter-service communications using AWS App Mesh. Previously, customers could only model application traffic routing with App Mesh as HTTP 1.1, otherwise falling back to TCP. With this launch, customers can use AWS App Mesh to model inter-service communication for services that use HTTP/

                                                              AWS App Mesh now supports HTTP2 and gRPC services
                                                            • Chunking large messages with gRPC

                                                              One of the gotchas of using gRPC is that it was not designed to transport large messages in one chunk. The default max message size is slightly arbitrarily set at 4MB today, and while it is possible to configure, that kind of behaviour might lead to a slippery slope scenario of ever increasing max message sizes. So what do we do when the message size is too large? We chunk the data into smaller pi

                                                                Chunking large messages with gRPC
                                                              • [2020年登壇まとめ] 今年はgRPC Confやdroidcon, RecSysなどの海外カンファレンスをはじめ多数のイベントに登壇した年でした | Wantedly, Inc.

                                                                Wantedlyで技術イベント企画運営を担当している竹内みずき ( @amanda__mt )です! 今年も残すところあと数日ですね。 2020年はコロナウィルスの感染拡大により、予定されていた各カンファレンスは中止、またはオンラインで開催するなど皆様にとっても対応に追われた年となったかと思います。 そんな中、過去最多となる国際カンファレンスに3回、大規模国内カンファレンスに7回登壇するなど、エンジニアにとって自身のプレゼンス向上につながる年でした。 また、企業スポンサーとしては、この1年でGo Conference'20 in Autumn SENDAIやiOSDC Japan 2020、DEIM 2020に協賛してきましたが、来年は更なるコミュニテイへの貢献を目指していきたいと思います。 今回のStoryでは2020年に登壇した国内外カンファレンス・イベントの総ざらいをしていきます💪

                                                                  [2020年登壇まとめ] 今年はgRPC Confやdroidcon, RecSysなどの海外カンファレンスをはじめ多数のイベントに登壇した年でした | Wantedly, Inc.
                                                                • gRPC Ruby でハマらないための型チェッカー | Wantedly Engineer Blog

                                                                  gRPC とは Google が開発したオープンソースの RPC フレームワークで、一般に同じく Google の開発したシリアライズ形式の Protocol Buffers とセットで用いられています。この gRPC と Protocol Buffers の嬉しい点は色々あって、様々な言語に対応しているのもその一つです。 Wantedly 社内ではもっぱら Ruby で書かれたサービスをマイクロサービス化していくために使っているのですが、そうなると困った所も出てきます。普通 gRPC を使って API を定義する際、リクエストやレスポンスがどのような形式をしているか—すなわち型—を Protocol Buffers の形式で明示的に書かなければならないのですが、Ruby は静的に型チェックを行ってくれないので、せっかく書いた型の情報をデバッグに役立てられないのです。お陰で、型の違うレスポ

                                                                    gRPC Ruby でハマらないための型チェッカー | Wantedly Engineer Blog
                                                                  • サーバーにruby、クライアントにPHPでgRPCを頑張る - Qiita

                                                                    はじめに google謹製のRPCフレームワークであるgRPCを使って、サーバーにruby、クライアントにPHPを使って、異なる言語間を共通のI/FでAPI通信してみたいと思います。 異なる言語間としているのはgRPCのメリットであるIDL定義によるI/Fの共通化の醍醐味を味わってみたいというより、PHPでgRPCサーバの構築ができないという現実に対する条件反射のようなものですが、結果的に醍醐味もやってくるので、味わってみたいと思います。 クライアントにPHPを使う場合、サーバー側はどうもgoで紹介しているところが多いので、ここではrubyを使ってみます(はい、go知らないの確定)。 概要はここで書くまでもないので、さっそく。 ここではAPIとして、ドメインを指定すると有効期限を取ってくる、というものを書いてみます。 INPUT: FQDN OUTPUT: yyyy/mm/dd hh:ii

                                                                      サーバーにruby、クライアントにPHPでgRPCを頑張る - Qiita
                                                                    • GitHub - public/sonora: A gRPC-Web implementation for Python

                                                                      Regular gRPC has a lot going for it but is awkward to use in some environments. gRPC-Web makes it easy to get gRPC working in environments that need HTTP/1.1 but the Google gRPC and gRPC-Web implementations don't like to coexist with your normal Python frameworks like Django or Flask. Sonora doesn't care what ioloop you use, this means you can run it along side any other Python web framework in th

                                                                        GitHub - public/sonora: A gRPC-Web implementation for Python
                                                                      • gRPCで実現できるストリーミング処理|作ってわかる! はじめてのgRPC

                                                                          gRPCで実現できるストリーミング処理|作ってわかる! はじめてのgRPC
                                                                        • Introduction to gRPC

                                                                          Introduction to gRPCAn introduction to gRPC and protocol buffers. This page introduces you to gRPC and protocol buffers. gRPC can use protocol buffers as both its Interface Definition Language (IDL) and as its underlying message interchange format. If you’re new to gRPC and/or protocol buffers, read this! If you just want to dive in and see gRPC in action first, select a language and try its Quick

                                                                            Introduction to gRPC
                                                                          • GKE 上で gRPC サーバーのヘルスチェックを実施 | Google Cloud 公式ブログ

                                                                            ※この投稿は米国時間 2020 年 11 月 12 日に、Google Cloud blog に投稿されたものの抄訳です。 gRPC は Cloud Native Computing Foundation がホストする高性能なオープンソース RPC フレームワークです。GKE のお客様には、多くの場合マイクロサービスの作成に好んで使用されています。gRPC で構築したサービスでは、クライアントとサーバー側の実装言語を問わない効率的な相互通信が可能なためです。 ただし、Kubernetes はネイティブでは gRPC のヘルスチェックをサポートしないため、grpc-health-probe という名前のオープンソース プロジェクトを開発、リリースいたしました。gRPC サーバーのヘルスチェックを行うコマンドライン ツールであるこのプロジェクトは、これまで 180 万回ダウンロードされています

                                                                              GKE 上で gRPC サーバーのヘルスチェックを実施 | Google Cloud 公式ブログ
                                                                            • Rust でも gRPC が使いたい! - Qiita

                                                                              Rust 1.39.0 でasync/.awaitが安定化され、今後はサーバーサイドの用途で Rust が採用されるケースが増えそうですね(期待を込めて)。 そのなかでも今回は、マイクロサービス指向で作成されたプロジェジェクトで採用されることが多い gRPC にフォーカスし、Rust の gRPC ライブラリである hyperium/tonic について紹介します。 Rust の gRPC ライブラリ Tonicのことを紹介する前に、他の gRPC ライブラリについても軽く触れておきます。 2019 年 12 月時点で、grpc-ecosystem/awesome-grpcリポジトリには以下のライブラリが紹介されています。 stepancheg/grpc-rust - Rust implementation of gRPC tikv/grpc-rs - The gRPC library f

                                                                                Rust でも gRPC が使いたい! - Qiita
                                                                              • Data Streaming via GRPC vs MQTT vs

                                                                                MQTT vs Websockets vs GRPCWhen there is a requirement to stream real time data like GPS and sensor data to cloud server, we have three main options to pick from MQTT, Websockets, GRPC the new guy from Google. But which one should we pick is real tough given the situations and requirements. This article is primarily to brief about the different options and a comparison between each other. Before we

                                                                                  Data Streaming via GRPC vs MQTT vs
                                                                                • GitHub - storj/drpc: drpc is a lightweight, drop-in replacement for gRPC

                                                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                    GitHub - storj/drpc: drpc is a lightweight, drop-in replacement for gRPC