Como usar kafka e storm em cloudfoundry?

quero saber se é possível executar o kafka como uma aplicação nativa da nuvem, e posso criar um cluster kafka como um serviço em serviços web fundamentais. Eu não quero apenas integração de clientes, eu quero executar o cluster/serviço kafka em si?

Obrigado., Anil

Author: Amit Kumar Gupta, 2016-01-12

2 answers

Posso apontar - lhe alguns pontos de partida, haveria algum trabalho envolvido para passar desses pontos de partida para algo totalmente funcional.

Uma opção é implantar o aglomerado de kafka na Fundição em nuvem (por exemplo, Serviços Web fundamentais) utilizando imagens do acoplador. O Spotify atracou o kafka e o kafka-proxy (incluindo o guardião do Jardim zoológico). Uma coisa a ter em mente é que o PWS atualmente não suporta aplicativos com persistência (embora Este trabalho está começando ) Então, se você fosse nesta rota agora, você perderia os dados em kafka quando a aplicação é rolada. Olhando para o repo Spotify, parece que as imagens do acoplador são geralmente executadas sem quaisquer volumes montados, de modo que este persistência-menos kafka parece que pode ser um caso de uso válido (Eu não sei o suficiente sobre kafka para dizer).

A outra opção é implantar o kafka directamente em alguns IaaS (por exemplo, AWS) utilizando BOSH. BOSH pode ser difícil se você está vendo pela primeira vez, mas é a maneira ideal para implantar qualquer software distribuído que você quer executar em VMs. Você também será capaz de ter volumes persistentes anexados ao seu VMs kafka, se necessário. Aqui está uma versão de Kafka BOSH {[6] } que pode funcionar.

Uma vez que você tenha seu cluster funcionando, você tem duas maneiras de integrar suas aplicações de fundição em nuvem com ele. O mais simples é apenas fornecê-lo às suas aplicações como um "serviço fornecido pelo utilizador", o que lhe permite transferir informações de acesso ao cluster do kafka para as suas aplicações. A alternativa seria para colocar um corretor de serviços na frente do seu cluster, o que seria especialmente útil se você tivesse muitas pessoas diferentes que estarão empurrando aplicativos que precisam falar com o cluster kafka. Em vez de você ter que dizer manualmente as pessoas a informação de acesso de cada vez, eles podem fazer algo simples como {[[0]}. Aqui está um Corretor de serviços kafka juntamente com mais informações sobre corretores de serviços em geral .
 4
Author: Amit Kumar Gupta, 2016-01-13 01:47:48

De acordo com a descrição da aplicação de 12 factores ( https://12factor.net/processes ), O Kafka não deve ser executado como uma aplicação no topo da fundição na nuvem:

Os processos de doze factores são apátridas e não partilham nada. Todos os dados que precisam persistir devem ser armazenados em um serviço de suporte stateful, tipicamente um banco de dados.

Kafka é muitas vezes considerado um "diário de commit distribuído" e como tal transporta uma grande quantidade de Estado. Muitas empresas usam-no para manter todos os eventos fluindo através de seu sistema distribuído de micro-serviços por um longo (às vezes ilimitado) período de tempo.

Por isso, recomendo vivamente que optem pela segunda opção na resposta aceite: os tópicos do Kafka devem estar ligados às suas aplicações sob a forma de serviços de Estado.

 0
Author: user152468, 2018-08-24 11:01:31