Когда мы перевели наше приложение с Node.js (Express) на Go, нам удалось уменьшить размер образа Docker с 2,8 ГБ до 400 МБ, что изначально нас устраивало. Однако, стремясь к более эффективному использованию ресурсов и более быстрому развертыванию, мы поняли, что все еще есть возможности для дальнейшего уменьшения размера изображения, поэтому мы решили попробовать новый подход.
Возможно, это знакомая территория для инженеров с опытом работы в DevOps, но для новичков я поделюсь улучшениями, которые мы внесли.
Знание того, как оптимизировать сборки образов Docker, чтобы использовать кэш сборки как можно чаще, имеет решающее значение для ускорения ваших сборок. Мы покажем вам, как работает кэш слоев и как эффективно использовать кэш, чтобы вы могли получить максимальную отдачу от своих сборок.
В этом руководстве показано, как создать и развернуть серверную часть Go для сокращения URL-адресов. Он состоит из одного сервиса с REST API и использует базу данных PostgreSQL.
Чтобы всего за несколько минут запустить нашу серверную часть Go в облаке, мы будем использовать Encore — платформу разработки серверной части, которая автоматизирует инфраструктуру.
Go известен тем, что его легко освоить и он обеспечивает самый быстрый путь к созданию продукта. Благодаря встроенной в стандартную библиотеку функциональности HTTP у вас есть все необходимое без каких-либо внешних зависимостей. Низкоуровневый доступ к HTTP
может стать глотком свежего воздуха, если вы привыкли к раздутым платформам, но это приводит к появлению большого количества шаблонного кода, который со временем становится утомительным для написания снова и снова. Здесь на помощь приходит babyapi
. Я создал эту библиотеку, чтобы обеспечить очень простое создание REST API, не навязывая определенную структуру всему приложению. Это так просто, что справится даже ребенок!
💡В этом руководстве показано, как создать, развернуть и перейти на серверную часть для средства сокращения URL. Оно состоит из одной службы, REST API и базы данных PostgreSQL.
Мы будем использовать Encore, чтобы запустить наше приложение в облаке бесплатно за 10 минут!
Мы будем создавать приложение шаг за шагом, но вы также можете ознакомиться с окончательным кодом на GitHub.
Как разработчики программного обеспечения, мы всегда заботимся о безопасности наших приложений и никогда не можем быть слишком осторожными. Всякий раз, когда одно из наших приложений становится общедоступным, мы крайне осторожны, чтобы не раскрыть личную информацию, которая может поставить под угрозу его работу или даже бизнес в целом.
Важнейшим моментом, на который мы все должны обратить внимание при публичном доступе к приложению, является то, как оно ведет себя при возникновении ошибки и что сообщается пользователю в этих сценариях. Плохо обработанный ответ на ошибку может не иметь большого значения для большинства пользователей, но будьте уверены, что для кого-то это будет иметь большое значение.
Это краткое руководство по созданию и развертыванию веб-приложения с использованием фронтенда React и бэкенда Go. Мы будем использовать Encore, платформу для разработки бэкенда, позволяющую создавать готовые к работе приложения в AWS/GCP без необходимости ручной работы над инфраструктурой.
Это отличный способ узнать, как объединить возможности внутреннего интерфейса Encore с современным веб-фронтендом, чтобы создать более надежное и готовое к производству веб-приложение.
В этом руководстве показано, как создать API GraphQL с помощью Encore. В качестве примера он реализует серверную часть для сокращения URL-адресов и показывает, как вы развертываете его в бесплатном облаке разработки Encore.
Шаблон Idempotent Consumer необходим для обработки повторяющихся сообщений в микросервисах, гарантируя, что повторная обработка одного и того же сообщения приводит к тому же результату, что и однократная обработка.
Этого можно достичь путем отслеживания ID сообщений либо в отдельной таблице PROCESSED_MESSAGE
, либо внутри бизнес-объектов, на которые влияют сообщения. Записывая ID обработанных сообщений, обработчик сообщений может идентифицировать и удалять дубликаты, обеспечивая идемпотентную обработку и согласованность данных во всех микросервисах.
В этом уроке я покажу, как упаковать приложение Go для пользовательского репозитория Arch Linux (AUR). Мы откроем учетную запись AUR, пройдемся по шаблону PKGBUILD и будем следовать рекомендациям Arch Wiki для Go. К концу руководства вы сможете загрузить свой собственный пакет Arch, использующий Go в AUR.
Присоединяйся в тусовку
Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.
В этом месте могла бы быть ваша реклама
Разместить рекламу