• Почему django приложение не работает на heroku?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Потому что автор приложения не читал документацию Heroku и не пользовался поиском по Хабру. Такой вопрос здесь задавали огромное количество раз. И даже сегодня!
    Ответ написан
  • Сервер который выступает шлюзом для вебсеров?

    @vabka
    Токсичный шарпист
    Гугли "reverse proxy".
    Реализовать можно на nginx - на него будут приходить все запросы, а он уже по каким-то правилам будет их перенаправлять на внутренние сервисы.
    Можно реализовать и на апаче, но не вижу в этом смысла.
    Ответ написан
  • Почему не меняются записи в базе данных репозитория GitHub?

    Andrew_Pinkerton
    @Andrew_Pinkerton
    Не так страшны первые 99%, как оставшиеся 99%
    Справку не читай - и так сойдёт!
    Ответ написан
  • Как быстро поднять инфраструктуру предприятия?

    @dmb_1945
    ИМХО
    Организация автоматизации при разовом поднятии подобной инфраструктуры займет минимум в 2 раза больше времени, чем поднять все в ручную.
    Мне кажется вы просто ни когда не поднимали эти типы вм и поэтому ищете темплейты.
    Но это не правильно так как вам потом с этим добром работать и нужно знать все нюансы каждого сервиса, что бы потом спать спокойней.
    Пример:
    - два веб-сервера на linux + postgreS, максимум час на одну-потом делаешь клона.
    - 1С сервер + SQL сервер 1-2 часа на винду делаешь клона и на нем накатываешь sql на оригинале 1с + 2-3 часа
    - сервер файловой помойки на linux клон голой ОС от первой задачи + smb 1-3 часа, так как smb иногда на ровном месте проблемы создает.
    Итого мы имеем 1 полный день или 2 дня с перекурами, серфингом ерунды.
    Ответ написан
  • Как быстро поднять инфраструктуру предприятия?

    @nApoBo3
    Вы не описали цель, в зависимости от цели решения будут разными.
    Для регулярного развертывания такой инфраструктуры одно. Для разового с целью минимизации простоя другое.

    Но важный нюанс, любое ускорение операции всегда требует времени на организацию такого ускорения, и если вам нужно сделать это один раз, а простоя это не вызывает или нужно было ещё вчера, то самый дешёвый способ сделать "медленно руками", остальное будет дороже, очень сильно дороже.
    Ответ написан
  • Как быстро поднять инфраструктуру предприятия?

    CityCat4
    @CityCat4
    Если я чешу в затылке - не беда!
    Как это сделать быстро?

    Если спрашиваете - значит никак :)
    Задача автоматизации возникает тогда, когда Вы эту задачу проделали руками один, два... десять раз и знаете все ее нюансы (и то, при тестировании скриптов автоматизации лучше попредполагать самые нелепые ситуации).
    Автоматизация незнакомой задачи приведет только к тому, что выбранное средство либо понаделает чепухи, которую все равно придется переделывать вручную, либо впадет в затуп после первой же ошибки.
    Нет никаких "готовых настроек". Инфраструктура предприятия - это то, что Вы сделаете и она таковой останется вплоть до ее слома (потому что вносить изменения в работающую инфраструктуру - это #опа #опейшая). И она у каждого предприятия - своя.
    Ответ написан
  • Как быстро поднять инфраструктуру предприятия?

    Jump
    @Jump Куратор тега Системное администрирование
    Системный администратор со стажем.
    Как это сделать быстро?
    Единственный способ - пригласить специалиста, который делал все эти вещи. Если конечно надо сделать не только быстро но и качественно.

    У вас насколько я понимаю один хост - поэтому как то ускорить и оптимизировать работу не получится. Было бы сто хостов с однотипной настройкой, были бы варианты, как ускорить работу в сто раз.

    Что вебсервер, что телефония, что 1с - это все требует знаний и опыта в конкретной области.
    Поэтому вполне вероятно что приглашать придется не одного специалиста.
    Без знаний по мануалам настроить можно, и может быть вам повезет и все заработает, но вряд ли это будет быстро.
    Ответ написан
  • Как корректно ограничить вызов RPC по таймауту?

    unreachable code можно смело убрать
    У вас же и так возвращается ошибка в случае отмены контекста:
    case <-ctx.Done():
          return nil, ctx.Err()

    Но нужно понимать, что контекст будет по таймауту отменяться только если этот таймаут контексту задан.
    Например:
    ctx, cancel := context.WithTimeout(context.Background(), time.Second)
    defer cancel()
    resp, err := srv.RPCClient.Call(ctx, topic, payload)
    if err != nil { // тут вернет ошибку "context cancelled" при таймауте
      srv.logger.Error("RPC call error. ", err)
      return err
    }
    Ответ написан
  • Как правильно работать с Context?

    Во-первых, лучше контекст все же брать не Background, а из http-запроса. Таким образом вы будете корректно обрабатывать ситуацию, когда соединение с клиентом разорвалось и не надо больше обрабатывать запрос (контекст отменится).
    ctx, cancel := context.WithTimeout(r.Context(), config.Read().HTTP.Timeout.Request*time.Second)


    Во-вторых, контекст обычно не используют для ожидания внутренних горутин, он не для этого предназначен. Для этого используют sync.WaitGroup.
    Поэтому у вас и возникает проблема, ибо событие отмены контекста еще не значит, что дочерние функции мгновенно завершились. Возникает ситуация, когда чтение канала <-ctx.Done() внутри приведенной вами функции происходит раньше, чем такое же чтение канала внутри функции router.middlewareHandler(h). Поэтому нужно ждать не отмены контекста, а завершения работы горутины.

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

    В-четвертых, вы, наверное, хотели написать if ctx.Err() != nil {. Но у вас вместо этого ==, что вообще обесценивает код внутри этого ифа.
    Ответ написан
  • Аналог proxy_pass nginx на языке golang возможно ли реализовать?

    чтобы без буфера было, нужно вот этот кусок
    body, err := ioutil.ReadAll(resp.Body)
        if err != nil {
            http.Error(w, "error reading response body", http.StatusInternalServerError)
            return
        }
    
        // write status code and body from proxy request into the answer
        w.WriteHeader(resp.StatusCode)
        w.Write(body)


    заменить на этот:

    w.WriteHeader(resp.StatusCode)
    _, err := io.Copy(w, body)
    if err != nil {
        http.Error(w, "error reading response body", http.StatusInternalServerError)
        return
    }
    Ответ написан
  • Как быстро поднять инфраструктуру предприятия?

    @q2digger
    никого не трогаю, починяю примус
    Это разовая акция? Есть смысл строить автоматизацию?
    terraform, ansible , многое зависит от гипервизора. чтото легче автоматизируется ,чтото хуже.
    Ответ написан
  • Почему в Linux Mint иные шрифты?

    gedev
    @gedev
    сисадмин-энтузиаст
    1. Потому, что стандартные наборы шрифтов отличаются. Это неизбежно из-за лицензий.
    2. Разумеется можно установить дополнительные шрифты. Надо лишь найти те, что нужны вам. Смена дистрибутива это как-то очень радикально, всё равно будете доустанавливать шрифты :)

    Также есть разница в рендеринге. Один и тот же шрифт в Linux и Windows может выглядеть слегка по-разному и вы на это вряд ли повлияете.
    Ответ написан
  • Из-за чего ошибка nodejs client password must be a string?

    ayazer
    @ayazer
    Sr. Software Engineer
    const pool = new Pool({
      user:'postgres',
      password:'password',
      host:'localhost',
      port:5432,
      database:'delviery'
    });


    pasword => password
    Ответ написан
  • Какое направление выбрать, если не хочешь до конца жизни пилить формочки и гонять json?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Чтобы не гонять json, надо попасть в R&D крупных компаний. Но надо понимать, что R&D - это всегда относительно мелкие подразделения, в которые попадают только те, кто к моменту поступления в универ уже был крутым программистом.
    Ответ написан
  • Какое направление выбрать, если не хочешь до конца жизни пилить формочки и гонять json?

    Adamos
    @Adamos
    Предпочитаете до конца жизни пилить государственную статистику так, чтобы она показывала нужные цифры?
    Чтобы не заниматься скучной работой, нужно искать интересную и самому быть интересным работодателю. Вузовские курсы могут кое-чем помочь на этом пути, но выбор конкретного курса совершенно ничего не решает. Уж поверьте инженеру-строителю, четверть века назад положившему диплом на полочку.
    Ответ написан
  • Как подключиться к VPC от AWS amazon?

    r0zh0k
    @r0zh0k
    Site Reliability Engineer
    1. VPC как правило содержит публичные и приватные подсети. Посмотрите какие есть в вашей и где находятся инстансы к которым вы хотите подключиться.
    2. Если публичных подсетей нет, то вам нужно добавить таковую
    3. Для подключения к инстансам вам нужен ключ. Если ключа у вас нет и других способов подключения вы не настраивали (например, самостоятельно конфигурировали sshd на инстансе) – то к инстансу вы подключиться не сможете, даже если сможете его пингануть
    4. Если ваш инстанс находится в приватной подсети, вам нужно создать новый инстанс (пойдет самый простой t2.nano) в публичной подсети и настроить security groups для целевого инстанса чтобы был открыт доступ к нужым портам из публичной подсети
    5. Логинитесь на ваш свежесозданный инстанс и уже с него – на целевой.
    6. Если ваш целевой инстанс находится в публичной подсети – тогда у него есть публичный ІР адрес, к которому вы можете подключиться (нужно только настроить security group чтобы открыть порты для внешнего доступа)
    Ответ написан
  • VPC Amazon Cloud, с чего начать или какие есть альтернативы? Как рассчитать стоимость?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    lightsail, как можно догадаться по названию, это упрощенный(легкий) интерфейс над вычислительными - Elastic Compute Cloud (EC2) сервисами. И немного более дешевый в связи с тем, что контроля вам дают мало. Однако он сразу реализует некоторые паттерны и наборы сервисов для быстрого старта. Это - путь стартапов.
    Lightsail, насколько я помню, запускается в "VPC по умолчанию" которым управляет AWS и где все сервера живут в публичной подсети, что небезопасно.

    Та схема которую вы хотите, наверное, реализуется lightsail-ом, но для большего контроля все таки рекомендуется организовать свой VPC (Virtual Private Cloud) - компонент сетевых сервисов AWS.
    В вашем случае потребуется что-то вроде(для оценки стоимости) :

    1. Балансировщик :
    - ALB\ELB сервис (отдельный прайсинг). HA сервиса обеспечивает AWS
    или
    - два инстанса нужного вам балансировщика (Nginx, HAProxy и другие). HA и прочая обеспечиваете вы.

    2. N бэкендов нужного типа (смотрите стоимость конкретного инстанса соответствующего вашим потребностям)

    3. реплицируемые базы :
    - вы можете взять 2 инстанса нужной мощности(платите за инстансы) и настроить все сами
    или
    - взять RDS (отдельный сервис, другой прайсинг) нужной базы где HA и обслуживанием будет заниматься AWS для вас, предоставляя вам эндпойнт для подключения с серверов.

    4. Файловое хранилище. Тут интереснее
    Если у вас Windows : вам понадобятся два инстанса для обеспечения отказоустойчивости и HA
    Если у вас *nix : вы можете сделать так же как с WIndows или взять EFS (отдельный сервис, где вы платите за занятое место) который высокодоступен и может быть подключен к разным *nix инстансам одновременно.

    5. Внутренности VPC
    VPC организуется так же как и любая сеть в железном эквиваленте.
    Подсети - приватные, публичные
    Настройка роутинга для публичных подсетей, для приватных подсетей через NAT инстанс\сервис
    NAT инстанс или сервис
    VPN инстанс или бастион (для доступа к инстансам в приватной подсети)

    Вот тут вы уже можете подсчитать во сколько обойдется примерно владение только инстансами и необходимыми сервисами.
    Сколько у вас будет непредвиденных расходов на передачу данных и тп. - вы сможете увидеть только по результатам билинга за первый месяц.

    Это мое личное мнение по тому, как следовало бы сделать в вашем случае.
    Может статься, что вы не осилите (у каждого своя скорость освоения) это достаточно быстро и быстрее реализуете другую схему - это на ваш выбор
    Ответ написан