Моя компания разрабатывает решение CDN / Web-хостинг. У нас есть промежуточное ПО, которое служит слоем бизнес-логики и предоставляет веб-сервис для внешнего интерфейса.
Я бы хотел найти чистое решение для управления функциями - в программном обеспечении есть неопределенности и уродливые обходные пути / решения, которые разработчик сказал бы: «когда это случится или сломается, мы исправим это».
Например, вот следующие функции, которые может иметь веб-издатель:
- Лимит сайтов
- Ограничение пропускной способности
- Функция SSL + конфигурация SSL для каждого сайта
Если мы понижаем рейтинг веб-издателя, когда у него 10 сайтов, а не до 5 сайтов, мы можем решить не приостанавливать работу остальных 5 сайтов, или мы запросим приостановку до перехода на более раннюю версию.
В случае ограничения пропускной способности, понижение рейтинга является простым, когда проверка пропускной способности происходит, если издатель превысил ее, мы приостановим его учетную запись.
Для случая с функцией SSL. Каждая конфигурация SSL связана с сайтом. Что будет с этими объектами конфигурации, когда функция SSL будет понижена с включенной до отключенной?
Итак, как вы можете видеть, есть много разных ситуаций, и есть разные способы справиться с этим.
- Я могу создать систему, которая проверяет воздействия и предлагает пользователю внести изменения до понижения / обновления.
- Или система, которая игнорирует удары и просто модернизирует / понижает рейтинг. Bad.
- Или система, спроектированная таким образом, чтобы клиентский код должен был знать о матрице сложных функций (или я могу предоставить вспомогательный код клиентскому коду, чтобы проверить, не является ли функция DEFUNCT)
Может быть много способов, о которых я все еще думаю, но озадачен. Мне интересно, как бы вы решили эту проблему, и есть ли какие-либо рекомендуемые шаблоны, книги или программное обеспечение, на которые, по вашему мнению, я могу ссылаться?
Ценю вашу помощь.