Uma Introdução à Mesosfera

o Que é Mesosfera

Mesosfera é uma solução de software que expande o cluster de gestão de recursos do Apache Mesos com componentes adicionais para fornecer uma nova maneira de gerenciar infraestruturas de servidor. Ao combinar vários componentes com Mesos, como Marathon e Chronos, a mesosfera permite uma maneira de escalar aplicações facilmente abstraindo muitos dos desafios associados à escala.

mesosfera fornece características como programação de aplicações, escala, tolerância a falhas e auto-cura. Ele também fornece descoberta de serviços de Aplicação, Unificação de portos e elasticidade ponto final.

para dar uma melhor idéia de como a mesosfera fornece as características acima mencionadas, vamos explicar brevemente o que cada componente chave da mesosfera faz, começando com o Apache Mesos, e mostrar como cada um é usado no contexto da mesosfera.

a Basic Overview of Apache Mesos

Apache Mesos is an open source cluster manager that simplifies running applications on a scalable cluster of servers, and is the heart of the Mesosphere system.

Mesos oferece muitas das características que você esperaria de um gerenciador de clusters, tais como:

  • Escalabilidade para mais de 10.000 nós
  • Recurso de isolamento de tarefas através de Contêineres Linux
  • Eficiente da CPU e da memória de reconhecimento de agendamento de recursos
  • Altamente disponível mestre através do Apache ZooKeeper
  • INTERFACE de usuário da Web para monitorizar o estado do cluster

Mesos Arquitetura

Mesos tem uma arquitetura que é composto de mestre e escravo daemons, e as estruturas. Aqui está uma rápida repartição destes componentes, e alguns termos relevantes:

  • Master daemon: executa num nó mestre e gere servidores escravos
  • Slave daemon: executa em um nó mestre e executa tarefas que pertencem a frameworks
  • Framework: também conhecido como uma aplicação Mesos, é composto por um scheduler, que se registra com o mestre para receber ofertas de recursos, e um ou mais executores, que lança tarefas em escravos. Exemplos de frameworks Mesos incluem Marathon, Chronos e Hadoop
  • : uma lista de CPU disponível de um nó escravo e recursos de memória. Todos os nós escravos enviam ofertas para o mestre, e o Mestre oferece ofertas para frameworks registrados
  • tarefa: uma unidade de trabalho que é programada por um framework, e é executada em um nó escravo. Uma tarefa pode ser qualquer coisa a partir de um bash comando ou script, para uma consulta SQL, para um trabalho do Hadoop
  • Apache ZooKeeper: software que é usado para coordenar a nós principais

Mesos Arquitetura

Nota: “ZK” representa ZooKeeper neste diagrama.

esta arquitetura permite que Mesos compartilhe os recursos do cluster entre as aplicações com um alto nível de granularidade. A quantidade de recursos oferecidos a um determinado framework é baseada na política definida no mestre, e o Scheduler do framework decide qual das ofertas a usar. Uma vez que o framework scheduler decide quais ofertas ele quer usar, ele diz a mesa quais tarefas devem ser executadas, e mesa lança as tarefas sobre os escravos apropriados. Depois que as tarefas são concluídas, e os recursos consumidos são liberados, o ciclo de oferta de recursos se repete para que mais tarefas possam ser programadas.

alta disponibilidade

alta disponibilidade de mestres de mesa em um aglomerado é permitido através do uso do tratador de Zoológico Apache para replicar os mestres para formar um quórum. ZooKeeper também coordena a eleição de líder mestre e lida com a detecção de líder entre os componentes de mesa, incluindo escravos e estruturas.

pelo menos três nós principais são necessários para uma configuração altamente disponível-uma configuração mestre de três permite que quórum seja mantido no caso de uma falha de um único mestre–mas cinco nós principais são recomendados para um ambiente de produção resiliente, permitindo que quórum seja mantido com dois nós Mestre offline.

para mais informações sobre Apache mesa, visite a sua página de documentação oficial.

a Basic Overview of Marathon

Marathon is a framework for Mesos that is designed to launch long-running applications, and, in Mesosphere, serves as a replacement for a traditional init system. Ele tem muitas características que simplificam a execução de aplicações em um ambiente de cluster, tais como alta disponibilidade, restrições de nós, verificações de saúde de aplicação, uma API para scriptabilidade e descoberta de serviço, e uma interface fácil de usar web usuário. Ele adiciona suas capacidades de escala e auto-cura para o conjunto de recursos da mesosfera.

Marathon pode ser usado para iniciar outros frameworks Mesos, e também pode lançar qualquer processo que pode ser iniciado no shell regular. Como ele é projetado para aplicações de longa duração, ele vai garantir que as aplicações que ele lançou vai continuar em execução, mesmo se o nó escravo(s) que eles estão rodando em falha.

para mais informações sobre Marathon, visite a sua página GitHub.

a Basic Overview of Chronos

Chronos is a framework for Mesos that was originally developed by Airbnb as a replacement for cron. Como tal, é um agendador totalmente caracterizado, distribuído e tolerante a falhas para Mesos, o que facilita a orquestração de trabalhos, que são coleções de Tarefas. Ele inclui uma API que permite scripting de tarefas de agendamento, e uma interface web para facilidade de uso.na mesosfera, Chronos complementa maratona, pois fornece outra forma de executar aplicações, de acordo com um cronograma ou outras condições, tais como a conclusão de outro trabalho. Ele também é capaz de agendar trabalhos em múltiplos nós escravos Mesos, e fornece estatísticas sobre fracassos de trabalho e sucessos.

para mais informações sobre Chronos, visite a sua página GitHub.

a Basic Overview of HAProxy

HAProxy is a popular open source load balancer and reverse proxying solution. Ele pode ser usado na mesosfera para encaminhar o tráfego de rede de hosts conhecidos, tipicamente mestres Mesos, para os Serviços reais que estão rodando em nós escravos Mesos. As capacidades de descoberta de serviços do Mesos podem ser usadas para configurar dinamicamente o HAProxy para encaminhar o tráfego de entrada para os nós de escravos da infra-estrutura adequada.para mais informações sobre as capacidades gerais do HAProxy, consulte a nossa introdução ao HAProxy.

Conclusão

Mesosfera emprega infra-estrutura de servidor de paradigmas que pode parecer estranha, que foi projetado com um forte foco em cluster e escalabilidade, mas espero que agora você tem um bom entendimento de como ele funciona. Cada um dos componentes em que se baseia fornece soluções para problemas que são comumente enfrentados ao lidar com a clustering e dimensionamento de uma infra-estrutura de servidor, e Mesosphere tem como objetivo fornecer uma solução completa para essas necessidades.

Agora que você conhece o básico da mesosfera, confira o próximo tutorial nesta série. Vai ensinar – te a montar um aglomerado de mesosfera pronto para produção no Ubuntu 14.04!

Deixe uma resposta

O seu endereço de email não será publicado.