Иван Евтухович - "Использование PgQ и Londiste в rails"

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Event

    Иван Евтухович - "Использование PgQ и Londiste в rails" - Presentation Transcript

    1. Использования PgQ и Londiste в rails-приложении Иван Евтухович Linkfeed
    2. Что такое Londiste Londiste — это средство для создания master- slave репликации для Postgresql на основе PgQ Применение:  Запросы с ”неактуальными данными”  Резервное копирование
    3. Что такое PgQ PgQ — это реализация очереди на базе Postgresql  События приходят пакетами  Много подписчиков на одну очередь  Удобно для асинхронных операций
    4. Размазывание нагрузки во Операций в секунду времени Время
    5. Мониторинг SELECT * FROM pgq.get_consumer_info() queue_name consumer_name lag last_seen link_updater CacheUpdater 00:00:01.934512 00:00:01.512209 londiste.replika master_to_slave 00:00:01.935064 00:00:01.672613 remove_projects CacheUpdater 00:00:02.060073 00:00:02.031421 CacheUpdater page_collector 00:00:21.44131 00:00:21.25387 CacheUpdater indexer 00:00:24.973829 00:00:24.752108 remove_platforms CacheUpdater 00:00:25.900762 00:00:25.585986 SELECT pgq.failed_event_count('link_updater', 'CacheUpdater')
    6. Gem evtuhovich-pgq $> gem install evtuhovich-pgq $> apt-get install skytools  Rake-tasks для pgq и londiste  Rake-tasks db:migrate, db:migrate:up, db:migrate:down  Расширение pgq для AR::B  Пример использования pgq в examples/  Неплохой README на плохом английском
    7. Pgq rake tasks Добавить require 'pgq' в Rakefile  rake pgq:gen_config  rake pgq:install  rake pgq:start  rake pgq:stop
    8. Londiste rake tasks Репликация  rake londiste:provider:install  rake londiste:subscriber:install  rake londiste:update  rake londiste:start  rake londiste:subscriber:stat  rake londiste:provider:add  rake londiste:subscriber:add  rake londiste:stop
    9. Репликация Добавить в database.yml #{RAILS_ENV}_slave ActiveRecord::Base.slave do … something end rake db:migrate — выполнит миграции на master и slave Защитите slave от записи самостоятельно
    10. Example pgq-consumer Добавить config.gem 'pgq' в environment.rb script/console ActiveRecord::Base.pgq_create_queue PgqTest::QUEUE_NAME ActiveRecord::Base.pgq_register_consumer PgqTest::QUEUE_NAME, PgqRunner::PGQ_CONSUMER runner = PgqRunner.new(:queues => [PgqTest::QUEUE_NAME], :watch_file => 'stop.txt') runner.run В другой консоли PgqTest.add_event 10 В первой консоли должно появиться 100
    11. Список ссылок Londiste http://skytools.projects.postgresql.org/doc/londiste.ref.html http://skytools.projects.postgresql.org/doc/londiste.cmdline.html PgQ http://skytools.projects.postgresql.org/doc/pgq-admin.html http://skytools.projects.postgresql.org/pgq/files/external-sql.html http://skytools.projects.postgresql.org/doc/pgq-sql.html Gem pgq http://github.com/evtuhovich/pgq/tree/master http://evtuhovich.blogspot.com
    12. Вопросы? Иван Евтухович evtuhovich@gmail.com

    + railsclubrailsclub, 4 months ago

    custom

    462 views, 0 favs, 0 embeds more stats

    RailsClub'Moscow (2009.06.20). Иван Евтух more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 462
      • 462 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 1
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories