16.10. Współdzielenie haszów przez dowolną liczbę komputerów

Podziękowania dla Jamesa Edwarda Graya II

Problem

Chcemy współdzielić dane aplikacji między zdalne programy, zgodnie z zasadą: „A gdyby tak wszystkie komputery mogły korzystać z tego samego hasza?”.

Rozwiązanie

Wbudowana biblioteka języka Ruby — DRb — umożliwia współdzielenie obiektów Ruby w sieci. Oto prosty serwer danych:

#!/usr/local/ruby -w
# drb_hash_server.rb
require 'drb'
# Uruchomienie DRb poprzez podanie adresu URI i udostępnianej tablicy
shared_hash = {:server => 'Jakieś dane ustawione na serwerze' }
DRb.start_service('druby://127.0.0.1:61676', shared_hash)
puts 'Nasłuchiwanie połączenia...'
DRb.thread.join  # Oczekiwanie na zakończenie wątku DRb...

Wystarczy uruchomić ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.