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
サービス間通信とIDL(インタフェース記述言語)連載の2日目のエントリーです。 本当はGraphQLネイティブなデータベースの紹介をしようとしたのですが、紹介しようとしていたものがまだベータでクライアントライブラリが公開されていない(空っぽのリポジトリしかない)みたいな感じで試せなかったので、急遽2022/6/1に公開されたばかりのgRPC関連のライブラリのConnectを紹介することにしました。 Connectの開発元が公開したブログは次のサイトにあります。 Buf | Connect: A better gRPC 公式ドキュメントはこちらです。 Introduction | Connect なお、gRPCについての詳細はこのエントリーでは紹介しません。ちょうど、H.SakiさんがgRPCの詳しい紹介の記事を書いてくれているので、ぜひ、みなさんこちらを参照ください。 作ってわかる! はじ
この本は近年マイクロサービスなどで使用されているGoogle発のRPCフレームワーク「gRPC」の解説本です。 Goで実際にクライアント・サーバーを作り、その通信キャプチャすることでgRPCの内部を支えるしくみをひとつひとつ丁寧に解説しています。 Channel, Metadataなどの基本的な概念から、Interceptor, Load Balancerまで挿絵・スクリーンショット多めでの解説ありです! ■本書の内容 ・gRPCの概要と実装例 ・gRPCの高速かつ安定した通信を支えるしくみの解説 ・over TLS, Interceptor, Load Balancingなど応用的な技術の解説 ■本書の対象読者 ・gRPCとかマイクロサービスというのをやってみたい方 ・安定した通信をうまくやる技術を知りたい方 ・gRPCによるトラブルの調査方法を知りたい方 ・Googleの技術が好きな方
こんにちは。shirou(@r_rudi) と申します。アーキテクトという名の雑用係をしています。 Alpaca Japanでは、2021年8月に「アルパカ証券」という証券サービスをはじめました。 この一連の文章は、アルパカ証券の裏側のシステムやその開発体制などについて述べたものです。なるべく証券分野に限らず説明していく予定ですので、証券サービスを立ち上げようとしている人たちにはもちろん、それ以外の方にも参考にしていただけるような文章を目指したいと思っています。 アルパカ証券とはアルパカ証券の詳細はホームページをご覧ください。また、第一種金融商品取引業者登録完了時のプレスリリースにも、「アルパカ証券」サービスの特徴が記載されています。 全体設計方針まず最初に、アルパカ証券を構成するシステムの全体設計方針について説明します。 マイクロサービス vs モノリシック設計は2018年中頃ぐらいから
Standard error modelAs you’ll have seen in our concepts document and examples, when a gRPC call completes successfully the server returns an OK status to the client (depending on the language the OK status may or may not be directly used in your code). But what happens if the call isn’t successful? If an error occurs, gRPC returns one of its error status codes instead, with an optional string erro
- 質問ドキュメント(編集可能) : https://bit.ly/3d4U0iU - 質問ドキュメント(閲覧専用) : https://bit.ly/mercarigoOH_readonly - Twitterハッシュタグ : # mercarigo ( https://twitter.com/search?q=%23mercarigo&src=typed_query ) - 過去の Gophers Office Houres : https://bit.ly/30Y5wKT - gRPC and REST with gRPC in practice by kazegusuri https://speakerdeck.com/kazegusuri/grpc-and-rest-with-grpc-in-practice - connpass_Mercari グループ : https:/
gRPCで送受信されるメッセージは、標準ではProtocol Buffersでシリアライゼーションされることになっている。一方、gRPCのwire protocolはそこは柔軟になっていて、実際、多くの実装ではシリアライゼーション形式をカスタマイズ可能だ。 たとえば、ある種のニーズのためにFlatBuffersが必要だとか、HTTP/2をサポートする標準的なツールでの解析のためにJSONのほうが可読性が良いとか、社内のバイナリ表現の一貫性のためMsgPackが必要だとか、宗教的な理由でProtobufを使えないとか、そういうときはスキーマだけprotobufで書いておいて、シリアライズは好きなようにやれば良い。 で、具体的にはそれはどうやったらできるのだろう。これが本稿の話題である。いくつかの言語で実際にJSONでシリアライズするクライアントとサーバーを書いてみたので、その結果を紹介する。
こんにちは、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
この記事は Go5 Advent Calendar 2019 の2日目の記事です。 grpc-goではログやメトリクス取得、権限チェックなど、gRPCサーバの全てのメソッドで共通して行いたい処理を interceptor で行います。 本記事では、interceptor でメソッドごとの処理を記述する方法を紹介します。 gRPC の interceptor とは gRPCが提供している、メソッドの前後に処理を行うための仕組みです。gRPCのRPCには Unary RPCとStream RPCの2種類があり、それぞれに対して interceptor が定義されています。 interceptor の定義は下記のようになっています。どちらも context、request情報、Server情報が共通で、StreamInterceptorにのみ追加で ServerStream が渡されます。 ty
I'd like to test a gRPC service written in Go. The example I'm using is the Hello World server example from the grpc-go repo. The protobuf definition is as follows: syntax = "proto3"; package helloworld; // The greeting service definition. service Greeter { // Sends a greeting rpc SayHello (HelloRequest) returns (HelloReply) {} } // The request message containing the user's name. message HelloRequ
Channelz is a tool that provides comprehensive runtime info about connections at different levels in gRPC. It is designed to help debug live programs, which may be suffering from network, performance, configuration issues, etc. The gRFC provides a detailed explanation of channelz design and is the canonical reference for all channelz implementations across languages. The purpose of this blog is to
usage: ghz [<flags>] [<host>] Flags: -h, --help Show context-sensitive help (also try --help-long and --help-man). --config= Path to the JSON or TOML config file that specifies all the test run settings. --proto= The Protocol Buffer .proto file. --protoset= The compiled protoset file. Alternative to proto. -proto takes precedence. --call= A fully-qualified method name in 'package.Service/method' o
This article is more than one year old. Older articles may contain outdated content. Check that the information in the page has not become incorrect since its publication. Many new gRPC users are surprised to find that Kubernetes's default load balancing often doesn't work out of the box with gRPC. For example, here's what happens when you take a simple gRPC Node.js microservices app and deploy it
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 以下では grpc-go (v1.12.2) を前提に書きます。 ただ、 grpc/proposal を参照しているので、ほかの言語のライブラリにも当てはまるところがあると思います。 gRPC クライアントの再接続 gRPC クライアントがサーバーと接続を確立したあとにネットワークが切れた場合、gRPC ライブラリ側で再接続を期待すると思います。 しかし、keepalive が適切に機能していない場合、基本的に再接続は行われません。 grpc-go では、デフォルトでアプリケーションレイヤーでの keepalive は無効です。 RPC
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く