Архив за Январь 2018

Лайфхаки git

Список полезных команд при работе с git репозиторием.

Настройка тестового Docker окружения

Исходный код данного примера размещен на сайте: https://github.com/bayrell-tutorials/tutorial01-todolist

Данный код содержит реализацию CRUD в виде Todo List.

Проект собирается и разворачивается в Docker контейнерах.

Стэк:

В качестве фронтенда используется NodeJS, который раздает статику html, css, js и проксирует ajax

Что такое RabbitMQ

RabbitMQ — это брокер сообщений, который позволяет обмениваться сообщениями между различными программами. RabbitMQ поддерживает следующие языки: Python, Java, Ruby, PHP, C#, JavaScript, Go, Elixir, Objective-C, Swift, Spring AMQP.

AMQP — это открытый протокол обмена сообщениями, который используется в RabbitMQ. AMQP это отдельная спецификация, утвержденная консорциумом OASIS.

Сборка Dockerfile на примере Nginx

Скачайте заранее docker образ nginx

docker pull nginx

Создайте тестовую папку для сборки docker контейнера:

mkdir -p ~/docker/nginx mkdir -p ~/docker/nginx/html

Архитектура Highload проекта

Терминология

Backend — обеспечивает обработку запросов от Frontend'a. Он реализует API в виде функций. Получает запрос от клиента, отправляет запрос в БД, формирует и возвращает ответ клиенту, обычно в виде данных. Сборкой HTML кода бэкенд не занимается. Примеры API: CRUD запросы, поисковые запросы.

Frontend — то, что отвечает за генерацию

Установка Ubuntu Server 18.04 на VirtualBox

Настройка сети

Установите iptables persistent:

apt-get install -y iptables-persistent

Создайте мост:

brctl addbr virtualbox ip addr add dev virtualbox 10.0.5.1/24 ip link set virtualbox up

NAT:

iptables -t nat -A POSTROUTING -s 10.0.5.0/24 ! -d 10.0.5.0/24 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward echo