
Надо делать чаще 'kill -9'-like по своим сервисам. Все.
В чем соль? Конечно же не надо убивать БД, кеши(?), очереди и ЛБ, ну давайте честно, не каждый согласится на такой chaos testing (хотя вещь полезная и нужная).
Но в большинстве случаев/сервисов их надо не бояться дропать и рестартовать.
Многие это делают неохотно, часто даже с паникой в глазах это выслушивают, но на самом деле, все важные данные уже лежат в других (желательно) неубиванмых местах (бд, очередь, и иногда кеш).
Любой сервис, которые занимается только обработкой не имеет аргумента быть долгоживучим.
Если есть graceful restart, нет супер требований на низкий латенси и кеш-хит (го честно, не все пишут такие вещи), то убить и запустить сервис вопрос желания.
В одном проекте текут файлдескрипторы, и проще сделать рестарт раз в неделю, чем разбираться что там (хотя и написано хорошо все).
У одного из друзей течет память, не сильно, но за пару дней заметно боявляется +50 мб. Бах и проблемы нет, pagetduty молчит, а тасочка на будущее висит.
Или тот же гуру хайлоада на жаве Martin Thompson, они свои сервисы биржи убивают вечером и запускают по новой. Сомневаться в качестве его кода я не решусь, но это практику они применяют.
Короч в личных проектах, перед выходом на рид прод, я определенно потрачу полтора дня, чтобы можно было кильнуть любой компонент продукта.
Должно будет когда-то помочь. Change my mind.