Microsserviços

AULA: 01 - APLICAÇÃO MONOLÍTICA

AULA: 02 - MICROSSERVIÇOS

AULA: 01 - COMO ESCALAR MICROSSERVIÇOS

AULA: 02 - COMO ESCALAR BANCOS DE DADOS DE MICROSSERVIÇOS


git clone https://github.com/laravel/laravel.git micro-01

version: '3.7'
services:
  micro_01:
    image:laravel-app - Imagem pronta com o laravel
    restart:unless-stopped - Quando a aplicação travar, reiniciar automativamente
    working_dir:/var/www/ - Qual diretório do NGINX
    volumes: ./:/var/www --Estou jogando os arquivos no meu diretório, para o /var/www do container
            - ./:/var/www
        depends_on:
            - redis_micro_01
            - queue
        networks:
            - microservices
     
DockerFile:
FROM php:7.4-fpm

# Arguments defined in docker-compose.yml
ARG user
ARG uid

# Install system dependencies
RUN apt-get update && apt-get install -y \
    git \
    curl \
    libpng-dev \
    libonig-dev \
    libxml2-dev \
    zip \
    unzip

# Clear cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*

# Install PHP extensions
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd sockets

# Get latest Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

# Create system user to run Composer and Artisan Commands
RUN useradd -G www-data,root -u $uid -d /home/$user $user
RUN mkdir -p /home/$user/.composer && \
    chown -R $user:$user /home/$user

# Install redis
RUN pecl install -o -f redis \
    &&  rm -rf /tmp/pear \
    &&  docker-php-ext-enable redis

# Set working directory
WORKDIR /var/www

USER $user

AULA: 02 - CONFIGURAR DOCKER NGINX MICROSERVICE LARAVEL

AULA: 03 - DOCKER BANCO DE DADOS MICROSERVICE LARAVEL

AULA: 04 - SUBIR CONTAINERS MICROSERVICE LARAVEL

Como reconstruir apenas um container/?

AULA: 06 - VERSIONAR PROJETO LARAVEL E ENVIAR PRO GITHUB

AULA: 01 - INTEGRAÇÃO ENTRE MICROSERVICES NO LARAVEL

Podemos ter funções em dois projetos laravel. 
Por exemplo temos um sistema de Cadastro e outro o sistema de pedidos.

O que são microsserviços e contêineres?

Em primeiro lugar, o que são microsserviços? Uma arquitetura de microsserviços divide seu aplicativo em vários serviços que realizam funções refinadas e compõem seu aplicativo como um todo. Cada microsserviço terá uma função lógica diferente para o seu aplicativo.

Os aplicativos tradicionais possuem arquiteturas monolíticas em que todos os componentes e funções do seu aplicativo se encontram em uma única instância; microsserviços dividem os aplicativos monolíticos em partes menores. O diagrama a seguir compara arquiteturas monolíticas e de microsserviços.

AULA: 02 - CRIANDO PACOTES NO LARAVEL

Atualizar o Pacote - Apenas dar composer Update.
Clonar pacote do laravel

git clone https://github.com/laravel/laravel.git laravel-package



Ir no primeiro Projeto e copiar os arquivos do docker para o novo  projeto clonado.
Pasta: docker -> docker-compose.yml e DockerFile e copiar para o novo projeto

Remove pasta do git rm -rf .git

AULA: 03 - ENVIANDO PACOTE PARA O PACKAGIST E INSTALANDO

Enviar pacote para package-list

  • Criamos dentro do pacote criado, como se fosse um novo projeto.
  • Dentro da pasta git init 
  • git add .
  • git commit -m "First Commit"
  • git tag 1.0.0
  • Criar o repositório no git-hub
  • Adicionar o novo branch
  • git remote
  • git push origin mais
  • Adicionar no Packgist ( Criar a conta)
    • E ir em submit.
    • Verificar como configurar o git hook
  • Ir no github e em WebHooks

Você achou esse artigo útil?