Casa > Q > Quais São Os Inconvenientes De Usar As Apis Restful?

Quais são os inconvenientes de usar as APIs RESTful?

REST é uma abordagem arquitetônica e significa que um sistema RESTful tem as seguintes propriedades:

  • É cliente/servidor: a lógica do negócio é desacoplada da apresentação. Assim você pode mudar uma sem impactar a outra. Os contras, ele adiciona latência insignificante, mas quem se importa, a web é a plataforma e tudo é cliente/servidor.
  • li> É stateless: Todas as mensagens trocadas entre cliente e servidor têm todo o contexto necessário para saber o que fazer com a mensagem. Esta visibilidade tem vários benefícios: você pode encaminhar uma mensagem para onde quiser, dependendo do seu conteúdo e qualquer servidor pode atender a um pedido. Assim, basta escalar o seu servidor, criando várias instâncias do mesmo. Você não precisa de enviar todas as mensagens do mesmo cliente ou utilizador para o mesmo servidor. E se você quiser super ajustar o backend, você pode rotear mensagens para servidores diferentes, dependendo da mensagem. Por exemplo, ter uma requisição intensiva de CPU para um servidor e uma requisição intensiva de memória para outro. Os contras: o cliente está a enviar todas as mensagens com informação redundante. Isto adiciona largura de banda e novamente, latência negligenciável.
  • É cacheável, então se você estava preocupado com a latência você salva as respostas de cache de largura de banda do servidor.
  • Tem uma interface uniforme baseada em hipermídia (você sabe, aquela coisa do HATEOAS). O melhor disto é que você pode melhorar muito a desacoplamento entre cliente e servidor. Se as respostas do servidor contêm hipermídia para todos os recursos referenciados e ações disponíveis dentro do contexto do último pedido, o cliente não precisa saber muito sobre o servidor, mas um ponto de entrada e algumas convenções sobre a hipermídia. Implementado corretamente, você poderia mudar muitas coisas no lado do servidor sem reescrever uma única linha no cliente.
  • E finalmente, it's em camadas, como uma cebola. Você pode colocar várias camadas de componentes entre cliente e servidor, para fins de roteamento, balanceamento de carga, cache ou o que você precisar. Claro que adiciona latência mas também muita flexibilidade. E se você mudar uma camada, apenas a camada anterior pode ser impactada, então a propagação de efeitos de mudança é limitada.

Em geral os únicos contras estão relacionados à latência nos tempos de processamento de pedidos e uso de largura de banda. Mas é uma grande arquitetura de propósito geral que proporciona:
<

>ul>< grande flexibilidade<baixo custo de manutenção<alta escalabilidadesimplicidade

De Nevil Juul

O que é uma vida de ritmo acelerado? :: Como fugir de uma casa de crianças no Reino Unido e não ser pego