Рубрики
Без рубрики

Пик в архитектуре в Covidfyi.in

Мы работаем над Covidfyi.in в течение почти 2 месяцев и прошли значительный The Chan … Tagged с Python, API, Mongodb, Redis.

Мы работали над Covidfyi.in В течение почти 2 месяцев и прошли значительные технологические изменения.

Что мы делаем?

Мы являемся платформой, на которой данные для всех правительственных ресурсов, таких как больницы, Йеллеры, врачи и т. Д., Агрегируются нашей специализированной командой данных, и это представлено на нашем фронте легко найти.

v1 архитектура –

Мы начали с нашего бэкэнда, сделанной в Джанго и Постгреске и принимали Heroku. Но достаточно быстро , мы начали сталкиваться с ограничениями.

Ограничения нашей первоначальной архитектуры –

Во -первых, Heroku Dyno спит после 30 минут бездействия, следовательно, первый запрос после того, как сервер заснул, требуется слишком много времени, чтобы реагировать, более 10 секунд.

Второе ограничение является более нишей, наша команда данных использует лист Google для управления и сопоставления данных – они чувствовали, что панель административной панели на основе форм будет слишком ограничительной. Таким образом, всякий раз, когда команда данных обновляла лист Google, мы в технологической команде загружали CSV и вручную обновляли базу данных, выполнив предварительно определенную команду утилиты. Это также ограничивалось в другом смысле – всякий раз, когда команда данных хотела добавить новый столбец, нам вручную пришлось бы добавить это в схеме базы данных внутри нашего кода – на мой взгляд, слишком утомительно. Мы искали, но никоим образом мы не могли выяснить, как включить новые столбцы в нашу схему во время выполнения. Но это исследование не было плодотворным, по крайней мере, когда оно было ограничено масштабом RDBMS.

Теперь, как мы преодолели эти ограничения? Продолжайте читать, чтобы узнать:)

Переход к нашей новой архитектуре –

Первым шагом было переход от Джанго к колбе, потому что Флеста легкий, а Джанго – слон, мы не хотели огромной структуры, стоящей на пути того, что мы хотели достичь.

На втором этапе мы перешли с PostgreSQL на MongoDB, это изменение, которое принесло максимальную отдачу от инвестиций. Но почему? Это упростило наш рабочий процесс как минимум на 100 раз.

Это просто то, что мы сделали, и заставляет меня думать, как мы были достаточно глупы, чтобы не думать об этом в первую очередь. Я написал сценарий, который извлекает JSON из нашего листа Google, продезинфицировал ответ и вставлял его в нашу базу данных MongoDB, как есть, и этот скрипт работает каждые 12 часов, чтобы обновить наш БД. Это делает две вещи – упрощает рабочий процесс, а также в то же время допускает динамическую схему.

В -третьих, мы перешли от Heroku на виртуальную машину на GCP, что устранило большинство наших проблем с производительностью. И я упоминал, что у нас есть настройка кэширования слоя, используя Redis, которая кэширует большинство наших ответов API, следовательно, делает его очень быстрым.

Tldr –

Короче говоря, наша текущая архитектура – Колба + Mongodb + Redis + GCP Анкет

Делать вклад –

Если вы хотите внести свой вклад в наш проект, поразите меня в Instagram в @manan.code , мы ищем и React, и Flask Dev. Наши git Repos – Covidfyi Анкет

Если у вас есть какие -либо предложения о том, как мы могли бы улучшить нашу архитектуру, добавьте комментарии, пожалуйста.

Оригинал: “https://dev.to/manangouhari/a-peak-into-the-architecture-at-covidfyi-in-h52”