Link

ActiveJ.

ActiveJ é um novo framework que pode ser utilizado em diversidades Web como cloud e microsserviços.

Segundo a página do ActiveJ, o framework é extremamente performático.

A ideia do framework não é ser somente eficiente, mas ter uma abordagem com baixa dependência de outras bibliotecas.

O ActiveJ traz uma série de módulos com soluções para diversas regras de negócios.

O framework apresenta vários módulos que podem trabalhar sem dependências e rodar stand alone.

Acesse o tutorial completo em: https://nakatech.herokuapp.com/article/activeJ.html.

Você tem uma aplicação com microsserviços mesmo ou tem uma arquitetura distribuída?

Sabe qual a diferença entre microsserviços e uma arquitetura distribuída?

Se ficou na dúvida, provavelmente está utilizando uma aplicação com arquitetura distribuída achando que está usando uma tecnologia de microsserviços.

Tecnicamente o que é um microsserviço?

Resumindo, Microsserviços são pequenas aplicações independentes que em conjunto resolvem algum problema.

Já em uma Arquitetura distribuída, existem várias máquinas e aplicações interligados em algum ponto e que resolvem um problema.

Para entender melhor esse conceito, observe as imagens abaixo:

Porque aplicações com Microsserviços são melhores que uma Arquitetura distribuída?

Uma analogia que podemos fazer a uma arquitetura distribuída é o jogo Jenga.

Nesse jogo existem vários blocos que formam 1 bloco maior, o objetivo do jogo é que cada jogador remova um desses blocos menores sem danificar a estrutura do bloco todo.

Quando um bloco danifica a estrutura do bloco principal, todo bloco cai.

Seria isso que aconteceria quando uma parte de um sistema com arquitetura distribuída falhasse.

Em uma arquitetura de Microsserviços, isso não acontece ou acontece com menores proporções de problemas, pois cada parte está desacoplado do sistema como um todo.

Um Microsserviço é totalmente desacoplado de outros Microsserviços e não compartilha infraestrutura como banco de dados, servidor de arquivos e container de aplicação.

Quando um dos Microsserviços é desativado, a aplicação continua funcionando.

Isso acontece pois todos os Microsserviços são independentes, sem nenhuma dependências entre eles.

Vantagens e desvantagens utilizando Microsserviços.

As vantagens de se utilizar Microsserviços a uma aplicação distribuída ou monolítica além da apresentada no tópico anterior são:

  • Escalabilidade: por ser totalmente independente cada componente, escalar a aplicação fica muito fácil;
  • Liberdade: Cada Microsserviço pode utilizar a tecnologia certa para resolver determinado tipo de problema;
  • Facilidade na depuração: por ser pequenas aplicações, testar e depurar fica mais fácil do que testar uma grande aplicação;

Mas existem desvantagens também, seguem algumas:

  • A infraestrutura fica mais cara e precisa de mais treinamento;
  • Se utilizar tecnologias diferentes é preciso que todo time esteja treinado e engajado no projeto como um todo.

Conclusão.

Utilizar Microsserviços somente por ser uma novidade não é uma boa ideia, utilizar Microsserviços envolvem uma série de questões que devem ser analisados. Com essa análise as vezes pode ser melhor construir uma aplicação distribuída ou monolítica.