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 / dba / Perguntas / 2285
Accepted
kacalapy
kacalapy
Asked: 2011-04-21 08:00:50 +0800 CST2011-04-21 08:00:50 +0800 CST 2011-04-21 08:00:50 +0800 CST

Qual é o melhor paradigma ou padrão de design para manipulação de exceção em um aplicativo da Web orientado a banco de dados de missão crítica?

  • 772

Eu quero projetar um aplicativo da Web baseado em banco de dados à prova de balas, tolerante a falhas e queria saber como arquitetá-lo.

o sistema terá uma interface do usuário asp.net, camada intermediária de serviços da web e back-end SQL2005. A interface do usuário e os serviços se comunicarão usando chamadas JSON.

Eu queria saber como garantir que as transações sejam confirmadas e se não for para qualquer erro aparecer e ser registrado. idealmente, a ação deve ser repetida algumas vezes após intervalos de 5 minutos, como faz um aplicativo de e-mail.

Eu estava planejando usar blocos try catch no SQL e queria saber como seria a interface (ou contrato, se preferir) entre os procedimentos armazenados do SQL e os serviços que os chamam. esta interface irá desempenhar 2 funções uma delas é passar parâmetros para que o proc funcione e retorne os resultados esperados. o próximo será para o proc retornar informações de erro. talvez algo como número de erro e mensagem de erro.

meu pântano é como estruturar isso de forma inteligente para que os serviços esperem e reajam de acordo com os dados e informações de erro retornados de procs e lidem com cada um de acordo?

existe uma estrutura para isso porque parece muito clichê?

sql-server-2005 database-design
  • 1 1 respostas
  • 305 Views

1 respostas

  • Voted
  1. Best Answer
    Gaius
    2011-04-21T08:28:20+08:002011-04-21T08:28:20+08:00

    É claro! Como a maioria dos problemas interessantes em aplicativos de missão crítica, isso foi realmente resolvido pela IBM na década de 1970, mas a indústria de TI está sempre perseguindo a novidade mais brilhante e não tem respeito pelos grandes engenheiros do passado. Refiro-me, é claro, ao middleware orientado a mensagens ou, como era conhecido na época, TPF . O princípio disso é realmente muito simples e foi comprovado repetidamente por bancos, companhias aéreas, empresas de telecomunicações, etc.

    As operações fundamentais são colocar uma mensagem na fila e retirar uma mensagem da fila. Portanto, quando seu aplicativo precisa fazer algum trabalho, ele o empacota como uma mensagem e o coloca na fila para o próximo serviço. O TPM então desenfileira essa mensagem e tenta fazer o trabalho nela. Se isso falhar, a mensagem simplesmente volta para a fila para ser tentada novamente e, se continuar a falhar, é desviada para a fila que lida com falhas. O barramento de mensagens também lida com roteamento, balanceamento de carga e todas essas coisas boas. Você pode comprar esses recursos na prateleira: MQSeries e Tibco Rendezvous são os "sérios", mas existem muitos outros por aí, muitos dos quais são compatíveis com JMSportanto, você não está vinculado a um fornecedor (é claro que, se você for JMS, também estará vinculado ao menor denominador comum). Você especifica seu barramento de mensagens para ser ultraconfiável e tolerante a falhas, depois apenas pendura os serviços na parte de trás dele e coloca seu aplicativo na frente. SOA é outro exemplo de uma ideia antiga que foi reaquecida com novas palavras-chave...

    • 4

relate perguntas

  • Como altero o nome da instância no MS SQL 2005 sem instalar uma nova instância?

  • É melhor armazenar os valores calculados ou recalculá-los a pedido? [duplicado]

  • Armazenar vs calcular valores agregados

  • Quais são algumas maneiras de implementar um relacionamento muitos-para-muitos em um data warehouse?

  • Downgrade do SQL Server 2008 para 2005

Sidebar

Stats

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

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como você mostra o SQL em execução em um banco de dados Oracle?

    • 2 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Posso ver Consultas Históricas executadas em um banco de dados SQL Server?

    • 6 respostas
  • Marko Smith

    Como uso currval() no PostgreSQL para obter o último id inserido?

    • 10 respostas
  • Marko Smith

    Como executar o psql no Mac OS X?

    • 11 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Marko Smith

    Passando parâmetros de array para um procedimento armazenado

    • 12 respostas
  • Martin Hope
    Manuel Leduc Restrição exclusiva de várias colunas do PostgreSQL e valores NULL 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler Quando uma chave primária deve ser declarada sem cluster? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - Qual é melhor como chave primária? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick Como posso otimizar um mysqldump de um banco de dados grande? 2011-01-04 13:13:48 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

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