Envio de solicitação baseada em sessão ZeroMQ ou roteamento condicional

ovanos

Estou tentando resolver o seguinte problema e gostaria de saber qual é a melhor abordagem a ser aplicada?

Eu gostaria de configurar uma comunicação com controle de versão via ZeroMQ, o que efetivamente significa que qualquer cliente primeiro faz um handshake declarando a versão de seu protocolo de mensagens e, em seguida, todas as solicitações subsequentes são encaminhadas apenas para um conjunto específico de trabalhadores, ou seja, aqueles que podem entender isso protocolo.

Vi o exemplo do Roteador / Concessionário mas aí o encaminhamento ocorre sempre para todos os trabalhadores.

IMO, isso é algo como uma sessão, que é estabelecida com base em handshake e todas as solicitações futuras são feitas em um contexto específico. Isso pode ser feito com ZeroMQ?

Eu entendo que posso devolver algum ID ao cliente e pedir que ele coloque em todas as solicitações futuras, mas gostaria de evitar esse tipo de intromissão.

Apenas uma observação lateral: eu implemento essa abordagem em C ++. Não me importo se sua resposta representa uma ideia geral, levando em consideração os recursos disponíveis na API C ZeroMQ ou no wrapper cppzmq. Não há necessidade de escrever uma solução completa, apenas como isso pode ser feito.

user3666197

Sim, isso parece factível:

Com todo o respeito para não entrar na sinalização "dentro da banda" por meio de processamento de mensagem de ID / multiparte, pode-se construir a infraestrutura desejada usando uma mistura de uso estático e dinâmico de recursos ZeroMQ no estado em que se encontram.

Etapa 0: sua autoridade central lida com o contato / handshaking / validação de identidade do "cliente" inicial
Etapa 1: cada "cliente" recebe um conjunto de instruções, conforme sua identidade / versão é aprovada, com base em 0)
Etapa 2: instrução ad-hoc " cliente "pode { .connect() | .bind() }com ponto de acesso apropriado
Etapa 3: como um bônus de arquitetura, isso pode ser apreciado como plataforma distribuída com renegociação (ões) e redescoberta de nós para cenários ainda mais robustos, escaláveis ​​de desempenho e elevada segurança

Nossa própria imaginação é o único teto:

Em poucas palavras, pode-se esquecer logo os Padrões de Comunicação Formais Escaláveis ​​padrão; eles servem como um conjunto de blocos de construção para arquiteturas definidas ad-hoc. Esse é o maior poder do ZeroMQ ou nanomsg de realizar.

insira a descrição da imagem aqui

Pode ler mais sobre casos de uso avançados neste (e verificar o livro lá ...) .

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Envio de solicitação baseada em sessão ZeroMQ ou roteamento condicional

Validação de campo condicional baseada em prop booleana

Criação de dataframe condicional baseada em índice

Criação de dataframe condicional baseada em índice

Como posso criar uma identidade de usuário baseada em sessão ou cookie no Django?

Formatação condicional baseada em linhas semelhantes

Excel: formatação condicional baseada em intervalos

Formatação condicional baseada em listas

Formatação condicional baseada em outro intervalo

Impressão condicional baseada no conteúdo do array em bash ou awk

Sessões de autenticação baseada em tokens

Como lidar com o roteamento condicional ou a navegação de componentes sem o roteador React

Roteamento de URL dinâmico para uma visão baseada em classe

divisão condicional baseada em nomes de coluna, mas não em valores

Autenticação baseada em sessão Golang

Como rastrear o processo de solicitação ao usar NIO ou estrutura baseada em eventos como Netty

Formatação condicional baseada em pares de células em planilhas diferentes

Obtenção da etiqueta de envio por meio da API baseada em contrato

Formatação condicional baseada em dados em outra planilha Excel

Divisão regex baseada em condicional em python

Roteamento condicional em $ state.go e chamar o método de edição angularjs

Renderização condicional baseada em função assíncrona

Associação SQL condicional baseada em contagem e exclusão

Renderização condicional baseada em função assíncrona

Propriedade de classe de transição condicional dinâmica baseada em Prop no Vue - é mesmo possível?

Tabela dinâmica de formatação condicional baseada em cabeçalhos de coluna dinâmica

Solicitação de aprovisionamento atrasada ou falha no envio

ColdFusion usando if condicional dentro de uma função cfc baseada em script

Precisa de uma declaração condicional para preencher uma coluna baseada em uma string