Soumettre la recherche
Mettre en ligne
Thriftを用いた分散型のNyancatを作ってきた
•
0 j'aime
•
1,141 vues
Huy Do
Suivre
Thriftを用いた分散型のNyancatを作ってきた
Lire moins
Lire la suite
Ingénierie
Signaler
Partager
Signaler
Partager
1 sur 12
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
20090828 Webconlocal
20090828 Webconlocal
Kentaro Matsui
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
Koji Shiraishi
Azureからアプリに通知してみよう #jazug #win8dev_jp #wpdev_jp
Azureからアプリに通知してみよう #jazug #win8dev_jp #wpdev_jp
Katsuya Shimizu
Macで快適にプログラミング
Macで快適にプログラミング
Yusuke Sakurai
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
Takuya Mukohira
Consistent Hashingの小ネタ
Consistent Hashingの小ネタ
Huy Do
[Scalameetup]spark shuffle
[Scalameetup]spark shuffle
Huy Do
Itlc2015
Itlc2015
Huy Do
Recommandé
20090828 Webconlocal
20090828 Webconlocal
Kentaro Matsui
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
Koji Shiraishi
Azureからアプリに通知してみよう #jazug #win8dev_jp #wpdev_jp
Azureからアプリに通知してみよう #jazug #win8dev_jp #wpdev_jp
Katsuya Shimizu
Macで快適にプログラミング
Macで快適にプログラミング
Yusuke Sakurai
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
Takuya Mukohira
Consistent Hashingの小ネタ
Consistent Hashingの小ネタ
Huy Do
[Scalameetup]spark shuffle
[Scalameetup]spark shuffle
Huy Do
Itlc2015
Itlc2015
Huy Do
ソフトウェア開発が好きだ
ソフトウェア開発が好きだ
Koichi Ota
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
mganeko
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
Fumihito Yokoyama
クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
Katsuya Shimizu
【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較
Ryota Suzuki
Tizen & Crosswalk
Tizen & Crosswalk
Naruto TAKAHASHI
.NET vNext
.NET vNext
信之 岩永
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
hideyuki ikeda
Zynga
Zynga
awsadvantageseminar
Aws privte20110406 arai
Aws privte20110406 arai
awsadovantageseminar
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
terurou
Serfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwww
Masahito Zembutsu
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Shinya Okano
Yet Another DLR for Silverlightの試作
Yet Another DLR for Silverlightの試作
terurou
私とOSSの25年
私とOSSの25年
MITSUNARI Shigeo
Tizenについて
Tizenについて
Naruto TAKAHASHI
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
Kazuto Kusama
仮想端末管理ソフトウェア
仮想端末管理ソフトウェア
Katsutoshi Nagaoka
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
Tadahiro Ishisaka
ALMツールたべくらべ
ALMツールたべくらべ
Kaoru NAKAMURA
Distributed Tracing, from internal SAAS insights
Distributed Tracing, from internal SAAS insights
Huy Do
Write on memory TSDB database (gocon tokyo autumn 2018)
Write on memory TSDB database (gocon tokyo autumn 2018)
Huy Do
Contenu connexe
Similaire à Thriftを用いた分散型のNyancatを作ってきた
ソフトウェア開発が好きだ
ソフトウェア開発が好きだ
Koichi Ota
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
mganeko
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
Fumihito Yokoyama
クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
Katsuya Shimizu
【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較
Ryota Suzuki
Tizen & Crosswalk
Tizen & Crosswalk
Naruto TAKAHASHI
.NET vNext
.NET vNext
信之 岩永
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
hideyuki ikeda
Zynga
Zynga
awsadvantageseminar
Aws privte20110406 arai
Aws privte20110406 arai
awsadovantageseminar
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
terurou
Serfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwww
Masahito Zembutsu
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Shinya Okano
Yet Another DLR for Silverlightの試作
Yet Another DLR for Silverlightの試作
terurou
私とOSSの25年
私とOSSの25年
MITSUNARI Shigeo
Tizenについて
Tizenについて
Naruto TAKAHASHI
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
Kazuto Kusama
仮想端末管理ソフトウェア
仮想端末管理ソフトウェア
Katsutoshi Nagaoka
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
Tadahiro Ishisaka
ALMツールたべくらべ
ALMツールたべくらべ
Kaoru NAKAMURA
Similaire à Thriftを用いた分散型のNyancatを作ってきた
(20)
ソフトウェア開発が好きだ
ソフトウェア開発が好きだ
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp
【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較
Tizen & Crosswalk
Tizen & Crosswalk
.NET vNext
.NET vNext
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
Zynga
Zynga
Aws privte20110406 arai
Aws privte20110406 arai
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
Serfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwww
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Yet Another DLR for Silverlightの試作
Yet Another DLR for Silverlightの試作
私とOSSの25年
私とOSSの25年
Tizenについて
Tizenについて
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
仮想端末管理ソフトウェア
仮想端末管理ソフトウェア
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
ALMツールたべくらべ
ALMツールたべくらべ
Plus de Huy Do
Distributed Tracing, from internal SAAS insights
Distributed Tracing, from internal SAAS insights
Huy Do
Write on memory TSDB database (gocon tokyo autumn 2018)
Write on memory TSDB database (gocon tokyo autumn 2018)
Huy Do
Some note about GC algorithm
Some note about GC algorithm
Huy Do
Engineering Efficiency in LINE
Engineering Efficiency in LINE
Huy Do
GOCON Autumn (Story of our own Monitoring Agent in golang)
GOCON Autumn (Story of our own Monitoring Agent in golang)
Huy Do
Story Writing Byte Serializer in Golang
Story Writing Byte Serializer in Golang
Huy Do
Akka と Typeの話
Akka と Typeの話
Huy Do
DI in ruby
DI in ruby
Huy Do
NoSQL for great good [hanoi.rb talk]
NoSQL for great good [hanoi.rb talk]
Huy Do
実践Akka
実践Akka
Huy Do
CA15卒勉強会 メタプログラミングについて
CA15卒勉強会 メタプログラミングについて
Huy Do
Making CLI app in ruby
Making CLI app in ruby
Huy Do
CacheとRailsの簡単まとめ
CacheとRailsの簡単まとめ
Huy Do
[Htmlday]present
[Htmlday]present
Huy Do
Plus de Huy Do
(14)
Distributed Tracing, from internal SAAS insights
Distributed Tracing, from internal SAAS insights
Write on memory TSDB database (gocon tokyo autumn 2018)
Write on memory TSDB database (gocon tokyo autumn 2018)
Some note about GC algorithm
Some note about GC algorithm
Engineering Efficiency in LINE
Engineering Efficiency in LINE
GOCON Autumn (Story of our own Monitoring Agent in golang)
GOCON Autumn (Story of our own Monitoring Agent in golang)
Story Writing Byte Serializer in Golang
Story Writing Byte Serializer in Golang
Akka と Typeの話
Akka と Typeの話
DI in ruby
DI in ruby
NoSQL for great good [hanoi.rb talk]
NoSQL for great good [hanoi.rb talk]
実践Akka
実践Akka
CA15卒勉強会 メタプログラミングについて
CA15卒勉強会 メタプログラミングについて
Making CLI app in ruby
Making CLI app in ruby
CacheとRailsの簡単まとめ
CacheとRailsの簡単まとめ
[Htmlday]present
[Htmlday]present
Thriftを用いた分散型のNyancatを作ってきた
1.
Thriftを用いた分散型 Nyancat @huydx
2.
作ったもの
3.
背景 • みんなNyancatが好き • 分散システム作りたい •
Thrift勉強してみたい 分散Nyancat作ればいい!
4.
+ 複数のマシンで動くNyancat
5.
プログラムの設計 • 分散モデルの選択 • P2P型 →
フレームの同期がむずい • Master-Slave型 にした • プロトコルの実装の選択 • 単にソケット通信でもいいですが、データのシリア ライズなどが面倒くさい • せっかくなのでThriftを用いてプロトコルを実装する
6.
設計 nyan server nyan client id1
id2 id3 id4 ping(id1) frame 1を動かし てください!
7.
Thriftについて • 「スケーラブルな言語間サービス開発」のためにFacebookにて 開発されたRPCフレームワークである。 • C++、C#、Java、Perl、Python、PHP、Erlang、Rubyなどの言 語間にて効率的かつシームレスに動作するサービスを開発するこ とを可能とする。 •
Facebook, Twitter, Quora, Tumblrなどで使われている • 簡単にいうと: • サービス間で共通言語を実現するためのもの
8.
Thriftを利用する流れ • Thriftファイルでプロトコル定義 • プロトコルファイルからコード生成する •
生成されたもののなかにサンプルサーバ実装がある • クライアントのロジックを実装する • サーバとクラインとは基本的にTCP/IP+定義されたプロトコルで話す • 基本的は一方的な通信しかた(サーバがListenで、クライアントから送 信する、polling型) • サーバからクライアントにプッシュしたいなら(bidirectional通信) 自分で実装する必要がある
9.
Nyanプロトコル namespace cpp nyan typedef
i32 MyInteger const i32 INT32CONSTANT = 9853 struct SyncPacket { 1: i32 server = 0, 2: i32 frame = 0 } service NyanSync { SyncPacket sync(), }
10.
• Nyancatをフルスクリーンできないのバグまだあ るが • まあ1日作れるものは許せる!(勝手な思い)
11.
次は • P2P型、障害に耐性もつ分散Nyancat • 真ん中のクライアントが突然死んでもそれを無 視して死んだクライアントの次のクライアント に移動する
12.
• ソースコードも公開しました • https://github.com/huydx/NyanNyan •
星募集しています∼∼∼
Télécharger maintenant