none
arquitetura de um software para criação de rede social RRS feed

  • Pergunta

  • Olá!  gostaria de saber como seria uma arquitetura de software para um rede social. Neste caso, qual seria o melhor estilo arquitetural a ser usado?
    sábado, 10 de outubro de 2009 14:27

Respostas

  • Redes sociais são baseadas em conteúdos não estruturados ou semi-estruturados postados na web e apresentados por páginas ASP.Net/Ajax, Silverlight, PHP ou outro.
    Se você pensa em blogs, existem muitos softwares abertos ou exemplos para olhar. Normalmente você precisa de uma estrutura de memória que armazene um volume alto de dados e que consiga fazer referências a links, imagens, etc.
    Se você espera um número de usuários muito alto, noa parte do seu projeto deve ser o planejamento para alcançar escalabilidade, com por exemplo:
        - arquitetura sem estados (stateless)
        - não afinidade (arquivos de registry, endereços físicos, etc);
        - memória replicável, particionável e escalável;
    Sugiro você dar uma olhada na arquitetura do Azure (www.azure.com ou no dev center do Azure). Os tipos de dados Table, Blob e Queue são bons exemplos de uma infra-estrutura para um aplicativo Web 2.0 para milhões de usuários.
    '
    Ah, e é claro, existem vários outros pontos: segurança, personalização, add-ins para as páginas, propaganda, tagging, etc.

    E lembre-se, eventualmente a infraestrutura que você quer pode já ter sido feita: SharePoint, produtos de terceiros e códigos abertos (codeplex) podem ter ou fazer algo muito perto do que você precisa.

    Abraços
    Otavio
    • Sugerido como Resposta DiegoBlanco quarta-feira, 3 de março de 2010 17:17
    • Marcado como Resposta DiegoBlanco quinta-feira, 11 de março de 2010 13:07
    quinta-feira, 15 de outubro de 2009 16:52

Todas as Respostas

  • Redes sociais são baseadas em conteúdos não estruturados ou semi-estruturados postados na web e apresentados por páginas ASP.Net/Ajax, Silverlight, PHP ou outro.
    Se você pensa em blogs, existem muitos softwares abertos ou exemplos para olhar. Normalmente você precisa de uma estrutura de memória que armazene um volume alto de dados e que consiga fazer referências a links, imagens, etc.
    Se você espera um número de usuários muito alto, noa parte do seu projeto deve ser o planejamento para alcançar escalabilidade, com por exemplo:
        - arquitetura sem estados (stateless)
        - não afinidade (arquivos de registry, endereços físicos, etc);
        - memória replicável, particionável e escalável;
    Sugiro você dar uma olhada na arquitetura do Azure (www.azure.com ou no dev center do Azure). Os tipos de dados Table, Blob e Queue são bons exemplos de uma infra-estrutura para um aplicativo Web 2.0 para milhões de usuários.
    '
    Ah, e é claro, existem vários outros pontos: segurança, personalização, add-ins para as páginas, propaganda, tagging, etc.

    E lembre-se, eventualmente a infraestrutura que você quer pode já ter sido feita: SharePoint, produtos de terceiros e códigos abertos (codeplex) podem ter ou fazer algo muito perto do que você precisa.

    Abraços
    Otavio
    • Sugerido como Resposta DiegoBlanco quarta-feira, 3 de março de 2010 17:17
    • Marcado como Resposta DiegoBlanco quinta-feira, 11 de março de 2010 13:07
    quinta-feira, 15 de outubro de 2009 16:52
  • Olá Simonenara,

    Se você pensa em um site que faz várias e várias pesquisas, aconselho utilizar o Memcache ele em resumo é como um serviço que armazenas as suas consultas ou qualquer coisa na memória do servidor ele foi "desenvolvido" para armazenar, cachear os dados na memória, feito para aumentar os dados de sites dinamicos.

    O site oficial do produto é: http://www.danga.com/memcached/

    Lá verás alguns clientes como Youtube, Flickr, etc...

    Vale a pena dar uma conferida.


    Abraço, Espero ter ajudado. Caso sim, marque-a como tal.
    segunda-feira, 10 de maio de 2010 03:00