並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 861件

新着順 人気順

grpcの検索結果241 - 280 件 / 861件

  • マイクロサービス・アーキテクチャと共存する 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でバラバラなslack botが1つになる - LINE ENGINEERING

        ! This post is also available in the following languages. 英語, 韓国語 この記事は、LINE Engineering Blog 「夏休みの自由研究 -Summer Homework-」 の8日目の記事です。 はじめまして。LINEのIT戦略室という部署で社内システムの開発・運用を担当しております、suzuki-shunsukeです。 最近複数のSlack Botをgrpcを使って1つのBotに統合している話を書こうと思います。 経緯 自分は社内のSlackを管理するチームに所属し、そこでSlack Botを幾つか作成し、運用していますが、それらのBotを1つに統合してほしいという要望がありました。理由としては Botを幾つも招待するのが面倒 どんなBotがいるのか把握できないので、1つにしてほしい どんどんBotを追加していくより

        • Armeria – Your go-to microservice framework

          Build a reactive microservice at your pace, not theirs. Armeria is your go-to microservice framework for any situation. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.

            Armeria – Your go-to microservice framework
          • 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
            • Using GraphQL with Microservices in Go - Outcrawl

              A few months ago, a really nice Go package vektah/gqlgen for GraphQL became popular. This article describes how GraphQL is implemented in "Spidey", an exemplary microservices based online store. Some parts listed below are missing, but complete source code is available on GitHub. Architecture Spidey encompasses three services that are exposed to the user through a GraphQL gateway. Communication wi

                Using GraphQL with Microservices in Go - Outcrawl
              • gRPCでgdbmにネットワークインタフェイスを持たせる - Kentaro Kuribayashi's blog

                先日、HTTP/2とProtocol BuffersをベースにしたRPCフレームワーク、gRPCがリリースされた。 Google Developers Blog: Introducing gRPC, a new open source HTTP/2 RPC Framework Microservicesがなんちゃらいわれる昨今だが、その実現のためには、設計面におけるベストプラクティスはもとより、実装面においても課題がある。すなわち、サービス間でどのようにオーバーヘッドが少なく、帯域を浪費しない通信を実現するかということ。そんな折Googleが、上記のリンク先にある通り「うちらめっちゃMicroservicesだし」ってんで、まさに「これだ!」という技術スタックでいい感じのものを出してくれた。 gdbmにRPCしてみる とりあえず試してみたいので、簡単にできそうな例として、gdbmにネットワ

                  gRPCでgdbmにネットワークインタフェイスを持たせる - Kentaro Kuribayashi's blog
                • Goでミドルウェアとインターセプターのテストをする方法

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

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

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

                      Cysharpの河合様をゲスト講師にお招きしてゲームサーバーに関する社内勉強会を開催しました! | DevelopersIO
                    • インターンで作成した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
                      • How a fix in Go 1.9 sped up our Gitaly service by 30x

                        How a fix in Go 1.9 sped up our Gitaly service by 30x After noticing a worrying pattern in Gitaly's performance, we uncovered an issue with fork locking affecting virtual memory size. Here's how we figured out the problem and how to fix it. Gitaly is a Git RPC service that we are currently rolling out across GitLab.com, to replace our legacy NFS-based file-sharing solution. We expect it to be fast

                          How a fix in Go 1.9 sped up our Gitaly service by 30x
                        • 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
                            • 2017年11月現在のScalaのWeb Framework - xuwei-k's blog

                              以前同じようなものを書いたけど、それがもう2年くらい経過してるので、また書きました xuwei-k.hatenablog.com xuwei-k.hatenablog.com まず、このblog書いてる時点でのGitHubでのstar数での順位 1 https://github.com/playframework/playframework 9900 2 https://github.com/twitter/finagle 6088 3 https://github.com/spray/spray 2533 4 https://github.com/scalatra/scalatra 2230 5 https://github.com/twitter/finatra 1645 6 https://github.com/finagle/finch 1115 6 https://github.

                                2017年11月現在のScalaのWeb Framework - xuwei-k's blog
                              • 帰ってきた 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
                                  • React(+Redux)+gRPCで実現するクリーンアーキテクチャ+マイクロサービス構成

                                    はじめに 設計がしっかりしていないまま開発をしてしまうとビジネスロジックとライブラリが密結合となりがちです。 密結合度が高いほど修正が困難となり、継続的な開発の難易度が上がっていきます。(技術的負債) またプロジェクトが大きくなってくると扱うデータ量も多くなり処理速度もデータ量に比例するため、計算量オーダーの影響を受けます。 プロジェクトのそれぞれの機能に対して 1. 再利用可能 2. テストしやすい 3. 機能追加しやすい 4. ビジネスロジックとライブラリ、REST API(+マスターデータ)を分離できる となっていれば継続的な開発がしやすいです。 最近ではクライアントサイドではクリーンアーキテクチャ、Atomic Design、バックエンドではマイクロサービス化という設計方法があります。 この設計が良いと感じているのはビジネスロジックと機能の責務を分離し、 ライブラリとREST AP

                                      React(+Redux)+gRPCで実現するクリーンアーキテクチャ+マイクロサービス構成
                                    • [アップデート] 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の知見をまとめておく - suusan2号の戯れ

                                        会社のブログに書こうと思ったんだけど、ちょっとマイナスイメージを持つ人もいそうな気がしたので、個人ブログに書くことにした。 この3ヶ月くらい、システムのリニューアル(アプリ間で分散したロジックを集約するバックエンドサーバと、用途に応じたフロントエンドサーバを立てるみたいなマイクロサービス構成)をやっていて、そこでサーバ間のやりとりにgRPCを使っていた。すごーく雑な絵を書くとこんな感じです。 しかし、最近になってプロジェクトのスコープについて見直しが入りました。マイクロサービス化ではなく単純にレガシーJavaで独自FWなアプリをリプレースするだけになり、必要なのはSPAとSpringBootのAPIサーバだけに(要するにRails側のロジックをなんとかするのがスコープ外になった)。 で、SPAに提供するAPIのためにgRPC(+ grpc-gateway)を使うのはちょっとオーバースペック

                                          本番運用まで行かなかったgRPCの知見をまとめておく - suusan2号の戯れ
                                        • ECSでgRPC+ServiceDiscoveryな構成を試してみました | DevelopersIO

                                          はじめに 先日開催された Mercari Tech Conf 2018 にて発表されたマイクロサービスアーキテクチャの話に触発されてgRPCをさわってみました。また、マイクロサービスといえば...で思い出して、まだ試していなかったECSのServiceDiscoveryもさわってみました。 用語の説明 gRPCとは、Googleが開発したOSSで、RPC(Remote Procedure Call)をモダンに使えるようにしたフレームワークです。特徴としては、http/2ベースで様々な通信方法をサポートしており、多数のプログラミング言語に対応したライブラリとprotocol buffersをインターフェイス定義言語として用いることで異なるプログラミング言語間のサービスでも使うことができます。この他にも数多くの機能があるようです。 ServiceDiscoveryとは、動的に増えたり減ったりす

                                            ECSでgRPC+ServiceDiscoveryな構成を試してみました | DevelopersIO
                                          • Twirp: a sweet new RPC framework for Go

                                            Today Twitch is releasing an RPC framework we use for communication between backend servers written in Go. It’s called Twirp, and it’s available now under an Apache 2 open source license. Twirp has been tremendously successful at Twitch — it has grown in usage exponentially, roughly tripling every three months as more and more internal teams continue to adopt it due to its advantages over “REST” A

                                              Twirp: a sweet new RPC framework for Go
                                            • 2018年のAPI動向 | gihyo.jp

                                              皆様、新年あけましておめでとうございます。今年も昨年の特集に引き続き、2018年のAPI動向を探っていきたいと思います。新年早々の記事なので当たるも八卦、当たらぬも八卦。気軽な気持ちで読んでみてください。 JSONを巡る動き RFC 8259の策定 まず直近の2017年12月に策定されたRFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Formatに触れない訳にはいかないでしょう。簡単に要点を列挙すると以下のようになります。 このRFC 8259はECMA-404との統合がなされ、今後これらの仕様が足並みを揃えて更新されるようになっていきます。 8.1. Charactor Encodingに示されるとおり、原則JSON textはUTF-8でエンコードされないといけなくなりました。 8.2. Unicode

                                                2018年のAPI動向 | gihyo.jp
                                              • 多様なプロダクトが存在する 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
                                                • 「開発は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
                                                    • AbemaTVにおけるMicroservices Architecture

                                                      AbemaTVにおけるMicroservices Architecture 1. AbemaTVにおける Microservices Architecture 2. About Me ● プロフィール ○ 西尾 亮太 ○ 株式会社AbemaTV 開発局 ○ サーバーサイドエンジニア ● プロジェクト経歴 ○ Amebaスマートフォンプラットフォーム ○ リアルタイム通信基盤 ○ AbemaTV 3. AbemaTVについて 4. 無料でみれる 24時間365日完全編成 インターネットテレビ 5. マルチデバイス ● PCブラウザ ● Androidスマートフォン/タブレット ● iPhone/iPad ● Chromecast ● Amazon FireTV ● AppleTV(予定) ● AndroidTV(予定) 6. リニア放送 7. Video On Demand 8. インターネ

                                                        AbemaTVにおけるMicroservices Architecture
                                                      • 【海外版リリース記念】サーバーサイド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-セブンスコード-」のバックエンド技術
                                                        • なぜPHPはgRPCサーバーがサポートされていないのか? - 恥知らずのウェブエンジニア -web engineer, shameless

                                                          なんかもうアレなので、前回少し触れたのですが、2018/2月現在公式なPHPのgRPCサーバーはサポートされていません。 GoでgRPCサーバー立てて、PHPでリクエストしてみる - 恥知らずのウェブエンジニア -web engineer, shameless 様々な迫害には慣れているPHPerでもそもそもサポートされないというのは辛いものがあります。 なぜPHPのgRPCサーバーがサポートされていなのか下記のMLのdiscussionを英語の勉強も兼ねてまとめてみようと思います。 ※素人意訳なので、間違いありましたらごめんなさい。 groups.google.com gRPC Servers in PHP? PHPのgRPCクライアントは作れるけど、gRPCサーバーは作れません。それの技術的ブロッカー、将来的な実装のロードマップはあります? PHPのgRPCサーバーにはいくつかの問題があ

                                                            なぜPHPはgRPCサーバーがサポートされていないのか? - 恥知らずのウェブエンジニア -web engineer, shameless
                                                          • gRPC

                                                            Java 8 から 21 へのバージョンアップでどう変わる?:実アプリケーションで学ぶ実装のポイント / 20231111 Key Implementation Points from Java 8 to 21

                                                              gRPC
                                                            • gRPC Client on Cloudflare Workers

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

                                                                gRPC Client on Cloudflare Workers
                                                              • MF KESSAIのマイクロサービス化を支える、Dockerをフル活用した開発環境の歴史 | Money Forward Engineers' Blog

                                                                MF KESSAI株式会社のTECH BLOGへ移動しました。 こちらのURLをご参照ください https://tech.mfkessai.co.jp/2017/11/1/ 【採用サイト】 ■マネーフォワード採用サイト ■Wantedly | マネーフォワード 【マネーフォワードのプロダクト】 自動家計簿・資産管理サービス『マネーフォワード』 ■Web ■iPhone,iPad ■Android 「しら」ずにお金が「たま」る 人生を楽しむ貯金アプリ『しらたま』 ■Web ■iPhone,iPad ビジネス向けクラウドサービス『MFクラウドシリーズ』 ■会計ソフト『MFクラウド会計』 ■確定申告ソフト『MFクラウド確定申告』 ■請求書管理ソフト『MFクラウド請求書』 ■給与計算ソフト『MFクラウド給与』 ■経費精算ソフト『MFクラウド経費』 ■入金消込ソフト『MFクラウド消込』 ■マイナンバ

                                                                  MF KESSAIのマイクロサービス化を支える、Dockerをフル活用した開発環境の歴史 | Money Forward Engineers' Blog
                                                                • gRPC-Go Engineering Practices

                                                                  By Doug Fawley (gRPC-Go Team Lead, Google) | Monday, January 22, 2018 It’s the start of the new year, and almost the end of my first full year on the gRPC-Go project, so I’d like to take this opportunity to provide an update on the state of gRPC-Go development and give some visibility into how we manage the project. For me, personally, this is the first open source project to which I’ve meaningful

                                                                    gRPC-Go Engineering Practices
                                                                  • Language Guide (proto 3)

                                                                    Covers how to use the version 3 of Protocol Buffers in your project. This guide describes how to use the protocol buffer language to structure your protocol buffer data, including .proto file syntax and how to generate data access classes from your .proto files. It covers the proto3 version of the protocol buffers language: for information on the proto2 syntax, see the Proto2 Language Guide. This

                                                                    • go-plugin × gRPC で自作Goツールにプラグイン機構を実装する方法 - 好奇心に殺される。

                                                                      Go go-plugin × gRPC で自作Goツールにプラグイン機構を実装する方法 go-pluginパッケージを使ってgRPCプラグイン機構を提供する方法を調べたので紹介します。 Overview こんにちは pon です。これはGo 2 Advent Calendar 2020 の15日目の記事です。 自作ツールに素敵なプラグイン機構を仕込みたいことありますよね。今回はTerraformやPackerなどでプラグイン機構をして利用されているパッケージであるhashicorp/go-pluginの使い方を紹介し、実際にどのように実装するかをコードをあげて紹介します。 go-pluginとは go-pluginは、RPCを介したGoのプラグインシステムです。 TerraformなどHashicorpの様々なOSSの内部でも使われているので実績は抜群です。RPCを介すると言いますがローカ

                                                                        go-plugin × gRPC で自作Goツールにプラグイン機構を実装する方法 - 好奇心に殺される。
                                                                      • Courier: Dropbox migration to gRPC

                                                                        // By Ruslan Nigmatullin and Alexey Ivanov • Jan 08, 2019 Dropbox runs hundreds of services, written in different languages, which exchange millions of requests per second. At the core of our Service Oriented Architecture is Courier, our gRPC-based Remote Procedure Call (RPC) framework. While developing Courier, we learned a lot about extending gRPC, optimizing performance for scale, and providing

                                                                          Courier: Dropbox migration to gRPC
                                                                        • Go + gRPC でC言語プロジェクトのビルドを早くした話 - Qiita

                                                                          この記事は Go2 Advent Calendar 2018 の 24 日目の記事です。 私は組込ソフトエンジニアで、職場にはレガシーな環境が多く残っています。 そして、ビルドツールが古かったりして 2MB にも満たないバイナリを作るのに数十分かかったりしています。 時間がかかる主な理由は、複数 CPU による分散コンパイルが実現されてない(場合が多い)から、です。 ということで、 Go 言語の goroutine を用いて CPU をなるべく使う形のタスクランナーを書くことが多いわけですが、最近は gRPC 経由で複数のマシンを活用する分散ビルド環境を作っているのでまとめました。 動くサンプルを紹介しつつ、徐々に分散ビルドになるように段階的に進めていきます。 分散処理のイメージ 実際に仕事で使っているプロジェクトの分散 build は以下の画像のようになります。 1 CPU で普通にビル

                                                                            Go + gRPC でC言語プロジェクトのビルドを早くした話 - Qiita
                                                                          • gRPC ServerのエラーをInterceptorでgRPC Error Statusにマッピング(Go言語版)|Dentsu Digital Tech Blog

                                                                            電通デジタルでバックエンドの開発をしている齋藤です。弊社では社内/グループ会社向けデジタル広告運用実績の管理システムバックエンド API に gRPC を利用しています。 本記事では gRPC サーバ内で発生したエラーを gRPC Server Interceptor で gRPC Error Status にマッピングする試作をご紹介します。 ユースケースgRPC を使った API サーバでエラーが発生した場合、エラーハンドリングとロギングをした後に gRPC クライエントへのエラーを伝えます。ここで、サーバのエラーを gRPC クライアントに伝えるエラーに変換する処理が発生します。クライアントに伝えるエラーメッセージはサーバで発生したことそのままではなく、クライアントに必要な情報にする必要があります。この処理は全ての gRPC のメソッド呼び出しで実施します。そこで、本処理を gRPC

                                                                              gRPC ServerのエラーをInterceptorでgRPC Error Statusにマッピング(Go言語版)|Dentsu Digital Tech Blog
                                                                            • Istio が解決する私達の問題 | メルカリエンジニアリング

                                                                              この記事は @hatappi によって提供される Developer Productivity Engineering Camp blog series の1つです。 序論 私達 Microservices Network team の管理するコンポーネントの1つに Istio があります。 メルカリでは2017年から既存のシステムを Microservices におきかえるプロジェクトが始まり、Microservice の数は今も増え続けています。Microservice の数が増えるにつれて起きる問題に対処するために Service Mesh の実装の1つである Istio を私達は導入しました。 この記事ではどのような問題があり、それを Istio がどのように解決するのかを紹介します。 Microservice Architecture におけるネットワークの課題 Microser

                                                                                Istio が解決する私達の問題 | メルカリエンジニアリング
                                                                              • Connect

                                                                                Simple, reliable, interoperable.Protobuf RPC that works.Connect is a family of libraries for building browser and gRPC-compatible APIs. If you're tired of hand-written boilerplate and turned off by massive frameworks, Connect is for you.

                                                                                  Connect
                                                                                • Laravel JP ConferenceでPHPとgRPCサーバについて発表しました|開発ブログ|株式会社Nextat(ネクスタット)

                                                                                  こんにちは、ナカエです。 2019/02/16(土)に東京の田町グランパークで開催された Larvel JP Conferenceに参加してきました。 東京がこわいので引きこもり気味なので、大きいカンファレンスでの登壇は初めてでした。 スライド 「PHPでもgRPCサーバを立てたいだけの人生だった」というタイトルで gRPCとProtobolBuffers PHPでgRPCサーバは可能なのかどうか 脱PHP-FPMの流れ PHPの変化について行くために今からできること などについて、gRPC沼、Swoole沼、RoadRunner沼に一人でも多くの人を引き込むことを目標にまとめました。 LTの裏の枠 セッションは3FのLaravelトラックと4FのPHPトラックに分かれています。自分はLaravelにあまり関係ないプロポーザルをその場のノリで提出していたのでPHPトラックでした。 タイムテ