16.12. Tworzenie współdzielonej „tablicy ogłoszeń”

Podziękowania dla Jamesa Edwarda Graya II

Problem

Chcemy stworzyć sieciowy odpowiednik tablicy ogłoszeń. Zdalne programy mogą umieszczać obiekty Ruby na tablicy, sprawdzać umieszczone na niej obiekty lub je usuwać.

Rozwiązanie

Można by skorzystać z synchronizowanego hasza (tak, jak w „16.10. Współdzielenie haszów przez dowolną liczbę komputerów”), ale biblioteka Rinda[114] udostępnia strukturę danych TupleSpace, którą zoptymalizowano do wykorzystania w programowaniu rozproszonym. Struktura ta doskonale się sprawdza w przypadku, gdy kilka klientów umieszcza dane na tablicy, a inne przetwarzają je lub pobierają.

Utwórzmy aplikację, która umożliwi klientom działającym w różnych miejscach ...

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.