タグ grpc
人気順 5 users 50 users 100 users 500 users 1000 users資料公開:「Golangを使ったバックエンドの実装入門」で DevelopersIO 2024に登壇しました #devio2024 | DevelopersIO
ども、もこ(札幌オフィス)です。 本日開催のClassmethod Odyssey (DevelopersIO 2024) で登壇いたしましたので、資料とソースコードを公開します。 資料 ソースコード DEMOでお見せしたコードは下記にて公開しております。 https://github.com/mokocm/go-task-backend 所感 gRPC、なんとなく難易度が高そうなイメージが... 続きを読む
GoでgRPCのAPIテスト環境を構築する - enechain Tech Blog
はじめに JCEXで実践しているAPIテストについて 単体テスト 負荷テスト なぜAPIの単体テストを行っているのか API単体テストで使用するパッケージ 実例によるAPI単体テストの環境構築 前提 ステップ1: テストしたいAPIの定義 ステップ2: テストの作成 ステップ3: APIの実装 ステップ4: DBを使ったテスト ステップ5:... 続きを読む
今日から分散トレーシングに対応しないといけなくなった人のための opentelemetry-go 入門 - Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。SRE/データストアチームの飯塚です。 私たちのチームではデータベースを代理で操作したり情報を取得したりするサービスをいくつか作り、それをプロダクトチームが利用できるように gRPC 経由で提供しています。ところで、ある日突然「分散トレーシングを活用していくことになったので、あなたのチームのサー... 続きを読む
Better gRPC な Connect に乗り換える - Go言語編
デジタル認知行動療法 Awarefy は、2022年4月からバックエンドシステムを Go + gRPC / Protocol Buffers を用いて開発・運用しています。現在進行中の Web アプリ開発のために、connect-go への切り替えが事実上必要になったため、grpc-go から connect-go へのマイグレーションを実行しました。 Connect とはそもそも C... 続きを読む
BaggageをREST/gRPC/SQSで伝播できるようにした話 - Qiita
なお、弊社はベンダーとしてはDatadog、言語としてはGoを使っているのでその前提でこのブログを書きますが、その他のベンダー、言語でも参考になると思います。 Baggageに含めるとよさそうなもの よくあげられる例としては、UserIDやProductID、ソースIPアドレスなどのリクエストに紐づくデータが挙げられます。注意点と... 続きを読む
東京Node学園40時限目で話をしてきました | フューチャー技術ブログ
オンライン開催された東京Node学園40時限目で発表してきました。スライドはこちらです。 内容としてはこのブログに書いた、gRPCがフロントエンド通信の第一の選択肢になる時代がやってきたかも?という記事をベースにして、gRPCとは何かとか、Connectプロトコルの存在や、今までの公式実装ととどのように開発のスタイル... 続きを読む
gRPCがフロントエンド通信の第一の選択肢になる時代がやってきたかも? | フューチャー技術ブログ
Go 1.19が8/2に早々にリリースされました。個人的にはGo 1.19よりも楽しみだったのが、サービス間通信とIDL(インタフェース記述言語)連載の中でご紹介したgRPCのGo実装の新星、Connectのアップデートでした。そしてそれはやってきました。 詳しい内容は↑の記事を見ていただくとして、Connectがその開発元ブログの紹介... 続きを読む
gRPCのGo実装の新星、Connect | フューチャー技術ブログ
サービス間通信とIDL(インタフェース記述言語)連載の2日目のエントリーです。 本当はGraphQLネイティブなデータベースの紹介をしようとしたのですが、紹介しようとしていたものがまだベータでクライアントライブラリが公開されていない(空っぽのリポジトリしかない)みたいな感じで試せなかったので、急遽2022/6/1に... 続きを読む
作ってわかる! はじめてのgRPC
gRPCは主にバックエンド、特にマイクロサービス同士の通信に多く使われる通信方式です。 しかしそれゆえに知名度が低く、「gRPCってどんな通信なんだろう?」「HTTPとは別の仕組みなの?」と思っている方もたくさんいるのではないでしょうか。 この本では、gRPCはそもそもどんなコンセプトで作られた通信方式なのかから... 続きを読む
Vimを支える技術: Alacritty, AquaSKK, tmux, Language Server… 高速ウェブ開発の世界
はじめに これは、ストックマーク Advent Calendar 2021 17日目の記事です。こんにちは、ストックマークでAstrategyというビジネス向けSaaSについて、主にフロントエンドの開発を担当している@tsukkeeです。 Astrategyの技術構成については以前にAstrategyを支える技術: gRPC, Elasticsearch, Cloud TPU, Fargate... Saa... 続きを読む
Netflixにおける実用的なAPI設計: gRPCとFieldMask | pyspa
Netflix Tech BlogのgRPC APIに関する以下の2つの記事に感銘を受けたので、ここにその概要を日本語で記します。 (めんどくさかったので)翻訳の許可は取ってませんが、再構成してますし元のJavaではなくPythonで書き直していますので、容赦して下さい… Practical API Design at Netflix, Part 1: Using Protobuf FieldMa... 続きを読む
インターフェース定義の悩みを解決するために gRPC、Protocol Buffers を調査してみた - SMARTCAMP Engineer Blog
こんにちは!今年の 4 月からスマートキャンプに入社し、只今新卒エンジニア研修期間中の中田です。本記事は、インターフェース定義の悩みを解決するために gRPC、Protocol Buffers を調査してみた!という内容のエントリです。 背景 gRPC とは Protocol Buffers とは 4 つの通信方式を試してみた 実装 準備 インターフ... 続きを読む
Astrategyを支える技術: gRPC, Elasticsearch, Cloud TPU, Fargate... SaaS型AIサービスの内側の世界 - Stockmark Tech Blog
ストックマークでは、法人ユーザー向けの「Astrategy」というウェブサービスを開発、提供しています。 本エントリでは、Astrategyで使われている技術やシステム構成をご紹介したいと思います。 Astrategyとは Astrategyとは、AIがウェブニュースを解析してあらゆる市場の動向やトレンド、有力企業の経済活動を可視化し、... 続きを読む
サービスメッシュとしてLinkerdを導入するに至った経緯 - ANDPAD Tech Blog
はじめに SREの須恵です。 弊社では、昨秋からサービスメッシュの導入を開始していたのですが、なかなかアウトプットできていなかったので書くことにしました。 マイクロサービス化とgRPC 弊社で進行中の技術テーマの1つに「マイクロサービス化」があります。 ビジネスの成長拡大に伴い開発組織も拡大し続けており、どん... 続きを読む
REST vs. GraphQL vs. gRPC · Dan Hacks
REST, GraphQL, and gRPC are 3 popular forms client-server and server-to-server communication. Choosing can be difficult, so this concise guide can help. In each section, an example will be provided to illustrate retrieving a user. REST Notes HTTP paths describing data, e.g. /users as a collection... 続きを読む
PerlでもgRPCで通信したい - アリ
まずはじめに、2021/2時点でgRPCがサポートされている言語にはPerlは含まれていなく、公式にはサポートされていません。 現時点でと言ったものの将来的にもサポートされることがないだろうことからPerlでgRPCを扱うのは茨の道といえるでしょう。 おとなしくgRPC transcodingしてHTTP REST APIで叩きましょう、というのが... 続きを読む
Rails アプリケーションに gRPC を導入したときの話 - エニグモ開発者ブログ
Rails アプリケーションに gRPC を導入したときの話 こんにちは、エンジニアの齊藤です。 この記事は Enigmo Advent Calendar 2020 の10日目の記事です。 本日は、Kubernetes にデプロイした複数の Rails アプリケーション間のデータのやり取りに gRPC を採用した開発について ruby の実装を中心にいくつか共有したいと... 続きを読む
Go言語でのgRPCコード生成(2020年10月以降版)|Dentsu Digital Tech Blog|note
でご紹介したGo言語でのgRPCコード生成の状況の続報(2020年末)をお伝えしたいと思います。 概要としては前回の記事に記載した通りで ・Protocol Buffer側のレポジトリは golang/protobuf から protocolbuffers/protobuf-go に移行 ・gPRC側のレポジトリのgrpc/grpc-goに新たにprotoc-gen-go-grpcコマンドができた なので... 続きを読む
RustのgRPCがGoよりも遅い?. 夏のある日、GoのgRPCが、Rustよりも2倍早いという記事を見つけました。「… | by FUJITA Tomonori | nttlabs | Sep, 2020 | Medium
夏のある日、GoのgRPCが、Rustよりも2倍早いという記事を見つけました。「おいおい、測定ミスだろ」と強がっていましたが、日々、不安は高まっていきます。真実の愛であれば、疑うことは許されませんが、エンジニアの言語への愛など、所詮、状況に応じて使い分けるような打算的な愛。確認してみました。 性能測定結果上... 続きを読む
OpenAPI や Protocol Buffers のおかげで開発がかなり捗っている話 - Medley Developer Blog
こんにちは、インキュベーション本部エンジニアの加藤です。 主に CLINICS アプリの開発を担当しています。 はじめに CLINICS アプリの開発では OpenAPI や gRPC を利用しています。 OpenAPI と gRPC の間には何の関係もないのですが、どちらも API の仕様をスキーマ言語で記述するという点では共通しています。 今回は... 続きを読む
gRPC をテーマとした国際カンファレンス gRPC Conf で Wantedly の gRPC 活用事例について話しました! | Wantedly Engineer Blog
こんにちは、Wantedly の Infrastructure Team で Engineer をしている南(@south37)です。 先日、gRPC Conf という国際カンファレンスで Wantedly の gRPC の活用事例について話しました!今日は登壇に至った背景や、gRPC Conf そのもの、および登壇内容について紹介したいと思います。 背景: Wantedly と国際カンファ... 続きを読む
ZOZOMATにおけるEKSやgRPCを用いたシステム構成と課題解決 - ZOZO Technologies TECH BLOG
ZOZOテクノロジーズSRE部の市橋です。普段は主にAWSを用いて複数プロダクトのシステム構築、運用に携わっています。今回は2020年2月にリリースされたZOZOMATについて、システム構成と開発時に直面した課題、その課題を解決するために工夫した点について紹介します。 ZOZOMATではEKSやgRPCを新規に採用しており、これによ... 続きを読む
Protocol BuffersでgRPCとGraphQL両対応のコードを生成するプラグイン書いた - blog::wnotes.net
gRPC、あるいはGraphQL 昨今のAPI開発にgRPC、またはGraphQLを採用するケースは増えてきていて、ドメインロジックをgRPCで実装して、フロントエンド(BFF)はGraphQL経由のHTTP一本で取得するのはベストプラクティスの一つだと思っています。 とはいえ人的リソースや管理の問題から、ProtobufとGraphQLスキーマを両方メン... 続きを読む
サービス間通信のための新技術「gRPC」入門 | さくらのナレッジ
たとえば次のような「user.proto」というプロトコル定義ファイルを用意し、これを変換する例を見てみよう。 syntax = "proto3"; message Picture { uint32 id = 1; uint32 width = 2; uint32 height = 3; enum PictureType { PNG = 0; JPEG = 1; GIF = 2; } PictureType type = 4; } message User { uint32 id = 1; stri... 続きを読む
Git clone over gRPC • Encore
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 ea... 続きを読む