Ответы пользователя по тегу JavaScript
  • Как узнать какие файлы не были найдены (404 ошибка)?

    @AntoXa_ZiMM
    I just write code and do not know English
    Вариантов много, зависит от твоей системы, но если общее решение, то я бы делал так:
    1. добавить в javascript код глобальный обработчик события error объекта window, что-то типа:
      window.addEventListener('error', function(e) {
          console.log(e);
      }, true);

      взято с link, может найдешь еще что-то полеззное в ответе

    2. определеить какая именно ошибка (404 или что-то другое, что меня не интересует)
    3. куда-то отправить эту информацию (зависит от того логируются ошибки клиента на севере, используется
      какая-то систему для логирования типа loggly)
    4. анализировать результаты из прошлого пункта и добавлять файлы

    Почему проблем взять ARAXIS MERGE и сравнить файлы на двух доменах в папках с сайтом? Программа позволяет построить разницу и скопировать файлы из одной папки в другую одним-двумя нажатием кнопки
    Ответ написан
    1 комментарий
  • Как правильно разделять приложение node js на микросервисы?

    @AntoXa_ZiMM
    I just write code and do not know English
    Думаю, что node.js вполне может использовать общие принципы микросервисной архитектуры, реализация зависит от фантазии и опыта.
    По опыту проекта социальнй сети на микросервисах и шины сообщений:
    Небольшой кусочек логики выносится в несколько микросервисов, для этого куска логики обычно легко создать схему в БД(обычно 1-4 таблицы) и запретить другим сервисам доступ к этой схеме. Если сервис (или несколько) написан правильно, то он легко может быть перенесен с одно сайта на другой без лишних проблем с интегрцией.
    Сервисы можно разделить на разные типы:
    • "CRUD микросервис" с бизнес логикой и работающий с БД, может запросить данные у других микросервисов (например баланс счета пользователя или разрешение на выполнение какой-то операции), может отправить инфурмацию о сделанной работе (например сохранил сообщение чата в БД -- отправь инфу, что сообщение сохранение)
    • "Маршрутизаторы сообщений" читают из очереди сообщения, иногда запрашивают данные у других микросервисов, переписывают/дописывают сообщения и пересылают по другим адресам или блокируют отправку сообщений далее (например пользователя можно информировать отправкой письма или push нотификацией т.к. пользователь пользуется только приложением)
    • "Таймеры" получают сообщение из очереди, на основании конфигурации создают таймер и потом пересылают сообщение по другому адресу (например у пользователя подписка на месяц и через 3 недели нужно информировать его о завершении)

    Для общений микросервисы могут использовать RabbitMQ с какой-то обверткой поверх него.
    Ответ написан