並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 303件

新着順 人気順

gRPCの検索結果81 - 120 件 / 303件

  • Blazor WASM × Code-first gRPC で始める C# ⼤統⼀理論

    ■イベント イマドキのC# .NET Web開発 〜gRPC, GraphQL, Blazorもあるよ〜 https://sansan.connpass.com/event/316664/ ■発表者 Sansan Engineering Unit Data Hubグループ 今村 有人 ■ Sansan Data Hub エンジニア採用情報 https://media.sansan-engineering.com/datahub-engineer

      Blazor WASM × Code-first gRPC で始める C# ⼤統⼀理論
    • gRPCのkeepaliveで気をつけること - Carpe Diem

      概要 gRPCでは1つのHTTP/2コネクション上でstreamを多重化します。 しかしidleなコネクションは、LBなど間に介在するネットワーク機器によって気づいたら切断されているケースがあります。 そうならないよう、定期的にパケット(PINGフレーム)を流して「idleではないよ」とコネクションを維持しようとするのがいわゆるkeepaliveという仕組みです。 gRPCではデフォルトの設定では無効になっている&地味に設定が細かいので1つ1つ説明します。 gRPCのkeepaliveの役割 大きく2つあります。 1つ目は先に述べたようにidleコネクションを維持するためです。 2つ目は死んだコネクション(TCPハーフオープン)があったら切断し、再接続するためです。 例えばNLBでは350秒以上idleなコネクションが切断される仕組みがあり、これによって普段あんまりトラフィックの無いサービ

        gRPCのkeepaliveで気をつけること - Carpe Diem
      • Simplify your backend with Git clone of gRPC – Encore Blog

        Git clone over gRPCClone git repositories over gRPC to simplify your backend infrastructure Git supporting HTTPS and SSH for cloning always felt sufficient, until it didn't. It works perfectly fine for developers cloning a repository! But when we were building the infrastructure to power Encore's new web-based editor, we wanted to programmatically clone Git repositories, that plugged easily into t

          Simplify your backend with Git clone of gRPC – Encore Blog
        • BaggageをREST/gRPC/SQSで伝播できるようにした話 - Qiita

          なお、弊社はベンダーとしてはDatadog、言語としてはGoを使っているのでその前提でこのブログを書きますが、その他のベンダー、言語でも参考になると思います。 Baggageに含めるとよさそうなもの よくあげられる例としては、UserIDやProductID、ソースIPアドレスなどのリクエストに紐づくデータが挙げられます。注意点として、誤って外部のベンダーにBaggageが渡ってしまう(注意しないとあり得ます)ことを考慮し、セキュアな情報は含めないようにすべきです。 他には、featureフラグを運用しているのであれば、feature情報をBaggageに含めると良いでしょう。 BFFなどの通信の入り口でどのfeatureかを判断し、その後のマイクロサービス間での通信はその情報を常に渡してあげることでマイクロサービス全体で同じfeatureを提供することができます。 以前、軽量featur

            BaggageをREST/gRPC/SQSで伝播できるようにした話 - Qiita
          • gRPC サーバのビルドに Earthly を使ってみよう

            今 Earthly というビルドツールが (自分の中で) 俄かに話題になっています.自分で手を動かしてサンプルコードを作ってみたので,それを基に簡単に機能を紹介したいと思います.題材は Go + gRPC です. Earthly って何? Earthly は Makefile と Dockerfile を足したような書き味のビルドツールで, Makefile のように複数のタスクを定義し,タスクの中で Dockerfile を書くような感じでテストのような命令を実行したり,イメージを生成して保存したりできます. すでに他の方が Earthly を紹介している記事もあるのでぜひご覧ください. Earthly の大きな特徴は "Makefile + Dockerfile 風な構文の馴染みやすさ", "タスクをコンテナ上で実行することによる可搬性の高さ", "ビルドキャッシュの仕組みの簡単さ (

              gRPC サーバのビルドに Earthly を使ってみよう
            • Connect RPC joins CNCF: gRPC you can bet your business on

              Authored by Derek Perez Connect RPC, Buf’s family of fully protocol-conformant and battle-tested alternatives to Google’s gRPC project, has joined the Cloud Native Computing Foundation. We joined the CNCF to demonstrate our deep commitment to sustainably and responsibly growing Connect as a well-governed and community-led open source project. Today, Connect integrates seamlessly with gRPC systems

                Connect RPC joins CNCF: gRPC you can bet your business on
              • gRPCのServer-Streaming RPCを用いたPUSH通知の実現事例 | Fintan

                はじめに このドキュメントは、gRPCを用いてサーバからクライアントへのPUSH通知を実現した事例をまとめたものです。 ここでいう PUSH 通知とは、通常のクライアントからサーバへのリクエストではなく、何かしらの契機によりサーバからクライアントへ送信される通知を指します。 例えばチャットツールでよくあるように、誰かのメッセージが入力されたらチャット参加者全員に通知されるというものです。 gRPCを利用してみた事例は現時点でも多く存在しますが、サーバ側からの通知の実現方法を述べた情報は調べた限りでは多くありませんでした。 本ドキュメントは、gRPC での PUSH 通知をどのように実装するのか?、そして、その時の課題にどのようなことがあるのか?という情報を提供することを目的としています。 TL;DR サーバからの PUSH 通知を、gRPC の Server Streaming RPC と

                  gRPCのServer-Streaming RPCを用いたPUSH通知の実現事例 | Fintan
                • gRPC status codeの一覧 - Qiita

                  HTTPのステータスコードにあたる概念がgRPC Codeであり、以下で定義されている。 https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto 例えばGo言語だと以下にprotoから生成されたコードがある。 https://github.com/grpc/grpc-go/blob/master/codes/codes.go 一覧 適当に翻訳していく。 OK = 0 エラーなし。成功を返した。 HTTPだと 200 OK CANCELLED = 1 処理がキャンセルされた。通常は呼び出し側によるキャンセル。 HTTPだと 499 Client Closed Request ※Lを2つ重ねるスペルなことに注意。後述 UNKNOWN = 2 不明エラー。他のアドレス空間から受け取ったステータスを、適切

                    gRPC status codeの一覧 - Qiita
                  • Big Sky :: .NET Core 3.0 が gRPC をサポートした。

                    « mongoose ウェブサーバと TensorFlow Lite を使った Object Detection API サーバを書いた。 | Main | Microsoft Word を Markdown に変換するコマンド「docx2md」を作った。 » 「.NET Core 3.0」正式版が登場。Windowsデスクトップアプリ開発可能、exeファイルを生成、マイクロサービス対応など - Publickey 最新記事10本 Kafka開発元のConfluentに聞いた。エンタープライズ市場への道筋、大手クラウドとの現在の関係について 最大32コアのAMD EPYCプロセッサを搭載、コストパフォーマンスを高... https://www.publickey1.jp/blog/19/net_core_30windowsexe.html これまで通り、dotnet コマンドで SDK テ

                      Big Sky :: .NET Core 3.0 が gRPC をサポートした。
                    • gRPC Federation: gRPC サービスのための Protocol Buffers を進化させるDSL | メルカリエンジニアリング

                      Merpay Engineering Productivity Team の goccy です。 gRPC Federation は、gRPC で通信する複数のサービスから得た結果を合成して返すようなサービスを簡単に作成するための仕組みです。DSL ( Domain Specific Language ) を Protocol Buffers 上で記述することで利用します。まずは、GraphQL(Apollo) Federation の gRPC 用のものだと考えるとわかりやすいと思います。2023年8月に OSS として公開し、先日 Public Roadmap を公開しました。2024/6月末を目標に Version 1.0 ( GA版 ) をリリースする予定です。また、最近は Protocol Buffers のエコシステムに参加しました。Protobuf Global Extens

                        gRPC Federation: gRPC サービスのための Protocol Buffers を進化させるDSL | メルカリエンジニアリング
                      • PythonでgRPCサービスを開発する――サーバサイドストリーミングとは?

                        PythonでgRPCサービスを開発する――サーバサイドストリーミングとは?:スキマ時間にこっそり学ぶ「gRPC」入門(4) 第4回は、Pythonでストリーミング型のgRPCサービスを開発してみます。ここでは、幾つかあるストリーミング型のうち、サーバからの複数レスポンスとなるサーバサイドストリーミングを実装してみます。

                          PythonでgRPCサービスを開発する――サーバサイドストリーミングとは?
                        • 2022年はネイティブ×gRPCが激アツかもしれん

                          CyberAgent AI事業本部 DXエンジニアの EFEXP です。 先日久しぶりにAndroidでgRPCを触りました、3年前に触ったときと比べて劇的に開発者体験が改善されており、みなさんにもgRPCを使ってほしくなりました。 しばらく触っていて、もしかして2022年はモバイルエンジニアにとってgRPCが激アツかもと思ったので共有させてください。 gRPC Kotlinしか触っていないのでgRPC Swiftの話は参考程度に聞いてください。 gRPCがモバイル領域でいま激アツな理由 2022年、私はモバイル開発のクライアント・サーバー間通信でgRPCを用いるタイミングが来たと考えています。 もともとモバイルネイティブアプリとgRPCの相性はよいはずですが、2020年ごろまではバージョン更新によってすぐ互換性が壊れるほどエコシステム全体が不安定な状況でした。 この安定性の欠如はモバイル

                            2022年はネイティブ×gRPCが激アツかもしれん
                          • ふんわりざっくり大味で gRPC と tRPC の雰囲気を知る

                            tRPC をちょっとだけやってみたので、やる前に自分が知りたかったことやセットアップ時にわかりにくかったことを整理して、ふんわりざっくり大味でまとめておきます ついでなので gRPC についても簡単に整理します まず RPC とは RPC ( Remote Procedure Call ) とは、ネットワークで繋がっている別のコンピュータのプログラムを実行できるようにする技術のことです 呼ぶ側 ( = クライアントサイド ) が呼ばれる側 ( = サーバサイド ) を実行するときに、具体的な通信手段やプロトコルについて自分で実装する必要がない点が特徴です イメージを見てみましょう 普段行っているメソッド呼び出しは、RPC に対して LPC ( Local Procedure Call ) と言います このようなコードです、カタログはローカルにあるということにします

                              ふんわりざっくり大味で gRPC と tRPC の雰囲気を知る
                            • Cloud Run now supports HTTP/gRPC server streaming | Google Cloud Blog

                              We are excited to announce the availability of server-side HTTP streaming for your serverless applications running on Cloud Run (fully managed). With this enhanced networking capability,  your Cloud Run services can serve larger responses or stream partial responses to clients during the span of a single request, enabling quicker server response times for your applications. With this addition, Clo

                                Cloud Run now supports HTTP/gRPC server streaming | Google Cloud Blog
                              • フロントエンドエンジニアが最低限知っておきたい gRPC のこと - Qiita

                                はじめに 受託開発企業でフロントエンドエンジニアを1年ほどやっているものです。直近2ヶ月間 gRPC を使用する案件にアサインされたのですが、「フロントエンドエンジニア視点からみた gRPC 」 に関する記事が少なく、キャッチアップするのにかなり苦労しました。この記事では「フロントエンドエンジニア」 が gRPC について最低限知っておかないといけない概念や技術などをざっくり解説したいと思います。 この記事の対象者 フロントエンドエンジニアで gRPC 案件に突然アサインされた人 フロントエンドエンジニアで gRPC について知りたい人 フロント側から見た gRPC について知りたい人 この記事で触れないこと メリット / デメリットとか マイクロサービスがどうこうとか REST との比較とか その他の深い内容 おさらい この記事に辿り着く前に色々調べて既にご存知の方もいらっしゃるかと思い

                                  フロントエンドエンジニアが最低限知っておきたい gRPC のこと - Qiita
                                • Benchmarking gRPC in Rust & Go

                                  Some backgroundIf you’re a developer looking to build a reliable, memory safe, high performance application today, Rust & Go are surely your options. If you’re looking to get even more performance out of your internal applications, you might also want to look at using gRPC instead of a normal REST api. All these are solutions to reducing your computational overhead. I try to compare various librar

                                    Benchmarking gRPC in Rust & Go
                                  • KamonによるAPM導入 - Akka gRPCを用いたScalaアプリケーション編 - ZOZO TECH BLOG

                                    計測プラットフォーム部バックエンドチームの鈴木です。 この記事では、Akka gRPCを利用しているScalaアプリケーションのZOZOMATに対してKamonを通じてAPMを導入した際に得られた知見、うまくいかなかった内容やその対応策を紹介します。 Akkaとは 最初にAkkaについて簡単に紹介します。Akkaは、JVM上で並行および分散アプリケーションの構築を容易にするツールキットとランタイムです。 Actorモデルの実装であるAkka Actorsを中心とし、Akka StreamsやAkka HTTP、Akka Clusterなど様々なツールが提供されています。詳しくは公式ドキュメントやAkka実践バイブルを読むことで深く理解できます。書籍で紹介されているAkkaのAPIは、今では古いものとなっていますが、Akkaの楽しさを知るにはとても良い本です。 私たちが開発しているZOZOM

                                      KamonによるAPM導入 - Akka gRPCを用いたScalaアプリケーション編 - ZOZO TECH BLOG
                                    • Amazon EKSでAWS App Meshを利用してgRPCサーバーを運用する | Recruit Tech Blog

                                      こんにちは、スタディサプリENGLISH SREグループの横山です。 以前の記事1) スタディサプリENGLISHの基盤をECSからEKSに移行しましたにあるように、先日ついにスタディサプリENGLISHのインフラ基盤をECSからEKSに移行することができました。 本記事では、このEKS移行に伴いAWS App Mesh(以下、AppMesh)の導入をしたので、これに関連した話を書いていきたいと思います。 なぜAppMesh導入を検討し始めたか インフラ基盤がECSだった頃、gRPCの負荷分散にEnvoyとAmazon ECS Service Discoveryを利用していました。この構成については以下の記事に詳細があります。 EnvoyとAmazon ECS Service Discoveryを利用したgRPCの負荷分散 この構成にした当初は、デプロイ時にECS Serviceのローリン

                                        Amazon EKSでAWS App Meshを利用してgRPCサーバーを運用する | Recruit Tech Blog
                                      • gRPC と gRPC クライアントツール Evans | メルカリエンジニアリング

                                        この記事は、Merpay Tech Openness Month 2020 の 8 日目の記事です。 こんにちは。メルペイのコード決済チームでバックエンドエンジニアをしている @ktr です。 メルペイではマイクロサービスアーキテクチャを採用しており、それぞれのマイクロサービス間の通信プロトコルとして gRPC を、リクエスト・レスポンスのシリアライズフォーマットとして Protocol Buffers を採用しています。gRPC + Protocol Buffers を採用することにより、API のクライアントとサーバのインターフェース部分のコードを自動生成でき、リクエスト・レスポンスのエンコード、通信処理といった gRPC 特有の処理をほとんど意識せずに利用できます。 しかし、その一方で Protocol Buffers はバイナリベースのシリアライザであるため、例えば一般的な HTT

                                          gRPC と gRPC クライアントツール Evans | メルカリエンジニアリング
                                        • IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用 | BLOG - DeNA Engineering

                                          はじめに こんにちは。オートモーティブ事業本部の藤田泰介と吉江智弘です。 DeNA TechCon 2020 にて発表する予定だった内容をBlog記事としてお届けします。 今回は「IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用」と題してお送りします。 Centralサービスの概要と全体のアーキテクチャ(前半) 目次(前半) タクシー配車サービスMOVの紹介 MOV Centralサービスの紹介 Centralサービスの特徴 Centralサービスが扱うデータ Centralサービスのアーキテクチャ タクシー配車サービスMOVの紹介 サービスインしてから間もなく2年 MOVキービジュアル MOVとは 乗りたいときに、スマホひとつで簡単にタクシーが呼べるサービス ITのチカラでタクシー利用を進化させる 提供エリア 神奈川 東京 大阪 京都 兵庫など 車両台数 数万台規模に拡

                                            IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用 | BLOG - DeNA Engineering
                                          • Application Load Balancers enables gRPC workloads with end to end HTTP/2 support

                                            Application Load Balancer (ALB) now supports gRPC protocol. With this release, you can use ALB to route and load balance your gRPC traffic between microservices or between gRPC enabled clients and services. This will allow customers to seamlessly introduce gRPC traffic management in their architectures without changing any of the underlying infrastructure on their clients or services. gRPC uses HT

                                              Application Load Balancers enables gRPC workloads with end to end HTTP/2 support
                                            • Introducing DRPC: Our Replacement for gRPC

                                              In 2016, Google launched gRPC, which has overall taken the systems programming community by storm. gRPC stands for something with a G, Remote Procedure Call; it's a mechanism for easily defining interfaces between two different remote services. It's tightly bundled with Protocol Buffers version 3 (another highly adopted data interchange specification from Google), and... it seems like everyone is

                                                Introducing DRPC: Our Replacement for gRPC
                                              • BufとProtobufで始めるモダンgRPC開発

                                                Protocol Buffers(Protobuf)を用いた開発(主にgRPC)にはprotocのようなコンパイラが長い間使われてきました。 コード生成やドキュメントの作成、REST APIとしてのゲートウェイの実装など便利で柔軟なprotocプラグインが利用できる一方、そのためのコード生成コマンドは複雑になりがちです。 こういったProtobufを用いた開発に関わるさまざまな問題をBufは解決するためにBuf CLIやBuf Schema Registry、Connectプロトコルなどさまざまなツールやプロトコルを開発しました。 本書ではBufが開発したさまざまなツールやプロトコルを使用し、現代的でモダンなProtobuf開発について紹介します。

                                                  BufとProtobufで始めるモダンgRPC開発
                                                • LICENSE updated to template · microsoft/grpc_bench@04c7143

                                                  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

                                                    LICENSE updated to template · microsoft/grpc_bench@04c7143
                                                  • Cloud Run の WebSocket、HTTP/2、gRPC 双方向ストリームのご紹介 | Google Cloud 公式ブログ

                                                    ※この投稿は米国時間 2021 年 1 月 22 日に、Google Cloud blog に投稿されたものの抄訳です。 このたび、Cloud Run に新しいトラフィック配信機能が追加され、エンドツーエンドの HTTP/2 接続、WebSocket のサポート、gRPC の双方向ストリーミングが可能になりました。これにより、gRPC で提供される全タイプのリモート プロシージャ コールを実行できるようになりました。これらの機能を使用することで、サーバーレス インフラストラクチャを利用しながら、これまでサポートされていなかった種類のアプリケーションを Cloud Run にデプロイできるようになりました。これらの新機能は現在、Cloud Run の全ロケーションの公開プレビューで利用可能になっています。 ストリーミングのサポートは、応答性の高い高性能アプリケーションを構築するうえで重要です

                                                      Cloud Run の WebSocket、HTTP/2、gRPC 双方向ストリームのご紹介 | Google Cloud 公式ブログ
                                                    • gRPCのヘルスチェック - Carpe Diem

                                                      概要 gRPCサーバのヘルスチェック方法として HTTPサーバを別途立ち上げてHTTPでチェック tcpでポートがopenしたかチェック といった方法がありますが、前者はgRPCサーバなのにHTTPサーバを用意しないといけなかったり、後者はtcpのopenは実際にServe開始したタイミングではないといった課題があります。 そこでKubernetesでは3番目の手段として何かしらのヘルスチェックのgRPCをコマンドラインから呼んでチェックする方法を推奨しています。 ref: Health checking gRPC servers on Kubernetes - Kubernetes 環境 go 1.13.5 grpc-go 1.27.1 Kubernetes v1.15.5 GRPC Health Checking Protocol 3番目の手段ですが、実はgRPCの方でヘルスチェック用

                                                        gRPCのヘルスチェック - Carpe Diem
                                                      • Real World Migration from HTTP to gRPC in Ruby #grpcconf

                                                        This is a slide I presented at gRPC Conf 2020 titled "Real World Migration from HTTP to gRPC in Ruby". In this talk, I presented the details of our migration approach from HTTP/1.1 to gRPC, and the resulting performance improvements. Average latency got decreased by 50%, and 90%tile latency was decreased to a seventh. cf. https://sched.co/cRfr

                                                          Real World Migration from HTTP to gRPC in Ruby #grpcconf
                                                        • HTTP だけではない:Cloud Run で gRPC の利用が可能に | Google Cloud 公式ブログ

                                                          ※この投稿は米国時間 2020 年 3 月 17 日に、Google Cloud blog に投稿されたものの抄訳です。 Cloud Run は、Google Cloud が提供するマネージド型のサーバーレス コンピューティング プラットフォームです。基盤となるインフラストラクチャの管理に煩わされることなく、フルマネージドの環境でステートレスなサーバー コンテナを実行できます。Cloud Run はリリース以降、多数のお客様にご採用いただいております。プロビジョニングや構成、スケーリングといった処理は Google 側で行うため、お客様はビジネス ロジックに注力できます。 Cloud Run で動作するほとんどのアプリケーションは HTTP JSON REST を使用してリクエストを処理しますが、サポートするプロトコルはこれだけではありません。9 月からは、単項 gRPC サービスのサポー

                                                            HTTP だけではない:Cloud Run で gRPC の利用が可能に | Google Cloud 公式ブログ
                                                          • Traffic Director と gRPC - サービス メッシュ用プロキシレス サービス | Google Cloud 公式ブログ

                                                            ※この投稿は米国時間 2020 年 7 月 22 日に、Google Cloud blog に投稿されたものの抄訳です。 多くの組織がサービス メッシュを利用しています。それは特にマイクロサービスを多用する環境において、面倒で複雑なネットワーキングの問題が解決されるからです。また、サービス メッシュを利用することで、負荷分散ポリシーやトラフィック マネジメント ポリシーなどのアプリケーション ネットワーキング ポリシーを一元化して管理できます。ただし、サービス メッシュの導入とは従来、(1)インフラストラクチャの管理(コントロール プレーン)、および(2)アプリケーションに代わってネットワーキングを処理するサイドカー プロキシの実行(データプレーン)を意味していました。 Traffic Director は、Google Cloud が管理するコントロール プレーンで、前述したサービス メ

                                                              Traffic Director と gRPC - サービス メッシュ用プロキシレス サービス | Google Cloud 公式ブログ
                                                            • Go言語で簡単なgRPCサーバーを作成 | DevelopersIO

                                                              この記事はGo言語でgRPCサーバーを作る上で学んだことをまとめています。サンプルプロジェクトとしてシンプルな単行RPC(Unary RPC)サーバーとそれを呼び出すコマンドラインのクライアントを作成していきます。 はじめに この記事はGo言語でgRPCサーバーを作る上で学んだことをまとめています。 サンプルプロジェクトとしてシンプルな単行RPC(Unary RPC)サーバーとそれを呼び出すコマンドラインのクライアントを作成していきます。 ※この記事は既にGo言語の開発環境をセットアップ済みで基本的な文法を学習済みの方を想定しています。 動作環境 今回使用した動作環境は以下のとおりです。 PC : Mac M1(Apple Silicon)チップ OS : macOS Big Sir 11.5.2 Go : 1.17.1 gRPCとは gRPCはGoogleの作ったRPCのフレームワークで

                                                                Go言語で簡単なgRPCサーバーを作成 | DevelopersIO
                                                              • gRPC の CUI のクライアントツールを調べてまとめてみた | TECHSCORE BLOG | TECHSCORE BLOG

                                                                こんにちは、松浦です。 最近業務にて gRPC を使ったアプリケーションの開発をしています。開発をしていて少し困るのは、動作確認を行うのにどうやって gRPC サーバの RPC メソッドを呼び出すか、という点です。REST のエンドポイントの場合、curl やブラウザや Postman のようなアプリケーションでリクエストを送れましたが、gRPC の場合は、新たなツールを導入する(あるいは、クライアント側のテスト用コードを書く)ことになります。そこで、業務の効率化も兼ねて、お手軽に動作確認を行うのにどのようなクライアントツールがあるのか、調べて、触って、まとめてみることにしました。 前提 本記事では CUI のツールのみを取り上げます(GUI ツールもいくつかありますが、記事の分量と余力の問題で今回は取り上げません……)。 動作確認を行った環境は Mac (OS X 10.14.4) です

                                                                • gRPCでのLoad Balancing - Carpe Diem

                                                                  背景 gRPCでは主に Proxy Model Balancing-aware Client External Load Balancing Service といったLBアプローチがあります。 それぞれの特徴や実装方法を調べてみました。 Load Balancingアプローチ こちらで定義されてます。 grpc/load-balancing.md at master · grpc/grpc · GitHub 主な負荷分散のアプローチとしては以下です。 Proxy Model LBと言われて最初に浮かぶイメージですね。 ref: https://grpc.io/blog/loadbalancing/ メリット クライアントと独立しているため、クライアントは自身のアプリケーション実装にのみ集中できます。シンプルでPolyglot向きでもあります。 またProxy側に様々な拡張ができます(メトリ

                                                                    gRPCでのLoad Balancing - Carpe Diem
                                                                  • Announcing support for gRPC

                                                                    Today we're excited to announce beta support for proxying gRPC, a next-generation protocol that allows you to build APIs at scale. With gRPC on Cloudflare, you get access to the security, reliability and performance features that you're used to having at your fingertips for traditional APIs. Sign up for the beta today in the Network tab of the Cloudflare dashboard. gRPC has proven itself to be a p

                                                                      Announcing support for gRPC
                                                                    • grpc-kotlinの実装をinterfaceの定義によってテンプレート化する - ドワンゴ教育サービス開発者ブログ

                                                                      はじめに grpc-kotlin の実装に必要な要素 リクエスト・レスポンスクラス サービスクラス サーバークラス 普通に実装したときの不満点 不満1: 異なる関心事の混在 不満2: 共通処理 不満3: エラーハンドリング インターフェースを定義する validateAndConvertRequest process convertResponse エラーハンドリング おわりに We are hiring! & Kotlin Fest出展のお知らせ はじめに 過去にも何度か紹介しておりますが、現在開発中の新しい教材システムでは新たにgRPC通信によるKotlinサーバーを採用して開発が進められています。 blog.nnn.dev そして、技術選定の方針としてWebアプリケーションフレームワークはなるべくシンプルで薄くすることを決めたので、Spring Boot のような別フレームワークを介

                                                                        grpc-kotlinの実装をinterfaceの定義によってテンプレート化する - ドワンゴ教育サービス開発者ブログ
                                                                      • gRPCでエラー詳細を渡す方法 - Carpe Diem

                                                                        概要 以前 christina04.hatenablog.com こちらの記事で、アプリケーション内でのレイヤ間のエラーハンドリングについてまとめました。 ではマイクロサービス間でそのエラーコードを伝播していくのはどうすれば良いのか、というのが今回の主題です。 課題 gRPCはレスポンスコードを持っています。 しかしこれだけでは下記のようなケースをハンドリングできません。 フォームのvalidationエラーを伝える際に、どのフィールドの不備が原因か カード決済時のエラーで、カードの何が問題でエラーが起きているのか このような詳細なエラーをクライアントに伝えられない場合、クライアントは抽象的なエラー文言しかユーザに出せず、結果としてユーザは問題を解決することができなくなります。 解決案1) エラー文言をparse gRPCは以下のようにレスポンスコード以外にもメッセージ(文字列)を返すこと

                                                                          gRPCでエラー詳細を渡す方法 - Carpe Diem
                                                                        • 安全を保つためのgRPC実装の注意点を解説

                                                                          オンプレミスからクラウドへの移行をはじめ、ハイブリッドクラウド環境をシームレスに保護しながら、クラウドの利点を実現します。 詳しくはこちら

                                                                            安全を保つためのgRPC実装の注意点を解説
                                                                          • Real World Migration from HTTP to gRPC #CNDT2020

                                                                            CloudNative Days Tokyo 2020 の発表資料です。Wantedly での gRPC 導入の取り組みについて話しました。 gRPC という通信技術についての詳細な説明から、gPRC を利用することによるメリット、gRPC を利用することで実際に得られたパフォーマンス改善、gRPC への移行を行うための実践的な Tips について話しました。移行の際にはツールやライブラリの開発や開発フローの整備など技術的、組織的な挑戦を行なっており、その詳細についても話しました。 https://event.cloudnativedays.jp/cndt2020/talks/14

                                                                              Real World Migration from HTTP to gRPC #CNDT2020
                                                                            • gRPCから見たHTTP/2 - Qiita

                                                                              はじめに HTTP/3も出てきて今更感があるが、改めてHTTP/2についてまとめてみました。 HTTP1.1とその問題点 HTTP/2誕生前から使用されているHTTP/1.1では基本的には1つのリクエストが完了しレスポンスが返ってくるするまで、次のリクエストを送ることができません。 HTTPパイプラインという仕組みを使えばHTTP/1.1でも完了を待たずに、複数のリクエストを送信することが可能ですが サーバーはリクエストの順番通りにレスポンスを返さなければならないという制約があります。 3つのリクエストを送信して、 1つめのリクエストのレスポンスが最も重い場合は 2つめ以降のレスポンスが待たされる結果となります。 これをHTTP HOL Blockingといいます。 HTTP/1.1で速度を上げ場合には TCP接続を多重化するしかないです。では多重化する場合どこに問題があるのでしょうか?

                                                                                gRPCから見たHTTP/2 - Qiita
                                                                              • Tonic: gRPC has come to async/await!

                                                                                Tonic: gRPC has come to async/await! I am pleased to finally announce a crate that I have been working very hard on for the past few months. tonic has finally hit the initial 0.1.0-alpha.1 release! Stable releases will follow in the coming months. What is Tonic? Tonic is a gRPC-over-HTTP/2 implementation focused on high performance, interoperability, and flexibility. This library was created to ha

                                                                                • gRPC リフレクションはなにをしているか? - blog.syfm

                                                                                  gRPC リフレクションは、対象の gRPC サーバがどのようなサービス、メソッドを公開しているかを知るための機能です。 gRPC を使う上でリフレクションを有効にすると、gRPCurl や Evans といったツールを使う際に Protocol Buffers などの IDL を直接的に読み込まずにメソッドを呼び出すことができてとても便利ですが、gRPC リフレクションはなにをしていて、ツールは gRPC リフレクションをどうやって使っているのでしょうか? それなりに複雑でしばしば忘れるので記事にしておこうと思います。なお、この記事では gRPC の実装として grpc/grpc-go、Protocol Buffers の実装として protocolbuffers/protobuf-go を参照します。 gRPC リフレクションを有効化しているサーバの例 grpc/grpc-go に g

                                                                                    gRPC リフレクションはなにをしているか? - blog.syfm