並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 352件

新着順 人気順

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

  • API Improvement Proposals

    Welcome AIPs are design documents that summarize Google's API design decisions. They also provide a framework and system for others to document their own API design rules and practices. AIPs are a combination of design guidance and a system we use to manage and track that guidance. Learn more about how the AIP program works in the first AIP!

    • Next.js で始める gRPC 通信 - 30歳からのプログラミング

      サーバ・クライアント間の通信を gRPC で行う場合、インターフェイスを定義した共通のファイルから、サーバとクライアント双方のコードを生成することができる。 この記事では、インターフェイスの定義ファイルを作成するところから始めて、gRPC を利用した単純なウェブアプリを作っていく。 gRPC についての概念的な説明などは扱わず、実際に手元で動くウェブアプリを作ることで、gRPC を使った開発についてイメージしやすくなることを意図している。 Next.js では API Routes を使って API サーバを作ることができるが、それを gRPC クライアントとして実装する。 そのため、リクエストの流れは以下のようになる。 Frontend == (REST) ==> API Routes == (gRPC) ==> gRPC Server 動作確認は Node.js のv16.13.2で行

        Next.js で始める gRPC 通信 - 30歳からのプログラミング
      • サービスメッシュとしてLinkerdを導入するに至った経緯 - ANDPAD Tech Blog

        はじめに SREの須恵です。 弊社では、昨秋からサービスメッシュの導入を開始していたのですが、なかなかアウトプットできていなかったので書くことにしました。 マイクロサービス化とgRPC 弊社で進行中の技術テーマの1つに「マイクロサービス化」があります。 ビジネスの成長拡大に伴い開発組織も拡大し続けており、どんどん人数が増えています。この増加していく開発者の力を、可能な限り効果的に活かして開発するため、マイクロサービス化に舵を切ることになりました。 (マイクロサービスの動機と目指す結果の詳細はいずれ誰かが記事化することに期待) 今年の1月に弊社初のマイクロサービスとしてリリースされた2つのサービスがあり、それらはgRPCで通信することが決定されていました。また今後も、マイクロサービス間の同期通信にはgRPCの採用が広がる見込みです。 なぜgRPCか モノリスをマイクロサービス化する、あるいは

          サービスメッシュとしてLinkerdを導入するに至った経緯 - ANDPAD Tech Blog
        • Cloud RunでOpenTelemetry Collectorをサイドカーとして動かす

          こんにちは!Google Cloudでオブザーバビリティを担当しているものです!Cloud Runでマルチコンテナーサポートがパブリックプレビューになりましたね!これはCloud Runでサイドカーを走らせられるということです!というわけで今日は1ユースケースとしてOpenTelemetry CollectorをCloud Runのサイドカーとして走らせてみようと思います。 TL;DR Cloud Runのマルチコンテナーサポートを使うと、アプリケーション側はOTLP送信の実装だけして、OpenTelemetry Collectorをサイドカーとして走らせて、テレメトリーをCloud Opsや外部のオブザーバビリティツールに送ることが可能になります。 構成 Kubernetesで使っているようなポッド内のサイドカーの構成をCloud Runでもできますよ、というだけなので、それをわかってる

            Cloud RunでOpenTelemetry Collectorをサイドカーとして動かす
          • LINE開発担当が語るプロダクションレディなgRPCサーバをArmeriaで簡単に作る方法

            LINE Developer MeetupはLINEが定期的に開催する技術者向けミートアップです。66回目の今回はLINEの新規サービス開発に携わる奥山氏が社内フレームワークArmeriaを使って簡単にgRPCサーバーを実装する方法を共有しました。 gRPCって何だったっけ? 奥山裕也氏(以下、奥山):LINEの開発4センター、 Official Account開発室の奥山が、「OA DevにおけるgRPC」についてお話しします。 まず簡単に自己紹介しますと、私は2019年の4月に新卒で入社しました。Official Account開発室というチームで、LINE公式アカウント関連の新規サービスを主に開発しています。コードは、サーバサイドで主にKotlinを書いています。また、line-bot-sdk-pythonというMessaging API SDKのメンテナーもしています。 今日は、最

              LINE開発担当が語るプロダクションレディなgRPCサーバをArmeriaで簡単に作る方法
            • trpcって知ってますか?

              はじめに みなさんはAPIの定義を何で行なってますか? Swagger? GraphQL? gRPC? 私もGraphQLでアプリとBFFのAPI定義をしたり、gRPCで定義してそれを無理やりRESTAPIの型定義として使っていたりします。 方法はどうであれAPIの型定義はやっぱり欲しいですよね。 いくらTypeScriptとかGoとか型のある言語を使っていても、それをつなぐAPIのインターフェースに型を決めておかないといくらでも事故れますよね… 特にフロントエンドとバックエンドで開発するエンジニアが違うと、こういった定義ファイルがないと思ってたのと違うパラメータが返ってきたり、リクエストボディに入れる型を間違ってしまったりという事故が起きたりすると思います。 なので何かしらの定義ファイルをフロントバック両者で定めておいてこういった事故を起きないようにしているわけです。 定義ファイルがある

                trpcって知ってますか?
              • REST・Protocol Bufferは必要ない RPCフレームワークにそのまま使えるScalaの魅力

                アジア最大級の国際Scalaカンファレンスである「ScalaMatsuri2020」がオンラインで開催されました。そこでTreasure DataのTaro L. Saito 氏がScalaに関するいろいろなテクノロジーを紹介しました。2つ目は、Scalaで直接通信する方法について。前回の記事はこちら。 Scalaは実はRPCを実装するのに適した言語 Taro L. Saito氏:もともと何をしたかったかというと、「Scalaでクライアントもサーバーも実装できるんだったら、Scalaでそのまま通信できないのか?」というところが出発点になって、今新しいフレームワークを整えているところです。 ScalaはFunctional(関数型)で、かつstatically typed(静的型付き)、というobject orientedな言語になっているのがいいところです。 これよく考えてみると、Scal

                  REST・Protocol Bufferは必要ない RPCフレームワークにそのまま使えるScalaの魅力
                • HTTP/2 と gRPC に対するよくある誤解。 - ねののお庭。

                  以前 .NET ラボで 「C# と HTTP/2 と gRPC」というタイトルで登壇しました。その時のスライドがこちらなのですが、ちらほら反応を頂きました。その結果、HTTP/2 や gRPC について勘違いしている人がちょこちょこいる事が分かったので、少し補足を書こうと思います。 blog.neno.dev 1. HTTP/2 で向上するのはスループットであって、1リクエストあたりの応答時間ではないよ。 HTTP/2 を使うからといって、1 リクエストあたりの応答時間が短くなるわけではないのです。 まず、1 HTTP リクエストあたりにかかる時間を、RTT とかいったりします。 1 RTT の内訳はだいたいこんな感じになります。 1 RTT = ネットワーク上で往路にかかる時間 + サーバの処理時間 + ネットワーク上で復路にかかる時間 HTTP/2 になったからといって、ネットワークを

                    HTTP/2 と gRPC に対するよくある誤解。 - ねののお庭。
                  • Connect-Web: It's time for Protobuf and gRPC to be your first choice in the browser

                    Connect-Web: It's time for Protobuf and gRPC to be your first choice in the browser Today we're releasing connect-web, an idiomatic TypeScript library for calling RPC servers from web browsers. If you've been unimpressed by gRPC and Protobuf on the web before, now's the time to take another look: connect-web generates modern TypeScript that's just as ergonomic as a hand-written REST client. Client

                      Connect-Web: It's time for Protobuf and gRPC to be your first choice in the browser
                    • .NET Framework 3.0 で作られたアプリケーションを .NET 5 に最新化して GitHub で公開するまでに行ったこと - しばやん雑記

                      CodePlex に置いてあった .NET Framework 3.0 時代に書かれたアプリケーションを、GitHub に移行しつつ .NET 5 で動くように 2 週間ぐらい頑張った話を書きます。正直なところ 12 年前に書かれたコードを何とかするのはめっちゃ大変でした。 今回コードの改善を頑張ったので色々な実験場としても使えるようにしています。特に GitHub 周りは新しい機能を使ってみるようにしています。 .NET Framework 3.0 時代に書かれたコードを何とかするのが本当に大変だった(まだ何とか出来てない https://t.co/u5SrISQRCL— Tatsuro Shibamura (@shibayan) 2021年5月9日 実際には .NET 5 で動くようにはなっていますが、中身は古臭い実装がたくさん残っているので、ツイートの通り全然何とかなっていない状況で

                        .NET Framework 3.0 で作られたアプリケーションを .NET 5 に最新化して GitHub で公開するまでに行ったこと - しばやん雑記
                      • Scalaはバックエンドでもフロントエンドでも動く Treasure Dataのエンジニアが語るScalaの応用力の高さ

                        アジア最大級の国際Scalaカンファレンスである「ScalaMatsuri2020」がオンラインで開催されました。そこでTreasure DataのTaro L. Saito 氏がScalaに関するいろいろなテクノロジーを紹介しました。まずは、バックエンドとフロントエンドの両方で使えるScalaについて。 趣味はオープンソースのプロジェクトを作ること Taro L. Saito氏:「Scala For Everything」というタイトルで発表します。簡単な自己紹介を。Treasure DataのSaitoといいます。Principal Software Engineerをしていて、今、カリフォルニア、アメリカの西海岸から発表しています。タイムゾーンの都合上、今こちらは夜の20時なんですけれども、ScalaMatsuriの運営の麻植さんが、タイムゾーンに配慮してくださったので、非常に感謝し

                          Scalaはバックエンドでもフロントエンドでも動く Treasure Dataのエンジニアが語るScalaの応用力の高さ
                        • みんなで育てる GraphQL スキーマ, それを支える Protobuf / GraphQL and Protobuf #tech_stand

                          TECH STAND #7 発表資料 https://standfm.connpass.com/event/239750/ これまでのあらすじ - GraphQL 導入の反省と再挑戦 by @izumin5210 - 技術を的に当てる技術について - GraphQL を入れ直した話 by @Altech OSS - https://github.com/proto-graphql/proto-graphql - https://github.com/proto-graphql/proto-nexus 紹介したもの - https://book.productionreadygraphql.com/

                            みんなで育てる GraphQL スキーマ, それを支える Protobuf / GraphQL and Protobuf #tech_stand
                          • net/http/httptest.Server のアプローチをテスト戦略に活用する / Go Conference 2023

                            https://gocon.jp/2023/sessions/A13-S/ https://github.com/k1LoW/httpstub https://github.com/k1LoW/grpcstub https://github.com/k1LoW/smtptest https://github.com/k1LoW/runn

                              net/http/httptest.Server のアプローチをテスト戦略に活用する / Go Conference 2023
                            • Real World Performance of gRPC - gRPC 利用による劇的なパフォーマンス改善 | Wantedly Engineer Blog

                              こんにちは、Wantedly の Infrastructure Team で Engineer をしている南(@south37)です。 先日は、「gRPC Internal」というタイトルで gRPC の設計と内部実装についてブログを書きました。 こんにちは、Wantedly の Infrastructure Team で Engineer をしている南(@south37 )です。 今日は、WANTEDLY TECH BOOK 6 から「gRPC Internal」という章を抜粋して Blog にします。 「WANTEDLY TECH BOOK 1-7を一挙大公開」でも書いた通り、Wantedly では WANTEDLY TECH BOOK のうち最新版を除いた電子版を無料で配布する事にしました。Wantedly Engineer Blogでも過去 この gRPC ですが、Wantedly

                                Real World Performance of gRPC - gRPC 利用による劇的なパフォーマンス改善 | Wantedly Engineer Blog
                              • GoでgRPCのAPIテスト環境を構築する - enechain Tech Blog

                                はじめに JCEXで実践しているAPIテストについて 単体テスト 負荷テスト なぜAPIの単体テストを行っているのか API単体テストで使用するパッケージ 実例によるAPI単体テストの環境構築 前提 ステップ1: テストしたいAPIの定義 ステップ2: テストの作成 ステップ3: APIの実装 ステップ4: DBを使ったテスト ステップ5: ヘルパー関数化 ステップ6: テーブル駆動テストに変える ステップ7: フィクスチャを使ったテスト まとめ おわりに はじめに こんにちは、enechainのGXデスクでエンジニアをしている@ejiです。 GXデスクは、『日本気候取引所 - Japan Climate Exchange』 (以下 JCEX) のサービス開発を担当しており、 私は主にBFFとバックエンドのAPIをGoで開発しています。バックエンドのAPIは gRPC を使用しています。

                                  GoでgRPCのAPIテスト環境を構築する - enechain Tech Blog
                                • gRPC と Quarkus! - 赤帽エンジニアブログ

                                  Red Hat で Solution Architect として Quarkus を担当している伊藤ちひろです。 この記事は、Quarkus.io のブログ記事、gRPC with Quarkus! の翻訳記事です。 Quarkus 1.5 では、gRPC Quarkus拡張機能の最初のバージョンを出荷しました。 gRPCに馴染みのない方に紹介すると、HTTP/2とProtobufに依存した高効率なリモートプロシージャコールの仕組みです。gRPC は、Go、JavaScript、Python、Java などの任意の言語から gRPC サービスを実装して利用できます。 gRPC は、より古典的なリクエスト/レスポンスの相互スキームと同様に、双方向のデータストリームをサポートしています。gRPCは特にマイクロサービスに適しています。マイクロサービスシステムを構築する際の3つの大きな懸念事項であ

                                    gRPC と Quarkus! - 赤帽エンジニアブログ
                                  • shiodaifuku.io

                                    Webエンジニアのブログです。

                                      shiodaifuku.io
                                    • 5日間で同期メンバーとgRPCを使ったリアルタイム通信ゲームを作ってみた - Qiita

                                      はじめに #おうちハッカソンというものに同期と参加して、gRPCを使ったリアルタイム通信ゲームを作りました。 これは、ゲームクライアントを作った人間の視点での話になります。私はサーバサイドを担当していないので、サーバサイドをやってくれた人が記事を投稿してくれることを期待しています。 自己紹介 Twitter @AblerBiri Github Gamu2059 サイバーエージェント21年度入社予定 Unity、ゲームクライアント系がメインフィールドのエンジニア プログラミング歴だけだと7年くらい おうちハッカソン https://connpass.com/event/174573/ @at_sushi_atさんが主催されたハッカソンです。 内定者同士でリモート飲み会をした時に、「なかなか交流できないからハッカソンとかやって交流したいね」という意見が出ていました。 ちょうどその時にこのハッカ

                                        5日間で同期メンバーとgRPCを使ったリアルタイム通信ゲームを作ってみた - Qiita
                                      • proto定義や成果物の管理用レポジトリを構築した話 - Kyash Product Blog

                                        こんにちは、Fundsチームの @convto です。Kyashでは銀行入金やコンビニ入金などの残高の入出金に関わる部分の開発をしています。 Fundsチームではその業務の性質上多数の外部ベンダとやり取りをしています。 それぞれベンダごとに仕様なども異なるため、その接続部分のいくつかはマイクロサービスとして切り出されています。 Fundsチームの管理しているサービス間の通信でgRPCを導入する際、今後の社内の別サービスなどにも汎用的に使えるようなproto管理レポジトリを構築したのでその紹介をしたいと思います。 proto管理レポジトリで満たしたい要件について はじめに、他社の事例も参考にしつつ、自分たちがprotoを管理するにあたってどのような要件を満たせれば良いのか整理しました。 他社の事例を調査したところ、以下のような構成が多かったように思います。 名称は app-proto や p

                                          proto定義や成果物の管理用レポジトリを構築した話 - Kyash Product Blog
                                        • gRPC Development Environment - Wantedly の gRPC Server/Client 開発環境 | Wantedly Engineer Blog

                                          こんにちは、Wantedly の Infrastructure Team で Engineer をしている南(@south37)です。 先日、gRPC 関連で2つのブログを書きました。「gRPC Internal」では、ドキュメントやコードを読み解くなかで見えてきた「gRPC の設計と内部実装」についてブログを書きました。「Real World Performance of gRPC」では、Wantedly で実際に gRPC を利用することで達成できたパフォーマンス改善についてブログを書きました。 こんにちは、Wantedly の Infrastructure Team で Engineer をしている南(@south37 )です。 今日は、WANTEDLY TECH BOOK 6 から「gRPC Internal」という章を抜粋して Blog にします。 「WANTEDLY TECH

                                            gRPC Development Environment - Wantedly の gRPC Server/Client 開発環境 | Wantedly Engineer Blog
                                          • PerlでもgRPCで通信したい - アリ

                                            まずはじめに、2021/2時点でgRPCがサポートされている言語にはPerlは含まれていなく、公式にはサポートされていません。 現時点でと言ったものの将来的にもサポートされることがないだろうことからPerlでgRPCを扱うのは茨の道といえるでしょう。 おとなしくgRPC transcodingしてHTTP REST APIで叩きましょう、というのがほぼ答えなのですがCPANに公開されているライブラリを使ってどこまでできるのかを検証するのがこの記事の目的です。 題材 gRPCで通信といっても、サーバとクライアントのどちらをPerlで実装するかという話になりますが、今回実装するのはクライアントです。 他の言語で書かれたマイクロサービスからPerlと通信することを想定して、手軽な例としてGAPIC Showcaseのサーバと通信することにしてみます。 github.com google.show

                                              PerlでもgRPCで通信したい - アリ
                                            • Postman Now Supports gRPC | Postman Blog

                                              Learning Center Learn about how to get started using Postman, and read more in the product docs. Labs Flows, gRPC, WebSockets! Learn about the latest cutting-edge features brewing in Postman Labs. Open Technologies Invest in the knowledge, specifications, standards, tooling, data, people, and organizations that define the next 50 years of the API economy. Don’t forget to register here to attend PO

                                                Postman Now Supports gRPC | Postman Blog
                                              • マイクロサービス・アーキテクチャと共存する Ruby on Rails のアーキテクチャ的拡張 - その事例と可能性 / Kaigi on Rails 2021

                                                Kaigi on Rails 2021 の発表資料です。 https://kaigionrails.org/2021/talks/Altech_2015/

                                                  マイクロサービス・アーキテクチャと共存する Ruby on Rails のアーキテクチャ的拡張 - その事例と可能性 / Kaigi on Rails 2021
                                                • gRPCとは?gRPCベースのシステムの脆弱性診断とツール(前編) | セキュリティブログ | 脆弱性診断(セキュリティ診断)のGMOサイバーセキュリティ byイエラエ

                                                  札幌オフィス在籍の岸谷です。近年gRPCの利用がだいぶ普及してきましたね。今回はgRPCを利用するシステムの脆弱性診断と、そのためのツールについて書きたいと思います。 gRPCって何? 本稿はgRPC自体の解説を目的としたものではありませんが、本題に進む前に簡単に概要に触れます。gRPCはGoogleで開発され、その後オープンソース化されたフレームワークです。grpc.ioには下記のようにあります。 gRPC is a modern open source high performance RPC framework that can run in any environment. 「環境を問わずハイパフォーマンスなRPC開発フレームワーク」ということで、XML-RPCやJSON-RPC、REST API開発用のフレームワークなどのように、他コンピュータ上のコードの呼び出しなどシステム間通

                                                    gRPCとは?gRPCベースのシステムの脆弱性診断とツール(前編) | セキュリティブログ | 脆弱性診断(セキュリティ診断)のGMOサイバーセキュリティ byイエラエ
                                                  • gRPCを使ってRust – JavaScript通信 | DevelopersIO

                                                    Introduction RPCは昔からあるクライアント−サーバー間の通信手法です。 サーバで実装されている関数をクライアントから呼んで実行します。 最近ではHTTP/HTTPSでクラサバ間通信をして、 フォーマットにXML(XML-RPC)やJSON(JSON-RPC)を利用するのが 多いようです。 (直近で私は使った記憶がないですが) 上記のRPCは各技術がメジャーなので採用しやすいですが、 パフォーマンスがそこまで高くなかったり バイナリデータが扱いにくかったりします。 そういった問題点を解決するために開発されたのが、 Google発のRPCであるgRPCです。 gRPC? gRPCはハイパフォーマンスなオープンソースのRPCフレームワークです。 Googleが開発したRPC技術(Stubby)が元となって開発され、オープンソース化されました。 現在はCNCFによって開発が進められて

                                                      gRPCを使ってRust – JavaScript通信 | DevelopersIO
                                                    • Cysharpの河合様をゲスト講師にお招きしてゲームサーバーに関する社内勉強会を開催しました! | DevelopersIO

                                                      データアナリティクス事業本部の貞松です。 今回はデータ分析でも機械学習でもない話です。 細かい経緯はさておき、ゲーム開発におけるクライアントサイド(主にUnityを想定)だけでなく、サーバーサイドまで一貫してC#で開発することを想定した場合の知見を蓄積する為の社内タスクフォースが発足しました。 その活動の一環でCysharpの河合様とコンタクトを取らせていただき、ゲームサーバーに関する勉強会を実施していただくことになりました。 本記事は、上記勉強会のまとめ的な内容と個人的に重要だと感じたポイント、またゲームサーバーの開発を加速するCysharp製のライブラリについて記載します。 2020.9.16更新 : 当日のスライドをシェアいただいたので追加しました! 株式会社Cysharpについて 今回の勉強会で講師をしていただきました河合様が代表取締役を務められているCysharpのコーポーレート

                                                        Cysharpの河合様をゲスト講師にお招きしてゲームサーバーに関する社内勉強会を開催しました! | DevelopersIO
                                                      • Goでミドルウェアとインターセプターのテストをする方法

                                                        はじめに この記事では HTTP のミドルウェアと gRPC のインターセプターのユニットテストの方法について紹介します。 HTTPミドルウェアのテスト gRPCインターセプターのテスト HTTP のミドルウェアや gRPC のインターセプターといえば Web サービスの共通処理の実装が集中する場所です。共通処理であるが故に開発初期に作り込んで後から手を入れることが少ないという特性があります。あまり手を入れることがないからといってユニットテストを省いてしまうと、あとから機能追加したり、バグを発見したりしたときに慌てることになります。共通処理が集まるコードはいざという時に備えてしっかりユニットテストをしてあげましょう。 HTTPミドルウェアのテスト まずは HTTP ミドルウェアのテスト方法を見てみます。 テスト対象のミドルウェア 以下の HTTP ミドルウェアのコードをテストします。コンテ

                                                          Goでミドルウェアとインターセプターのテストをする方法
                                                        • インターンで作成したgRPCリクエスト再現ツールについて | Wantedly Engineer Blog

                                                          こんにちは!Wantedly Visitの推薦基盤チームで三週間インターンをしていた大山です。 今回のインターンで、過去の特定の日のgRPCリクエストを模倣して同じリクエストを再び投げるリクエスト再現ツールを作ったのでここで紹介させていただきます。 何を作ったかgRPCリクエストしたいサービス・メソッド・日時が書かれたjsonファイルを読み込んで、それに従ってgRPCのリクエストを送るツール (request-repeater)BigQuery上の推薦基盤サービスvisit-recommendation-projectのアクセスログから上記jsonファイルを作成するツール (bq-to-request-file)以下、上記括弧内の名称をそれぞれのツールの呼称とします。 背景このようなツールを作るにあたって以下のような背景がありました。 本番環境と同じリクエストを用いてqa環境に対して負荷を

                                                            インターンで作成したgRPCリクエスト再現ツールについて | Wantedly Engineer Blog
                                                          • Python、Node.js、C#のサンプルコード付き サービス間通信技術「gRPC」を学べる無料の電子書籍

                                                            Googleによって開発され、オープンソース化された通信技術「gRPC」は、マイクロサービスアーキテクチャにおけるサービス間の通信手段としてはもとより、モバイルアプリケーションがサービスにアクセスする際のインタフェースとしても注目されています。 本eBookでは、連載「スキマ時間にこっそり学ぶ『gRPC』入門」全8回を収録。そもそもRPC(Remote Procedure Call)とはどのような通信技術なのか、gRPC誕生の背景や、gRPCの特徴、利点を解説しています。 第1回以降はC#、Python、Node.js、KotlinとAndroid、SwiftとiOS、Goとgrpc-gatewayなどさまざまなプログラミング言語、プラットフォームを取り上げ、gRPCサーバとクライアントを実装する方法や、サーバストリーミング、クライアントストリーミングを実装する方法を、サンプルコードととも

                                                              Python、Node.js、C#のサンプルコード付き サービス間通信技術「gRPC」を学べる無料の電子書籍
                                                            • Go Protocol Buffer Message API V2 のReflectionとgRPC Server-side Interceptorを使ってAPIの呼び出し権限チェックを実現する|Dentsu Digital Tech Blog

                                                              Go Protocol Buffer Message API V2 のReflectionとgRPC Server-side Interceptorを使ってAPIの呼び出し権限チェックを実現する 電通デジタルでバックエンド開発をしている齋藤です。弊社では社内/グループ会社向けのデジタル広告運用実績の管理システムのバックエンドAPIにgRPCを利用しています。 そこに、今年(2020年)の3月2日にGo公式のブログでGo Protocol Buffer Message API V2 の発表があり、4月13日にgolang/protobuf に Message API V2 対応版の v1.4.0 が正式リリースされました。これにより Go でも Reflectionが使えるようになりました。ブログ中で紹介されている、FieldOptionsを読み取ってフィールドをクリアする条件に使うなどより

                                                                Go Protocol Buffer Message API V2 のReflectionとgRPC Server-side Interceptorを使ってAPIの呼び出し権限チェックを実現する|Dentsu Digital Tech Blog
                                                              • いまさらだけどgRPCに入門したので分かりやすくまとめてみた - Qiita

                                                                はじめに gRPCという言葉自体はよく聞いていたのですが、「RESTと同じような立ち位置なんだよね?何が違うの?」という状況だったので調べてまとめてみました。 モダンな技術を採用している企業では、既にサービスで当たり前のように活用されている技術ですので、gRPCの基本レベルで自信無い方は目を通してみてください。 gRPCとは gRPCはGoogle謹製のHTTP/2を利用したRPCフレームワークです。 Protocol Buffersを利用し、データをシリアライズして高速なRPCを実現します。 (Protocol Buffers以外も利用可能ですが、デファクトスタンダードとなっているため、本記事ではProtocol Buffersを前提に説明します。) protoファイルと呼ばれるIDL(Interface Definition Language)にAPI仕様を記述します。 また、IDLか

                                                                  いまさらだけどgRPCに入門したので分かりやすくまとめてみた - Qiita
                                                                • 多様なプロダクトが存在する freee における health check 標準化 - freee Developers Hub

                                                                  こんにちは。freee の Platform Solution チーム1 に所属している nkgw (Twitter) です。 この記事は freee 基盤チーム Advent Calendar 2023 の 15 日目の記事となります。 普段は、エンジニアリングマネージャーをしつつ、新規プロダクトのリリースサポートとか、プロダクトのキャパシティプランニングやコンピューティングリソース調整などをやってました。 今回、freee のプロダクトにおける health check の標準化について取り組みました。health check の要件と非標準化がもたらす具体的な問題を整理しつつ、freee では実際にはどのように health check を定義したのかを紹介します。 その前に... 詳細な内容の前に、弊社のような複数のプロダクトが相互に依存関係があるような環境下における health

                                                                    多様なプロダクトが存在する freee における health check 標準化 - freee Developers Hub
                                                                  • 帰ってきた optional - Protocol Buffers v3.12 から Field presence が導入|Dentsu Digital Tech Blog

                                                                    帰ってきた optional - Protocol Buffers v3.12 から Field presence が導入 電通デジタルでバックエンド開発をしている齋藤です。 今回は Protocol Buffers v3.12 のリリースで追加された Field presence 機能について調べたことをご紹介します。 前提:v3.12 以前の Protocol Buffers v3 における optional な値の扱いProtocol Buffers v3 (proto3) では v2 (proto2) にはあった optional ながなくなり、optional を扱うにはひと工夫必要でした。加えて、Message の Filed に値を入れなかった場合は、Fieldの型のディフォルト値が送られてきたとみなす仕様になっています(各型のディフォルト値はこちら)。 そのため、開発者は

                                                                      帰ってきた optional - Protocol Buffers v3.12 から Field presence が導入|Dentsu Digital Tech Blog
                                                                    • GraphQLはサーバーサイド実装のベストプラクティスとなるか - Qiita

                                                                      この記事は GraphQL Advent Calendar 2020 14 日目の記事です。 前回の記事は @joe-re さんの 「ライブラリの実装からCursor-based paginationにおけるcursorのフォーマットのベストプラクティスを探る」 でした。 前置き GraphQLは2010年代後半に出てきた技術の中でも個人的に特に強力なアプリケーション実装パターンの一つだと思っているのですが、シンプルな実装なのに利用用途が豊富にあることと利用する立場が違うと全く印象を抱く事から全体像を掴みづらく、本来持つべきポテンシャルに対してまだ認知が広がっておらず利用されていないように感じます。 今回はサーバーサイドからの視点を中心にGraphQLを構築する要素を分解して解説するのとともに、それを利用した際にWebアプリケーション開発やそれに関わるエンジニアに起きうる変化について書いて

                                                                        GraphQLはサーバーサイド実装のベストプラクティスとなるか - Qiita
                                                                      • Fluentdのプラグインを作ってBigQueryにログを挿入するコストを1/3にした話 - pixiv inside

                                                                        こんにちは。 機械学習チームにてレコメンドの改善を行っているgumigumi4fです。 この記事では、Fluentdにて収集したログをBigQueryに挿入する際に使用しているプラグインを置き換えることによって、高スループットかつ低コストを実現した話について紹介します。 背景 pixivではアクセスログやアプリケーションログ等をBigQueryに収集し、分析できるような仕組みを構築しています。 BigQueryへアクセスログを挿入する際はFluentdとそのプラグインであるfluent-plugin-bigqueryを用いて直接BigQueryへ書き込むようになっていたのですが、その際にログ欠損が起こることが問題となっていました。 ログの欠損はピークタイムで発生しており、そのピークタイムのログの流量は概ね毎秒30000logとかなり多く、実際Fluentdのworkerプロセスが1work

                                                                          Fluentdのプラグインを作ってBigQueryにログを挿入するコストを1/3にした話 - pixiv inside
                                                                        • [アップデート] ALBでエンドツーエンドのHTTP/2サポートによりgRPCワークロードが可能になりました | DevelopersIO

                                                                          本日のアップデートにより Application Load Balancer(以下、ALB)でエンドツーエンドのHTTP/2がサポートされ、加えて gRPC プロトコルが利用可能になりました。 Application Load Balancers enables gRPC workloads with end to end HTTP/2 support ALB でエンドツーエンドの HTTP/2 通信が可能に 以前より ALB は HTTP/2 に対応していましたが、ALB - ターゲット間の通信は HTTP/1.1 に変換されていました。そのため、エンドツーエンドでの HTTP/2 利用できませんでした。この仕様により、HTTP/2 をトランスポートに利用する gRPC を ALB で利用することは出来ないため、NLB または CLB を利用されていたかと思います。 今回のアップデートで

                                                                            [アップデート] ALBでエンドツーエンドのHTTP/2サポートによりgRPCワークロードが可能になりました | DevelopersIO
                                                                          • gRPC Client on Cloudflare Workers

                                                                            Workers Tech Talks #1 で話した内容です。 https://workers-tech.connpass.com/event/287490/

                                                                              gRPC Client on Cloudflare Workers
                                                                            • 「開発はVue.jsでしたいけど、TypeScriptを入れたい問題」をどうするか フロントエンド開発のお悩み相談

                                                                              Vue.jsに関する勉強会「Roppongi.vue #2」が2019年7月31日に開催されました。Vue.jsをさまざまな角度から掘り下げ、知見をシェアします。トークセッション 「最近のフロントエンドぶっちゃけどうっすか?」に登壇したのは、フロントエンドエンジニアで活躍するpotato4d氏とkahirokunn氏。昨今のフロントエンド界隈事情をディスカッションします。 gRPC-webは伸びしろがある tadano:Q3.「みんなにもっと知ってほしい知識や、積極的に広めたいモノはありますか?」。 potato4d:それこそ今の話ですが、gRPC-webは伸びしろがあると思っています。あと、異なる言語間で通信できるというところで、IDLという概念がこれから重要になってくると思っています。BFF層も、これから過労死するぐらい使われていくことになると思う。 例えばBFF層がTypeScrip

                                                                                「開発はVue.jsでしたいけど、TypeScriptを入れたい問題」をどうするか フロントエンド開発のお悩み相談
                                                                              • grpc-gateway を実運用で使うための追加実装|Dentsu Digital Tech Blog

                                                                                電通デジタルでバックエンドの開発をしている平沼です。 Dentsu Digital Advent Calendar 2020 の 18 日目の記事になります。前回の記事は「Micro Frontends 導入の覚書」でした。 弊社では、社内 / グループ会社向けのデジタル広告運用実績管理システムのバックエンドサービスに gRPC を利用しています。また Web などから HTTP によるアクセスができるように、 gRPC から HTTP に変換して API を提供する grpc-ecosystem/grpc-gateway も利用しています。 grpc-gateway を利用するとき、 README.md 通りの使い方ではサービス運用上困ることがあります。今回はそのうち下記 3 点を取り上げて対応方法を紹介します。 ・grpc-gateway サーバ自身のヘルスチェックをしたい ・認証情報

                                                                                  grpc-gateway を実運用で使うための追加実装|Dentsu Digital Tech Blog
                                                                                • 【海外版リリース記念】サーバーサイドKotlin、gRPCを中心とした「SEVEN’s CODE-セブンスコード-」のバックエンド技術

                                                                                  HOME ブログ サーバー , Kotlin 【海外版リリース記念】サーバーサイドKotlin、gRPCを中心とした「SEVEN’s CODE-セブンスコード-」のバックエンド技術 【海外版リリース記念】サーバーサイドKotlin、gRPCを中心とした「SEVEN’s CODE-セブンスコード-」のバックエンド技術 2020.01.27 こんにちは、バックエンドエンジニアの竹端です。 去る2020年1月23日、弊社のゲームタイトルSEVEN’s CODE-セブンスコード-が全世界に向けて配信されました。 こちらのタイトルは昨年10月に日本では既にリリースされており、ここ数年アプリボットで取り組んできたサーバーサイドKotlin、gRPCを中心とした技術基盤で作られたタイトルです。 昨年開催されたCEDEC 2019のセッションでも、事例としてお話しさせていただきました。 https://s

                                                                                    【海外版リリース記念】サーバーサイドKotlin、gRPCを中心とした「SEVEN’s CODE-セブンスコード-」のバックエンド技術