AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 829961
Accepted
George Green
George Green
Asked: 2017-02-02 10:11:10 +0800 CST2017-02-02 10:11:10 +0800 CST 2017-02-02 10:11:10 +0800 CST

Como inscrever uma instância específica dentro de um aplicativo elastic beanstalk para um tópico do SNS?

  • 772

Ok, então eu tenho um aplicativo de pé de feijão elástico com uma camada da Web escalável, servido por trás de um ELB. Para encurtar a história, preciso ser capaz de inscrever uma instância específica em minha camada da Web para um tópico do SNS. É seguro para mim usar um método padrão para obter o endereço IP da instância (conforme detalhado em python aqui Como posso obter o endereço IP de eth0 em Python?) E simplesmente assinar um tópico SNS usando esse ip como um assinante http ?

Por quê? Boa pergunta...

Meu modelo de dados é composto de muitos objetos, muitos dos quais podem ter um conjunto anexado de usuários que podem querer observar esses objetos. Essa camada da web em meu aplicativo é responsável por manipular a interface de soquete (usando socket.io) para aplicativos cliente.

Quando um usuário é criado no sistema, também é criado um tópico SNS para o usuário, permitindo que notificações sejam enviadas para esse usuário quando um objeto em que está interessado é alterado. Da maneira que estou planejando configurar isso, um aplicativo cliente se conectará ao EB via socket.io, ponto em que a instância do servidor à qual ele se conectou se inscreverá no tópico SNS desse usuário. Então, quando um objeto interessante mudar, as notificações serão postadas nos tópicos do usuário associado, notificando assim a instância do servidor com a qual o aplicativo cliente tem uma conexão aberta, que pode enviar uma mensagem pelo soquete.

Acredito que seja importante que a instância específica seja inscrita em vez do CNAME ou ip externo da camada da web, pois o aplicativo cliente está conectado a uma instância específica e, portanto, apenas essa instância pode enviar mensagens por meio de seu soquete. Assinar o balanceador de carga não seria bom, pois a notificação pode ser entregue a uma instância à qual o usuário não está conectado.

Acredito que a pergunta no topo é tudo de que preciso, mas estou aberto a soluções criativas se meu raciocínio parecer falho?

amazon-web-services elastic-beanstalk amazon-sns
  • 1 1 respostas
  • 544 Views

1 respostas

  • Voted
  1. Best Answer
    Matt Houser
    2017-02-02T11:11:25+08:002017-02-02T11:11:25+08:00

    Essa arquitetura não é adequada para o seu caso de uso.

    1. A criação de um tópico SNS "por usuário" não será dimensionada,
    2. Ter suas instâncias de back-end do EC2 inscritas exige que essas instâncias de back-end do EC2 tenham endpoints públicos,
    3. À medida que as instâncias do EC2 são criadas e encerradas, as assinaturas obsoletas permanecerão e deverão ser gerenciadas/excluídas,
    4. Além disso, bloquear um usuário para uma instância específica do EC2 não funcionará bem se essa instância do EC2 for encerrada (devido à redução ou outra falha).

    Em vez disso, tente:

    1. Permita que as conexões do cliente se conectem ao balanceador de carga, o que permite que as conexões pulem instâncias do EC2 conforme necessário.
    2. Use outro mecanismo, como Redis pub/sub, para gerenciar a obtenção de mensagens para as instâncias do EC2 e, portanto, para os clientes.
    • 1

relate perguntas

  • CentOS relatando menor memória total em comparação com outros na AWS

  • Como posso atualizar para o Java 1.8 em um Amazon Linux Server?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve