O que são “continuações do Jetty 6” e como elas se comparam às continuações encontradas nas linguagens de programação?

StackOverflow https://stackoverflow.com/questions/1204355

  •  05-07-2019
  •  | 
  •  

Pergunta

Estou procurando uma resposta que descreva um mecanismo de "continuação" em um servidor da web versus uma linguagem de programação.

Meu entendimento é que, usando continuações, é trivial ter um produtor de "dígitos do PI" se comunicar com um consumidor "dígitos do pi", sem rosqueamento explícito.

Eu ouvi coisas muito boas sobre continuações de cais. Estou curioso para saber o que os outros pensam.

Talvez eu já tenha encontrado minha resposta, mas estou fazendo a pergunta aqui de qualquer maneira - para o registro.

Foi útil?

Solução

Como eles se comparam às continuações encontradas nas linguagens de programação?

Eles não têm nada em comum além do nome. É apenas um mecanismo para libertar o tópico atual, dando Servlet Uma API para armazenar e restaurar seu estado, mas tudo é gerenciado manualmente, em oposição às continuações reais, onde o estado é automaticamente inferido a partir do contexto atual.

O exemplo prototípico para casos em que isso faz sentido é em camadas (composto) Serviços da Web, onde um serviço precisa fazer muitas solicitações a outros serviços e, embora essas solicitações sejam feitas, o thread atual é liberado. Após as conclusões dos pedidos (que podem ser feitos de forma assíncrona em alguns outros tópicos), o servlet's resume O método é chamado, que montará a resposta dos resultados das solicitações.

Outras dicas

De acordo com isso página:

As continuações serão substituídas por solicitações suspensas do servlet-3.0 padrão assim que a especificação for finalizada. As primeiras liberações do Jetty-7 estão agora disponíveis que implementam a API de suspensão/currículo padrão proposta

Ainda não usei o Jetty, mas parece que, com as continuações, o servidor não é obrigado a manter um segmento para cada cliente onde normalmente quando o servidor está "adiando" (acho que bloqueando) ao enviar uma resposta a um cliente que continuamente as pesquisas Com o Ajax, precisaria de um encadeamento para cada cliente, o que seria um problema de escalabilidade.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top