Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

1. ElixirからもThriftをさわりたい Elixirから、thriftを利用してデータのやり取りしたいなー、と見ていましたが、erlangだとあるけど、elixirだと現在は利用できないようです。 サポートされるのを待ちつつも以下のようなpinterest製のライブラリを利用してみます。 https://github.com/pinterest/riffed 2. Riffedの特徴 以下のような特徴を持っているみたいです。 thriftコードから、erlangのコードを自動生成するMixタスク[mix compile.thrift]を提供 Riffed.Structを利用して、thriftで定義、erlangで生成した構造体にElixirからアクセスできる機能を提供 Riffed.Server, Riffed.Clientを提供することで、生成したコードを利用したデータ通信の簡
# !/usr/bin/python import sys sys.path.append('./gen-py') from thrift.transport import TSocket from thrift.transport import TTransport from thrift.protocol import TBinaryProtocol from thrift.server import TServer import demoserver.MyMath class MathImpl( demoserver.MyMath.Iface ): def add( self, op1, op2 ): return op1 + op2 def mul( self, op1, op2 ): return op1 * op2 def max( self, op1, op2 ): retu
kubernetes(今回はGKE内)でgRPCの通信を場合にぶち当たる問題として、ロードバランシングの問題があります。 gRPCの通信は永続化されるので、そのままの状態で使うとバックエンドにあるサービスがスケールしても分散されないということになります。 具体例 上記のような構成でhoge-gateway(4pod)からhoge-app(10pod)に向けてコネクションプーリングが1で通信をする場合、hoge-appが最大4podしか使われない状態になります。 下記がその状態です。 GKE Container - CPU usage for hoge-app GKE Container - CPU usage for hoge-gateway 解決方法 これを解決する手段としてgRPCのclientLoadbalancingを使う方法がありますが、clientに依存する方法はあまりスマート
#前提 Ethereumのgethを使ったプライベート環境構築記事はほかにもあるので 個人メモ的なもの。JavaでのRPC実行まで。コントラクト実行は確認していない。 #環境構築 以下を参考に。 http://book.ethereum-jp.net/first_use/connect_to_private_net.html ubuntu16LTS ベースとする。 ###AWSのEC2にubuntuベースでインスタンス作成 microインスタンスのスペックではマイニングができなかった為、m4.largeで構築。(ある程度のCPUとメモリを要求する) ###事前準備からインストール リポジトリを追加して、gethをインストールする。 sudo add-apt-repository -y ppa:ethereum/ethereum sudo add-apt-repository -y ppa:
動機 とある業務で使っている MessagePack-RPC に代わる RPC を探している RPC framework でグーグル先生に聞いたら gRPC と Thrift が上位に表示された gRPC は別の機会で別途比較する そもそも gRPC で使われている Protocol Buffers の 3.0 が Beta 版なので色々環境構築が大変なのが本音 業務で使うのに Beta ってのはちょっと抵抗があるのでモチベーション低下 とは言えど Go は比較的楽だったので頑張った Java も頑張ったが非常に大変だった Ruby はこの問題があって Gem を入れられない 概要 クライアントは Java で、サーバは以下の言語でそれぞれ開発 Java Ruby Go テストは巨大データ送信を10回繰り返した際の平均を取る 巨大データは50000件のハッシュ 結果(単位は秒) 考察 Ja
こんにちは、 今回は個人的に注目しているfinagleとthriftを使って簡単なmicro-servicesの作成を行うチュートリアルを紹介します。 finagleについてはseratchさんの翻訳、Scalaのmicro services事例はokapiesさんのエントリが詳しいと思います。 題材 日本語も検索できる全文検索サービスを作ります。POSTでデータを入れて、GETでヒットしたドキュメントを表示するといった簡単な仕様です。 twitterのscalaチュートリアルにsearchbird というfinagleとthriftを使って検索エンジンを作るチュートリアルがありました。 searchbirdは更新されておらず動かない+古いということでもとに紹介したいと思います。 また、micro-servicesっぽい構成にするために無理矢理ですが、3つのサーバに分けました。 キャッシュ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く