Глава 20. Распределенный Ruby
Глава 20. Распределенный Ruby
Меньше — это больше.
Робер Браунинг, «Андреа дель Сарто»
В настоящее время имеется немало технологий, поддерживающих распределенную обработку: различные варианты RPC, а также COM, CORBA, DCE и Java RMI.
Одни проще, другие сложнее, но в принципе все делают одно и то же - предоставляют относительно прозрачный способ связи между находящимися в сети объектами так, чтобы с удаленными объектами можно было работать, как с локальными.
Зачем это вообще может понадобиться? Причин много. Например, чтобы распределить некоторую вычислительную задачу между многими процессорами. Примером может послужить программа SETI@home, которая использует ваш ПК для обработки небольших объемов данных в поисках внеземного разума (кстати, эта программа не является проектом института SETI). Другой пример — привлечение широких масс к взлому шифра RSA129 (эта попытка увенчалась успехом несколько лет назад). Существует очень много задач, которые можно разбить на небольшие части, пригодные для распределенного решения.
Можно также представить себе, что вы хотите предоставить интерфейс к некоему сервису, не раскрывая исходных текстов. Часто это делается с помощью Web-приложений, но из-за отсутствия состояния в протоколе HTTP это не всегда удобно (есть и другие недостатки). Механизм распределенного программирования позволяет решать подобные задачи более естественно.
В мире Ruby ответом на этот вызов стала программа drb, написанная Масатоси Секи (Masatoshi Seki); еще ее название записывают так: DRb. Существуют и другие способы распределенной обработки на Ruby, но drb, пожалуй, самый легкий. Здесь нет сложных служб разрешения имен, как в CORBA. Это всего лишь простая и удобная библиотека, предоставляющая всю необходимую функциональность. В данной главе мы рассмотрим основы работы как с ней самой, так и с надстроенной над ней системой Rinda.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Распределенный обмен сообщениями
Распределенный обмен сообщениями Предположим, что мы пожелали изменить приведенный выше пример, чтобы можно было «поговорить» с другим узлом сети. Вы, наверное, думаете, что для этого придется вызывать специальные функции, чтобы «попасть в сеть». Вот сетевой вариант
Глава 1. Обзор Ruby
Глава 1. Обзор Ruby Язык формирует способ нашего мышления и определяет то, о чем мы можем размышлять. Бенджамин Ди Уорф Стоит напомнить, что в новом языке программирования иногда видят панацею, особенно его адепты. Но ни один язык не сможет заменить все остальные. Не
1.3. ООП в Ruby
1.3. ООП в Ruby В языке Ruby есть все элементы, которые принято ассоциировать с объектно-ориентированными языками: объекты с инкапсуляцией и сокрытием данных, методы с полиморфизмом и переопределением, классы с иерархией и наследованием. Но Ruby идет дальше, добавляя
Глава 4. Интернационализация в Ruby
Глава 4. Интернационализация в Ruby Посему дано ему имя: Вавилон, ибо там смешал Господь язык всей земли, и оттуда рассеял их Господь по всей земле. Бытие, 11:9 Мы уже говорили, что тип символа, наверное, самый важный из всех. Но что такое символьные данные? Какие символы? Из
Глава 11. ООП и динамические механизмы в Ruby
Глава 11. ООП и динамические механизмы в Ruby Как введение иррациональных чисел… стало удобным мифом упростившим законы арифметики… так физические объекты и постулированные сущности делают наше восприятие реальности более простым и завершенным… Концептуальная схема
Глава 12. Графические интерфейсы для Ruby
Глава 12. Графические интерфейсы для Ruby Нет ничего хуже четкого образа нечеткой идеи. Апсель Адамс Нет смысла отрицать, что мы живем в век графических интерфейсов (ГИ). В обозримом будущем тот или иной вид графического интерфейса станет основным способом взаимодействия с
12.1. Ruby/Tk
12.1. Ruby/Tk Своими корнями Tk уходит в далекий 1988 год, если считать и предварительные версии. Долгое время эта система считалась спутником языка Tcl, но вот уже несколько лет как она используется и с другими языками, в том числе Perl и Ruby.Если бы у Ruby был «родной» графический
12.5.1. Ruby и X
12.5.1. Ruby и X Систему X Window System в разговорной речи называют (не совсем корректно) просто X Windows. Вероятно, она является прародителем если не всех, то абсолютного большинства графических интерфейсов пользователя.Пользователи всех вариантов UNIX давно уже знакомы с X (как
Глава 13. Потоки в Ruby
Глава 13. Потоки в Ruby Он тянет нить своего красноречия искуснее, чем развивает свои доводы. Шекспир, «Бесплодные усилия любви», акт V, сцена 1[15] Потоки еще иногда называют облегченными процессами. Это просто способ обеспечить параллельное выполнение без накладных расходов,
Глава 15. Ruby и форматы данных
Глава 15. Ruby и форматы данных — Ваша информация, сэр, — говорит Библиотекарь. — Сможешь увязать эту информацию с утилитой «ВЫ ЗДЕСЬ»? — говорит Хиро. — Я посмотрю, что можно сделать, сэр. Форматы представляются совместимыми. Нил Стивенсон, «Лавина» В этой главе мы
Глава 19. Ruby и Web-приложения
Глава 19. Ruby и Web-приложения Как ловко мы сплетаем сеть… Сэр Вальтер Скотт, «Мармион» Ruby — универсальный язык, его ни в коей мере нельзя считать исключительно «языком Web». Но, несмотря на это, одно из наиболее типичных его применений — создание приложений (да и вообще
Глава 21. Инструменты разработки для Ruby
Глава 21. Инструменты разработки для Ruby Человек — это животное, создающее инструменты. Бенджамин Франклин Среда разработки включает не только интерпретатор. У каждого хорошего разработчика под рукой всегда есть целый набор средств, облегчающих жизнь. Некоторые из них
Глава 22. Сообщество пользователей Ruby
Глава 22. Сообщество пользователей Ruby …Тот, кто не способен вступить в общение или, считая себя существом самодовлеющим, не чувствует потребности ни в чем, уже не составляет элемента государства, становясь либо животным, либо божеством. Аристотель, «Политика»[19] Уже было
Атаки типа «отказ в обслуживании» (DoS) и «распределенный отказ в обслуживании» (DDoS)
Атаки типа «отказ в обслуживании» (DoS) и «распределенный отказ в обслуживании» (DDoS) На сегодняшний день DDoS-атаки являются одними из самых опасных с точки зрения последствий. Посудите сами: крупный обслуживающий банковский сервер, который на некоторое время (пусть даже на