並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 363件

新着順 人気順

grpcの検索結果321 - 360 件 / 363件

  • DBサービスを作ろう その0 準備 - 豪鬼メモ

    Tkrzw本体でやりたい事をやり切ったので、データベースサービスでも作ってみよう。既にガチなデータベースサービスは山ほどあるので、レッドオーシャンに敢えて飛び込むのも気が引ける。とはいえ、gRPCを使うとかなり気軽に高性能なサービスを実装できるので、日曜大工のつもりで取り組む。おそらく10回くらいの連載になるだろうか。これからしばらくデータベースサービスの設計と実装について述べていきたい。 初回は、gRPCの基本的な使い方を確認する。インストール方法、ビルドの自動化、APIの定義、実装、そしてテストまでの一連の流れを追う。 まず技術選定についてだが、これはもうgRPC一択なのだ。Tokyo TyrantやKyoto Tycoonでは、socketとかselectとかpollとかepollとかkqueueとかいったシステムコールを駆使して自分でRPC機能を実装していたが、面倒くさすぎる。競争

      DBサービスを作ろう その0 準備 - 豪鬼メモ
    • gRPC and why it can save you development time

      At this point you should have heard about “gRPC” (At least once in the title). In this post, I’ll stress about the benefits of adopting gRPC as a communicating medium between micro-services. First, I’ll try to provide a short brief history of architecture evolution. Second, I’ll stress about using REST (as the medium) and problems that can arise. Third, gRPC kicks in. And I’ll finish with an examp

        gRPC and why it can save you development time
      • [備忘録] grpCurlの使い方 - Qiita

        はじめに 最近gRPCでAPIテスト書いたりちょっとしたマイクロサービス開発したりとでgrpcurlと触れ合う機会が多かったので備忘録を兼ねてまとめました。 なるべくイメージがつきやすいように実行コマンドとその出力をセットで書くようにしています。 読んで欲しい人 grpc最近触れたけど手軽にサーバーリクエスト送る方法がまだイメージつかない人 grpcurlっていうのがあるのを知って使い方を知りたい人 grpcurlのオプションとか見たい人 gRPCについての説明は以前Go言語+gRPCをはじめから丁寧に解説してみた(宣伝)の記事を書いたことがあるので気になる方はそちらをご覧ください grpcurlとは 公式: https://github.com/fullstorydev/grpcurl grpcurlは、gRPCサーバーを操作するためのコマンドラインツールで以下の特徴を持ちます。 cur

          [備忘録] grpCurlの使い方 - Qiita
        • [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.
          • 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
            • 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
                  • scenarigoを用いたgRPCサーバのE2Eテスト実装事例|ONE CAREER Tech Blog

                    はじめに(イントロダクション)こんにちは、ワンキャリアでバックエンドエンジニアをしている田中(@kakke18_perry)です。業務では、ONE CAREER CLOUDの開発に携わっており、リアーキテクチャの一環で、一部の機能をGo+gRPCでリプレイスしています。 アーキテクチャ選定理由については以下の記事で紹介していますので、興味のある方はこちらもぜひご一読ください。 本記事では、Go+gRPCで実装されたサーバ(以後、gRPCサーバとする)に対するE2Eテストの実装方法を解説します。具体的には、scenarigoを用いたE2Eテストの実装、テストの実行までの手順を説明し、E2Eテストをどこまで書けばいいのかという話もします。 gRPCサーバに対するE2Eテストの選択肢E2Eテストは、システム全体の動作を検証するテスト手法であり、開発プロセスにおいて重要な役割を果たします。そんなE

                      scenarigoを用いたgRPCサーバのE2Eテスト実装事例|ONE CAREER Tech Blog
                    • 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
                      • 【書き起こし】gRPC Federation を利用した巨大なBFFに対するリアーキテクチャの試み – goccy【Merpay & Mercoin Tech Fest 2023】 | メルカリエンジニアリング

                        Merpay & Mercoin Tech Fest 2023 は、事業との関わりから技術への興味を深め、プロダクトやサービスを支えるEngineeringを知ることができるお祭りで、2023年8月22日(火)からの3日間、開催しました。セッションでは、事業を支える組織・技術・課題などへの試行錯誤やアプローチを紹介していきました。 この記事は、「gRPC Federation を利用した巨大なBFFに対するリアーキテクチャの試み」の書き起こしです。 @goccy:それでは「gRPC Federation を利用した巨大なBFFに対するリアーキテクチャの試み」というタイトルでメルペイ Engineer ProductivityチームのGoshimaが発表します。よろしくお願いします。 初めに自己紹介です。@goccyというアカウントで活動しています。2012年に新卒で株式会社MIXIに入り、

                          【書き起こし】gRPC Federation を利用した巨大なBFFに対するリアーキテクチャの試み – goccy【Merpay & Mercoin Tech Fest 2023】 | メルカリエンジニアリング
                        • gRPC-WebのProxyをNginxにしてみた - Qiita

                          というふうにProxyを介してブラウザとgRPCサーバーとでやり取りを行っています。 今回はこのProxyのお話です。 このProxyは、公式ドキュメントやその例などでもEnvoyを使用しています。 https://github.com/grpc/grpc-web 実際、Envoyを利用するとすんなりと導入することが出来ます。 ただIP制限ができなかったり(こちら出来るようであればご指摘おねがいします)、Yamlで書かないといけなかったりとなにかとかゆいところに手が届きません。 そのため、ProxyをNginxにしてやってみようと思います。 NginxでもgRPCのプロキシーをすることができます。 Introducing gRPC Support with NGINX 1.13.10 今回作るサンプルはこちらに配置しています。 https://github.com/morix1500/gr

                            gRPC-WebのProxyをNginxにしてみた - Qiita
                          • Analyzing gRPC messages using Wireshark

                            Wireshark is an open source network protocol analyzer that can be used for protocol development, network troubleshooting, and education. Wireshark lets you analyze gRPC messages that are transferred over the network, and learn about the binary format of these messages. In this post, you’ll learn how to configure and use the Wireshark gRPC dissector and the Protocol Buffers (Protobuf) dissector, wh

                              Analyzing gRPC messages using Wireshark
                            • gRPC-Web Developer Tools - Chrome ウェブストア

                              gRPC-Web Developer Tools for debugging application's gRPC-Web network requests.

                                gRPC-Web Developer Tools - Chrome ウェブストア
                              • 【Connect/gRPC】connect-goとconnect-queryで型安全で高速なAPIを作る

                                はじめに Connect の学習のために簡単なタスクリストを作ったらとても学びがあったので共有します。 アプリ全体のソースコードもあるので誰かの参考になれば幸いです。 Connect とは? Connect は簡単に言うとブラウザ・gRPC 互換の HTTP API を構築するためのライブラリ群です。 gRPC とは Google が開発した RPC 技術のことで、異なるプログラミング言語間で高速に通信するためのフレームワークです。 Connect は gRPC のメリットをそのまま引き継いでおり、Protocol Buffers で API のスキーマ定義を記述するだけでバックエンドとフロントエンドのコードを自動生成してくれます。 コードの生成が終わったらあとは型の恩恵を受けながらロジックや UI の開発に注力できます。 Connect は Go 言語だけでなく様々な言語に対応しているた

                                  【Connect/gRPC】connect-goとconnect-queryで型安全で高速なAPIを作る
                                • eBooks/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf at 1ed30275281b9060964fcb2a4c363fe7797fe3f3 · dotnet-architecture/eBooks

                                  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

                                    eBooks/current/grpc-for-wcf-developers/gRPC-for-WCF-Developers.pdf at 1ed30275281b9060964fcb2a4c363fe7797fe3f3 · dotnet-architecture/eBooks
                                  • gRPC vs. REST — Performance Test using JMeter

                                    What is gRPC?gRPC is an open-source Remote Procedure Call, initially developed at Google in 2015. In 2017, it became a Cloud Native Computing Foundation (CNCF) incubation project due to increasing popularity. The gRPC framework is used to build scalable and high-performance APIs. Many top organizations leverage it to power their user cases, from microservices to the web, mobile, and IoT. It uses P

                                      gRPC vs. REST — Performance Test using JMeter
                                    • ASP.NET Core and Blazor updates in .NET Core 3.0 Preview 6 - .NET Blog

                                      .NET Core 3.0 Preview 6 is now available and it includes a bunch of new updates to ASP.NET Core and Blazor. Here’s the list of what’s new in this preview: New Razor features: @attribute, @code, @key, @namespace, markup in @functions Blazor directive attributes Authentication & authorization support for Blazor apps Static assets in Razor class libraries Json.NET no longer referenced in project temp

                                        ASP.NET Core and Blazor updates in .NET Core 3.0 Preview 6 - .NET Blog
                                      • ASP.NET Core で .NET Core gRPC のクライアントとサーバーを作成する

                                        Visual Studio Visual Studio Code Visual Studio for Mac Visual Studio 2022 を開始し、[新しいプロジェクト] を選択します。 [新しいプロジェクトの作成] ダイアログで、gRPC を検索します。 [ASP.NET Core gRPC サービス] を選択してから、 [次へ] を選択します。 [新しいプロジェクトの構成] ダイアログで、 [プロジェクト名] に「GrpcGreeter」と入力します。 コードのコピーおよび貼り付けを行う際に名前空間が一致するように、プロジェクトに GrpcGreeter という名前を付けることが重要です。 [次へ] を選択します。 [追加情報] ダイアログで、[.NET 8.0 (長期的なサポート)] を選択し、[作成] を選択します。 このチュートリアルは VS Code の知識があること

                                          ASP.NET Core で .NET Core gRPC のクライアントとサーバーを作成する
                                        • gRPC for PHPでgRPCサーバへSSL接続する方法と、調べる過程で5つのOSSにコントリビュートした話|Showcase Gig Product Team Blog

                                          gRPC for PHPでgRPCサーバへSSL接続する方法と、調べる過程で5つのOSSにコントリビュートした話 こんにちは🐔 Showcase Gigの林 (howyi) です。 社内のプロダクトで、Goで作られたgrpcのサーバへPHPのクライアントで接続する、といった処理がありました。 このPHPのgRPCクライアント部分をSSL対応する方法と、そのときにハマったエラーなどを紹介します。 gRPC for PHPでgRPCサーバへSSL接続する方法まず結論となる、方法から紹介します。 公式の認証ガイド にある通り、protoから生成したClientにcredentialsとして Grpc\ChannelCredentials::createSsl() を渡すことで対応できます。 // 証明書を指定しない場合 $client = new helloworld\GreeterClien

                                            gRPC for PHPでgRPCサーバへSSL接続する方法と、調べる過程で5つのOSSにコントリビュートした話|Showcase Gig Product Team Blog
                                          • What is a gRPC API and How Does it Work?

                                            GRPC has become an important technology for implementing distributed software systems that need to run fast on a massive scale. In short, gRPC is an API Framework that allows a program in one location on the internet to pass data to a distinct Function in another program at another location on the internet for processing. While other API frameworks such as REST typically pass data from client to s

                                              What is a gRPC API and How Does it Work?
                                            • When to use gRPC vs GraphQL - Stack Overflow

                                              Capture, share, & collaborate on knowledge internally. TLDR: Use GraphQL for client-server communication and gRPC for server-to-server. See the Verdict section for exceptions to this rule. I've read a lot of comparisons of these two protocols and wanted to write one that is comprehensive and impartial. (Well, as impartial as I and my reviewers can make it 😄.) I was inspired by the release of conn

                                                When to use gRPC vs GraphQL - Stack Overflow
                                              • 実践: gRPC in Ruby | Wantedly Engineering Handbook

                                                本章では、gRPC in Ruby の Quick Start から一歩先、「Wantedly で Ruby を使って gRPC Server/Client の開発をどう行なっているのか」について紹介します。

                                                  実践: gRPC in Ruby | Wantedly Engineering Handbook
                                                • gRPCとProtocol Buffersによるアプリケーション間通信 / Python|npaka

                                                  「gRPC」でアプリケーション間通信を行い、別アプリからテキストと画像を取得するスクリプトを作ります。 1. gRPC「RPC」は、アプリケーション間通信のひとつで、プログラミングのメソッドを呼び出す手順で、別のプログラムを操作できます。 「gRPC」は、Googleが開発した「RPC」で、高速かつ低容量、様々な言語に対応しています。 ・gRPC  -  A high performance, open-source universal RPC framework 2. Protocol Buffers「Protocol Buffers」(protobuf)は、構造化データをシリアライズするインタフェース記述言語のひとつです。「JSON」や「XML」などと比べ、高速かつ低容量で、様々な言語に対応しています。 「protoファイル」で構造化データを定義し、コンパイルすることで各言語のコードを

                                                    gRPCとProtocol Buffersによるアプリケーション間通信 / Python|npaka
                                                  • gRPC関連の読み物 - 塀の備忘録

                                                    はじめに gRPCをゼロから学びたい人向けのドキュメント、ブックリストを備忘録的に記載しました。 適宜更新するかもしれません。 紹介一覧 公式 https://grpc.io/ 基本。 スターティングgRPC www.amazon.co.jp もともと同人誌として発行されていた書籍の商業版。 gRPCの各RPC方式を実装を交えて紹介していく形式で、gRPCサーバやクライアントの実装例がGoやRailsで掲載されています。Goでバックエンドを書いている方に特におすすめです。 RESTと比較したgRPCのpros/consも整理されていて勉強になると思います。 WEB+DB PRESS Vol.110 www.amazon.co.jp スターティングgRPCを通読する時間がない場合、入門用の読み物として先にこちらの特集を一読することをおすすめします。 具体的なプロダクトのgRPCサーバを実装し

                                                      gRPC関連の読み物 - 塀の備忘録
                                                    • GoのgRPCサーバをGKEのIngressで使うために、GKEのHealth CheckがgRPCでないAPIを要求することの回避方法 - Qiita

                                                      GoのgRPCサーバをGKEのIngressで使うために、GKEのHealth CheckがgRPCでないAPIを要求することの回避方法kubernetesGKEgrpGoogleCloud tl;dr Ingress の Health Check は HTTPS の GET リクエスト(gRPC ではない)で 200 を返さないといけない Go の gRPC サーバの実装に追加で、普通の HTTPS の GET リクエストで /healthz で 200 応答を返すようにする Pod の Readiness Probe を、HTTPS の GET リクエストのパス /helathz に設定すると、Health Check がそのパスに対して行われるようになる Ingress と gRPC の Health Check の問題とは GKE を使ってサービスを公開する場合、L7 Load B

                                                        GoのgRPCサーバをGKEのIngressで使うために、GKEのHealth CheckがgRPCでないAPIを要求することの回避方法 - Qiita
                                                      • Protocol Buffersのgo_packageの;の仕様

                                                        2020/05/24 11:36:51 WARNING: Deprecated use of 'go_package' option without a full import path in "greeter.proto", please specify: option go_package = ".;main"; A future release of protoc-gen-go will require the import path be specified. See https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information. syntax = "proto3"; package helloworld; option go_packa

                                                        • Azure WebApps に ASP.NET Core gRPC をデプロイしてみよう - Qiita

                                                          Azure App Service が gRPC をデプロイ出来ない問題があるので悶々としてたのですが gRPC-Web プロトコルになりますが Azure App Service にデプロイできるみたいです!!ASP.NET Blog で gRPC-Web for .NET now available という記事でアナウンスされていました。ということでやってみましょう。 参考ドキュメントはこちら: ブラウザー アプリでの gRPC の使用 プロジェクトの作成 ASP.NET Core Web アプリケーションで空のプロジェクトから始めてみましょう。 まず、2 つのパッケージを追加します。 Grpc.AspNetCore Grpc.AspNetCore.Web どちらも執筆時点の最新の 2.30.0 を入れました。 とりあえずシンプルなハローワールド用の SayHello.proto をプ

                                                            Azure WebApps に ASP.NET Core gRPC をデプロイしてみよう - Qiita
                                                          • gRPCコンテナにヘルスチェックを実行する|作ってわかる! はじめてのgRPC

                                                              gRPCコンテナにヘルスチェックを実行する|作ってわかる! はじめてのgRPC
                                                            • GraphQL/REST/gRPCの比較

                                                              Webフロントエンド向けにGraphQL/REST/gRPCがよく比較対象になるので雑にまとめたい。 WebとiOS/Androidなクライアントに対して静的型を生成したいときというユースケースがメイン。マイクロサービス間通信とか他の用途ではまた別の議論があると思う。 筆者はGraphQL推しなのでそこがメインの主張になると思うけどREST/gRPC側の意見も是非聞きたい。 「Webフロントエンド向け」という前提を置くとGraphQLにしかない大きなアドバンテージがあると思ってて、よくあるのがリソース指向でAPIを定義したいサーバーサイドと、画面・ユースケースベッタリなAPIがあると便利なフロントエンドでこのミスマッチをどう解決するかというやつ。 REST/gRPCだと、クライアントサイドでJOINするか、BFFを置いてリソース指向のAPIを画面向けに束ねる処理を書くかしかないと思う。Gr

                                                                GraphQL/REST/gRPCの比較
                                                              • gRPCでTLS認証して通信する|leslesnoa

                                                                本記事の全ソースはこちら gRPCクライアント側の簡単な実装では、通信開始時に grpc.WithInsecure() という引数を渡していましたが、これは「認証をせずに接続する」という指定のため、実運用向きではありません。 ローカルの環境でとりあえず試したいという場合は有効です。 # 抜粋 // client.go conn, err := grpc.Dial(addr, grpc.WithInsecure())TLS認証と暗号化gRPC では標準で⽤意されている認証の⽅式があります。それが TLS(TransportLayer Security) です。TLS は Web の世界では広く使われている認証⽅式で、⼤きく次のふたつの機能を持ちます。 • 認証: 通信相⼿が想定通りの相⼿であることを確認する • 暗号化: 通信内容を第三者に盗聴されても読めないようにする TLSを使ったgRP

                                                                  gRPCでTLS認証して通信する|leslesnoa
                                                                • neue cc - Unity用のHTTP/2(gRPC) Client、YetAnotherHttpHandlerを公開しました

                                                                  Unity用のHTTP/2(gRPC) Client、YetAnotherHttpHandlerを公開しました 2023-07-28 Cysharpから(主に)Unity用のHTTP/2, gRPC, MagicOnion用の通信ネットワーククライアントを公開しました。実装者は週刊.NET情報配信WeekRef.NETを運営している@mayukiさんです。 Cysharp/YetAnotherHttpHandler 何故これが必要なのかの背景情報としては、Synamon’s Engineer blog - Unityでもgrpc-dotnetを使ったgRPCがしたい が詳しいのですが、まず、.NETには2つのgRPC実装があります。googleが提供してきたgRPCのネイティブバインディングのGrpc.Core(C-Core)と、Microsoftが提供しているPure C#実装のgrpc

                                                                  • gRPC Client Interceptor入門 with Ruby - RAKSUL TechBlog

                                                                    こんにちは。サーバサイドエンジニアの三瓶です。印刷ECサイトの ラクスル の開発保守を担当するチームに所属しています。 ラクスルでは Raksul Platform Project (RPP) と称して技術負債の返済活動を継続的に行っているのですが、その流れの一環として印刷ECチームでは巨大化したアプリケーションから商品仕様に関わる部分を別サービスとして切り出す、という作業を最近行いました。 この切り出したサービスでは通信方式として gRPC を、言語としてはRubyを採用しています。 実際に導入してみて、gRPCはまだドキュメントも多くはないと感じたので、本記事ではgRPCが備える機能の1つである Interceptor についてチュートリアル形式でご紹介したいと思います。言語はもちろんRubyを使います。 ※ gRPC導入に至った背景や経緯について興味のある方は弊社エンジニアの二串のス

                                                                      gRPC Client Interceptor入門 with Ruby - RAKSUL TechBlog
                                                                    • It's always DNS . . . except when it's not: A deep dive through gRPC, Kubernetes, and AWS networking

                                                                      Looking for Datadog logos? You can find the logo assets on our press page.

                                                                        It's always DNS . . . except when it's not: A deep dive through gRPC, Kubernetes, and AWS networking
                                                                      • Go言語gRPCを爆速で試す方法 - Qiita

                                                                        やりたいこと Go言語gRPCのクライアント⇔サーバ通信をローカルで試す。 1.インストール準備 ・protocインストール(こちらを参照) go install google.golang.org/protobuf/cmd/protoc-gen-go@latest go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

                                                                          Go言語gRPCを爆速で試す方法 - Qiita
                                                                        • gRPC-Web を Cloud Run のサイドカー Envoy でやる

                                                                          はじめに Cloud Run のマルチコンテナがパブリック プレビューでリリースされました。本記事ではマルチコンテナを使って、1 つの Cloud Run サービスでサイドカー Envoy を使った gRPC-Web サービスを構築します。 本記事は前半が Cloud Run にサービスをデプロイして Web から呼び出してみるパート、後半が説明パートになっています。説明だけ読みたい場合は前半をスキップしてください。 マルチコンテナについては以下の記事もぜひ参考にしてください。 やってみる 環境など 新しいプロジェクトと Cloud Shell での操作を想定しています。ローカルで操作する場合は必要なツール等を適宜インストールしてください。 サンプルのコードはこちらを使います。 事前準備 こちらをクリックしてください。Cloud Shell が開いてリポジトリがクローンされます。エディタは

                                                                            gRPC-Web を Cloud Run のサイドカー Envoy でやる
                                                                          • gRPC vs HTTP APIs - .NET Blog

                                                                            ASP.NET Core now enables developers to build gRPC services. gRPC is an opinionated contract-first remote procedure call framework, with a focus on performance and developer productivity. gRPC integrates with ASP.NET Core 3.0, so you can use your existing ASP.NET Core logging, configuration, authentication patterns to build new gRPC services. This blog post compares gRPC to JSON HTTP APIs, discusse

                                                                              gRPC vs HTTP APIs - .NET Blog
                                                                            • grpcでC#とpythonの通信をする - Qiita

                                                                              はじめに grpcでC#からpythonへ通信をする方法をまとめました。 リポジトリ:https://github.com/kz-000/grpc_example プロジェクトの構成は以下のようになっています。 grpc_example ├ api (protoファイル) ├ client (C#) └ server (python) API 今回はIDを受け取り、ユーザー名を返すような簡単なAPIを実装しようと思います。 //user.ptoro syntax = "proto3"; package api; message GetUserRequest { int32 Id= 1; } message GetUserResponse { string Name = 1; } service UserService{ rpc GetUser (GetUserRequest) return

                                                                                grpcでC#とpythonの通信をする - Qiita
                                                                              • GoとgRPCを用いたサービスベースアーキテクチャへの移行|ONE CAREER Tech Blog

                                                                                導入こんにちは。ワンキャリアでバックエンドエンジニアをしている田中(@kakke18_perry)です。業務では、ONE CAREER CLOUDの開発に携わっており、リアーキテクチャの一環で、一部の機能をGo+gRPCでリプレイスしています。 本記事では、そのリプレイスにおけるアーキテクチャや技術の選定理由と振り返りについてお話します。 背景現在のワンキャリアではプロダクトごとのモノリシックなアーキテクチャを採用しており、メインとしてRuby on RailsとVue、AWSを使用しています。社内にもナレッジが多く、優れたフレームワークであることから、開発生産性の向上に大きく寄与してきました。 一方で、複数プロダクトを開発運用する中で「認知負荷の増大」という課題が顕在化しつつあります。ONE CAREERはリリースから9年、ONE CAREER CLOUDはリリースから3年経過しており、

                                                                                  GoとgRPCを用いたサービスベースアーキテクチャへの移行|ONE CAREER Tech Blog
                                                                                • gRPCで一時的なネットワーク断でのtransportエラーを回避する - Carpe Diem

                                                                                  背景 gRPCを利用していると、デプロイを含む一時的なネットワーク断で以下のようなエラーが発生することがあります。 rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp xxx: connect: connection refused" rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp: lookup xxx: i/o timeout" これはgRPCがfail fastの思想になっており、ChannelがTRANSIENT_FAILUREの状態だとRPCを即座に失敗させるようにして

                                                                                    gRPCで一時的なネットワーク断でのtransportエラーを回避する - Carpe Diem