Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transrate gRPC #5

Merged
merged 10 commits into from
Apr 5, 2020
Merged

Conversation

chaspy
Copy link
Collaborator

@chaspy chaspy commented Mar 27, 2020

content/grpc.md Outdated
@@ -4,20 +4,19 @@ publishDate: "2019-12-31"
categories: ["Traffic Management"]
---

[gRPC](https://grpc.io/) is a communication protocol for services, built on [HTTP/2](https://www.cncf.io/blog/2018/08/31/grpc-on-http-2-engineering-a-robust-high-performance-protocol/). Unlike REST over HTTP/1, which is based on [resources](https://en.wikipedia.org/wiki/Representational_state_transfer), gRPC is based on [Service Definitions](https://grpc.io/docs/guides/concepts/). You specify service definitions in a format called [protocol buffers](https://developers.google.com/protocol-buffers/) ("proto"), which can be serialized into an small binary format for transmission.
[gRPC](https://grpc.io/) はサービス間通信のプロトコルで、[HTTP/2](https://www.cncf.io/blog/2018/08/31/grpc-on-http-2-engineering-a-robust-high-performance-protocol/) 上で動作します。[resources](https://en.wikipedia.org/wiki/Representational_state_transfer) ベースの HTTP/1 上で動作する REST と異なり、gRPC は [Service Definitions](https://grpc.io/docs/guides/concepts/) ベースです。伝達のための小さなバイナリフォーマットへシリアライズすることができる [protocol buffers](https://developers.google.com/protocol-buffers/) ("proto") と呼ばれるフォーマットで service definitions を指定します。
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for transmission の訳に迷いました。「伝達のための」って硬いですよね。とっちゃってもいいかなと思いつつ、意見を伺いたいです。

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ここに限らずですが、Link が張られている用語 - Service Definitions などを訳すか迷いました。下手に用語を下手に訳すのも逆に分かりづらいと思い。。。

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for transmission

データの通信や永続化のため とかはどうですかね(from wikipedia)

content/grpc.md Outdated

While gRPC supports some networking use cases like [TLS](https://grpc.io/docs/guides/auth/) and [client-side load balancing](https://grpc.io/blog/loadbalancing/), adding Istio to a gRPC architecture can be useful for collecting telemetry, adding traffic rules, and setting [RPC-level authorization](https://istio.io/blog/2018/istio-authorization/#rpc-level-authorization). Istio can also provide a useful management layer if your traffic is a mix of HTTP, TCP, gRPC, and database protocols, because you can use the same Istio APIs for all traffic types.
gRPC [TLS](https://grpc.io/docs/guides/auth/) [client-side load balancing](https://grpc.io/blog/loadbalancing/) のようなユースケースをサポートする一方、それに加えて Istio gRPC アーキテクチャへ組み込むことはメトリクスの収集、トラフィックルールの追加、[RPC-level authorization](https://istio.io/blog/2018/istio-authorization/#rpc-level-authorization) といった利点があります。すべてのトラフィックタイプに同一の Istio API を使用できるため、トラフィックが HTTP, TCP, gRPC, そして データベースプロトコルの間で混在している場合でも、Istio は 便利な管理レイヤーを追加できます。
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

最後の文の訳が難しかったです。

Istio は 便利な管理レイヤーを追加できます。

なにかいい案があればおねがいします。

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

あえてセンテンスを2つに分けてみるのはどうでしょうか?

gRPC が (略) のようなユースケースをサポートする一方、それに加えて Istio を gRPC アーキテクチャへ組み込むことは (略)  といった利点があります。

gRPC は (略) のようなユースケースをサポートしています。さらに gRPC のアーキテクチャに Istio を組み込むことは (略)  といった利点があります。

content/grpc.md Outdated

![](/images/grpc-server-healthy.png)

Then, we can apply an Istio traffic rule to inject a 10-second delay [fault](https://istio.io/docs/tasks/traffic-management/fault-injection/) into `server`. You might apply this rule in a chaos testing scenario, to test the resiliency of this application.
また、10秒の delay [fault](https://istio.io/docs/tasks/traffic-management/fault-injection/) `server` へ挿入するための Istio のトラフィックルールを適用できます。アプリケーションの回復性をテストするために、カオステストシナリオでこのルールを適用できるかもしれません。
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

delay fault、遅延故障にすべきですかね、、、

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

faultを残すのであれば 10秒遅延させる [fault] とかでどうでしょう?

@chaspy
Copy link
Collaborator Author

chaspy commented Mar 27, 2020

@t-ide @sakajunquality
Please review 🙏

content/grpc.md Outdated

With gRPC, you can generate boilerplate code from `.proto` files into [multiple programming languages](https://grpc.io/docs/quickstart/), making gRPC an ideal choice for polyglot microservices.
gRPC では、`.proto` ファイルから [multiple programming languages](https://grpc.io/docs/quickstart/) へのボイラープレートコードを生成することができます。このため、gRPC polyglot microservices のための理想的な選択となるでしょう。

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

polyglot microservices

この文脈だと、(プログラミングの)多言語でのマイクロサービス くらいに訳してしまってもいいかと思いました

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gRPC では、 この部分ですが、日本語だとがここにはなくても自然かなーと思いました

@chaspy chaspy mentioned this pull request Mar 27, 2020
23 tasks
content/grpc.md Outdated

![grpc](/images/grpc.png)

Here, we're running two gRPC Services, `client` and `server`. `client` makes an RPC call to the `server`'s `/SayHello` function every 2 seconds.
このように、`client` `server` の2つの gRPC サービスがあります。`client` RPC コールを `server``/SayHello` function へ2秒ごとに行います。

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

function は訳したほうがよさそうです

content/grpc.md Outdated
@@ -64,11 +63,10 @@ spec:
subset: v1
```

This causes the client RPC to time out (`Outgoing Request Duration`):
これは client RPC にタイムアウト(`Outgoing Request Duration`)を起こします。

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

これにより(略) とかのほうが流れが読みやすいかも?

@sakajunquality
Copy link

@chaspy ざっとコメントしたであります

content/grpc.md Outdated Show resolved Hide resolved
content/grpc.md Outdated Show resolved Hide resolved
content/grpc.md Outdated Show resolved Hide resolved
content/grpc.md Outdated Show resolved Hide resolved
content/grpc.md Outdated Show resolved Hide resolved
content/grpc.md Outdated Show resolved Hide resolved
@chaspy
Copy link
Collaborator Author

chaspy commented Mar 27, 2020

@sakajunquality レビューありがとうございました、反映しました!

@t-ide
一応認識合わせしたいので一度みてもらって、よさそうならマージお願いします!

@t-ide
Copy link
Member

t-ide commented Mar 28, 2020

@chaspy @sakajunquality

ありがとうございます!

反応遅れて申し訳ないのですが,個人的にリンクが貼られている文章が「リンク先タイトル」や「技術用語」以外なら,リンクが貼られている用語も訳した方が見やすいように思うのですが如何でしょう。

例えば,

multiple programming languages へのボイラープレートコードを生成することができます。
複数プログラミング言語 のボイラープレートコードを生成することができます。

のようなイメージです。翻訳ポリシー次第だと思うので,ご意見いただければなと。

それ以外は大丈夫だと思います!!

@sakajunquality
Copy link

@t-ide @chaspy
リンク先が日本語になっていたら日本語にするのが良さそうですね!

@t-ide
Copy link
Member

t-ide commented Mar 31, 2020

@sakajunquality
リンク先に日本語版があれば(wikipediaやprotocol bufferなど)日本語版にリンクを貼ると良い,という解釈で良いでしょうか。

日本語版があるリンクを洗い出してみます。

content/grpc.md Outdated
- [Blog post - gRPC + Istio + Cloud Internal Load Balancer](https://cloud.google.com/solutions/using-istio-for-internal-load-balancing-of-grpc-services)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Blog post - gRPC + Istio + Cloud Internal Load Balancer](https://cloud.google.com/solutions/using-istio-for-internal-load-balancing-of-grpc-services)
[ブログ - Istio を使用して内部 gRPC サービスを負荷分散する](https://cloud.google.com/solutions/using-istio-for-internal-load-balancing-of-grpc-services?hl=ja)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ちょうどこんな感じです!! @t-ide

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

リンク先に日本語版があるかどうかを探すのが若干面倒ですね 😅

  • istio.io 日本語はないはず
  • en.wikipedia.org 日本語あるかも
  • www.cncf.io/blog
  • developers.google.com あるかも
  • grpc.io/blog あるかも?
  • www.envoyproxy.io/docs ないと思う
  • cloud.google.com ^で書いてくれてるようにある

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed 👍
2fa883b

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


With gRPC, you can generate boilerplate code from `.proto` files into [multiple programming languages](https://grpc.io/docs/quickstart/), making gRPC an ideal choice for polyglot microservices.
gRPC では `.proto` ファイルから [multiple programming languages](https://grpc.io/docs/quickstart/) へのボイラープレートコードを生成することができます。このため、gRPC は 多言語での microservices のための理想的な選択となるでしょう。
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[protocol buffers](https://developers.google.com/protocol-buffers/)
[protocol buffers](https://developers.google.com/protocol-buffers?hl=ja)
現状ほとんど和訳されてませんが,一応...

[resources](https://en.wikipedia.org/wiki/Representational_state_transfer)
[resources](https://ja.wikipedia.org/wiki/Representational_State_Transfer)
説明の構成は異なりますが,大まかな意味は同じですし,英語版には無いRPCへの言及もありますので,個人的には日本語版リンクにしても良いと思います。英語版の方が妥当と判断されたらこのままで結構です。

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

日本語版が Outdated じゃないかどうかだけ気になりますねえ。まぁそうであればそっちはそっちで原点にあたってもらえればいいんですが。ちょっと中身確認して判断します。

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2件とも対応しました 👍
d9d1a4c
52109e1

@sakajunquality sakajunquality merged commit 3f68aaf into istiobyexample-ja:master Apr 5, 2020
@sakajunquality
Copy link

LGTMed

@chaspy chaspy deleted the chaspy/grpc branch April 5, 2020 10:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants