Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
yamabiko使ってみました。#TechLunch
Search
Livesense Inc.
PRO
April 21, 2014
Technology
0
55
yamabiko使ってみました。#TechLunch
yamabiko使ってみました。
2014/01/8 (水) 12:00-13:00 @ Livesense TechLunch
発表者:原田 貴義
Livesense Inc.
PRO
April 21, 2014
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
2.4k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
51
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
1.5k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
440
26新卒_総合職採用_会社説明資料
livesense
PRO
0
11k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
1
37k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
13k
中途セールス職_会社説明資料
livesense
PRO
0
260
EM候補者向け転職会議説明資料
livesense
PRO
0
130
Other Decks in Technology
See All in Technology
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.4k
テストを軸にした生き残り術
kworkdev
PRO
0
190
DDD集約とサービスコンテキスト境界との関係性
pandayumi
2
280
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
140
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
510
AI開発ツールCreateがAnythingになったよ
tendasato
0
120
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
1
200
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
170
Rustから学ぶ 非同期処理の仕組み
skanehira
1
130
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
330
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
200
Featured
See All Featured
How GitHub (no longer) Works
holman
315
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Code Reviewing Like a Champion
maltzj
525
40k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
Balancing Empowerment & Direction
lara
3
620
Designing Experiences People Love
moore
142
24k
Six Lessons from altMBA
skipperchong
28
4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
187
55k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Transcript
yamabikoΛ͞ΘͬͯΈ·ͨ͠ Βͩɹ͔ͨΑ͠
ॳΊʹ yamabiko͕࡞ΒΕͨͷͰࢼ͠ʹͬͯΈ·ͨ͠ɻ
yamabiko໋໊ͷલ y-ken͞Μͱ੮͕ྡͳͷͰϦϦʔεલʹ͕͋Γ·ͨ͠ɻ y-ken > h-taka͞Μ͍͍ͷग़དྷ·ͨ͠ʂ y-ken > ੌ͍ͷग़དྷ·ͨ͠ʂ h-taka <
΄ʔ ͱ͍͏ձΛ΄΅ຖ͍ͯ͠·ͨ͠ɻ (͜ͷ͜ΖԿͷ͜ͱ͔ͩͬ͞ͺΓΘ͔͍ͬͯ·ͤΜɻ)
yamabiko໋໊ͷޙ y-ken͞Μͱ੮͕ྡͳͷͰ y-ken > ໊͍͍લͰ͢Ͷʂʂ y-ken > ໘ന͍ͷ͕ग़དྷ·ͨ͠ʂ h-taka <
΄ʔ ͱ͍͏ձΛ΄΅ຖΓ্͕Γ·ͨ͠ɻ (͜ͷ͜ΖԿͷ͜ͱ͔ͩͬ͞ͺΓΘ͔͍ͬͯ·ͤΜɻ)
yamabiko໋໊ͷޙ y-ken͞Μͱ੮͕ྡͳͷͰ y-ken > ͔ͤͬ͘࡞ͬͨͷͰࣾͷਓʹ৮ͬͯཉ͍͠Ͱ͢ Ͷɻ y-ken > Ͷɻ y-ken
> Ͷ!! h-taka < ... ͱ͍͏͜ͱͰ࢝ʹগ͠৮ͬͯΈ·ͨ͠ɻ
ͱ͍͏͜ͱͰ Yamabiko͞ΜΛΠϯετʔϧͯ͠؆୯ʹࢼ͠·ͨ͠ɻ ͍ͭͰͳͷͰrails͔ΒσʔλΛѻ͑Δςετ͠·ͨ͠ɻ
ຊͷྲྀΕ • Yamabikoશମ૾ • ElasticsearchΠϯετʔϧ • fluent-plugin-mysql-replicatorΠϯετʔϧ • yamabikoΠϯετʔϧ •
replicator_managerςʔϒϧՃ • ͓·͚ʹrails-tire͔Β༻͢Δɻ
શମ૾ ৄͪ͘͜͠Βɻ https://confluence.livesense.jp/pages/viewpage.action?pageId=117455003 MySQL͔ΒElasticsearchͷඇಉظϨϓϦέʔγϣϯΛߦ͏ϛυϧΣΞ
ElasticsearchΠϯετʔϧ Elasticsearchμϯϩʔυ ղౚ͠·͢ɻ ࡉ͔͍ઃఆΛ͠·͢ɻ /etc/init.d/elasticsearch start
Elasticsearch։࢝͠·͢ɻ /etc/init.d/elasticsearch start Starting ElasticSearch... Waiting for ElasticSearch....... running: PID:15742
Elasticsearchؔ࿈ͦͷଞ • Elasticsearch-headΛΠϯετʔϧ͠·͢ɻ
fluent-plugin-mysql-replicatorΠϯετʔϧ sudo gem install fluent-plugin-mysql-replicator sudo /usr/lib64/fluent/ruby/bin/fluent-gem install / fluent-plugin-mysql-replicator
yamabikoΠϯετʔϧ ҎԼͷrpmΛμϯϩʔυ͢Δɻ https://github.com/y-ken/yamabiko/releases/download/2013.12.13/yamabiko- libyaml-0.1.4-1.el6.x86_64.rpm https://github.com/y-ken/yamabiko/releases/download/2013.12.13/ yamabiko-1.1.18-0.el6.x86_64.rpm rpmΛΠϯετʔϧ͢Δɻ sudo yum install
yamabiko-libyaml-0.1.4-1.el6.x86_64.rpm yamabiko-1.1.18-0.el6.x86_64.rpm
yamabikoΠϯετʔϧ Τϥʔ͕ൃੜ͢Δɻ sudo yum install yamabiko-1.1.18-0.el6.x86_64.rpm࣮ߦ࣌ʹҎԼͷΤϥʔ͕ൃੜɻ Error: Package: yamabiko-1.1.18-0.el6.x86_64 (/yamabiko-1.1.18-0.el6.x86_64)
Requires: mysql-devel
yamabikoΠϯετʔϧ Τϥʔ͕ൃੜ͢Δɻ ࢦఆ͢Δύοέʔδ໊͕ҟͳΔͨΊɺrpmΛrebuild͠·ͨ͠ɻ sudo yum install rpmrebuild rpmrebuild -e -p
yamabiko-1.1.18-0.el6.x86_64.rpm > Requires: mysql-devel < Requires: MySQL-devel rebuildͨ͠rpmΛ࠶Πϯετʔϧ্ͯ͠ख͘ग़དྷ·ͨ͠ɻ
replicator_managerςʔϒϧՃ ࠓճMySQLʹYamabikoཧDBͱؔ࿈tableΛ༻͠· ͢ɻ DB: replicator_manager TB: settings : ಉظ͢Δ༰ΛՃ͠·͢ɻ hash_tables
: ಉظ݁Ռ͕Ճ͞Ε·͢ɻ
yamabiko.confͷઃఆมߋ MySQLͷଓઌΛมߋ͠·͢ɻ มߋҎԼͷͱ͓ΓͰ͢ɻ > tag hosts.host.${event}.${primary_key} < tag replicator.${name}.${event}.${primary_key} >
<match replicator.**> < <match hosts.**> ͱ͍͏ײ͡ͰσϞ͠·͢ɻ
͓·͚ʹrails-tire͔Β༻͢Δɻ railsͷमਖ਼(scaffoldΛ༻͍ͯ͠·͢ɻ) model < include Tire::Model::Search < include Tire::Model::Callbacks <
def self.search(params) < লུ < end controller > model.all < model.search(params)
͓·͚ʹrails-tire͔Β༻͢Δɻ Ͱ̎
·ͱΊ ɾෳઃఆ͕ඞཁͳͷͰͳΕΔ·Ͱେมɻ ɾDBςʔϒϧΛෳ༻ग़དྷΔͷͰ֦ு͘͢͠ཧͦ͢͠͏ ɾใ͕ฐࣾconfluenceͷํ͕ଟ͍ɻ ɾಉظ͢Δ͍࣌ؒҹɻ ɾ୯७ʹΠϯετʔϧͯͬͯ͠Έͨͷʹमਖ਼ґཔΛग़͍ͯͨ͠ɻ