Поскольку вы просите о каких-либо советах, я советую вам, что создание сервисного контейнера - тяжелая работа.Так как вам на самом деле это не нужно, так как уже есть множество отличных сервисных контейнеров, вам, вероятно, следует использовать один из них.
Я бы порекомендовал кое-что за HTTP, что дает вам массу преимуществ по сравнению с существующими инструментами., создание сообщений, согласование контента, масштабирование вашей службы, а также модели развертывания и обновления.
Если вы хотите избежать внешних зависимостей, используйте что-то вроде Webrick или Mongel, являющееся чистым Ruby, и это отличный способ избежать необходимости переносаApache или Nginx вокруг вашей системы.
Это также позволяет вам выделить проблемы в вашем проекте: сначала поработать над созданием фактического уровня обслуживания, обработать команды и вернуть ответы.Запустите его на любом веб-сервере и начните работу.
Затем, когда у вас будет время, сконцентрируйтесь отдельно на том, как создать контейнер службы для удовлетворения ваших потребностей: поскольку вы знаете, что базовый уровень службы работает нормально, выможет сосредоточиться только на решении проблем с контейнерами.
Если вы действительно хотите создать свой собственный контейнер, я настоятельно рекомендую вам использовать что-то более высокое, чем сокет.Такие инструменты, как 0mq , обеспечивают кадрирование и другие функции слоя сообщений, которые вы не получаете из сокета, и значительно упрощают сосредоточение внимания на определении интересных частей вашего проблемного пространства - команд - вместо низкого уровнятакие детали, как синтаксический анализ формата и протокола.