Помогите спроектировать каркас приложения.
Уже месяц сижу, что-то не получается сделать. Читаю Лутца.
Отдельно все понятно, воедино соединить во что-то крисивое никак не выходит.
Не понимаю, как лучше это разбивать на пакеты, что использовать, процессы или потоки, как лучше организовать между ними взаимодействие. Искал примеры похожих серверов, но что-то не нашел. Одни банальные эхо серверы кругом.
Python 3
Описание будущего приложения:
Это сервер сообщений. Сообщения хранятся в СУБД. Сервер обрабатывает подключения клиентов, раздавая положенную им почту, по самодельному протоколу. Сервера сообщений будут взаимодействовать между собой (маршрутизация сообщений).
Что сейчас хочу от каркаса:
* Приложение должно работать как линукс-демон (демонизация не сложно делается, поэтому можно и без этого, если это не меняет ничего принципиального).
* Должна иметься система плагинов
* Два плагина журналирования (в файл и в СУБД). Соотвественно любой модуль, должен иметь возможность писать в этот журнал.
* Два плагина конфигурации (опции приложения из файла конфигурации или из СУБД). Аналогично, конфигурация должна быть доступна из любого места приложения.
* Просмотр и редактирование конфигурации сервера через веб-интерфейс (это на перспективу), планирую делать через HTTPServer и собственную обработку запросов.
* Должен запускаться сокет-сервер (главная часть приложения), принимать подключения (передавать ничего не нужно), просто соединения открывать/закрывать
* Формат взаимодействия с клиентами тоже хочется оформить как плагин
Только начал изучать питон, после прочтения трех книжек в голове образовалась каша из всего.
Буду рад любой помощи и советам. Может примерам.
