Estado do serviço
O estado do serviço refere-se aos dados na memória ou no disco que um serviço requer para funcionar. Ele inclui, por exemplo, as estruturas de dados e variáveis de membro que o serviço lê e grava para fazer o trabalho. Dependendo de como o serviço é arquitetado, ele também pode incluir arquivos ou outros recursos armazenados no disco. Por exemplo, os arquivos que um banco de dados usaria para armazenar dados e logs de transações.
Como exemplo de serviço, vamos considerar uma calculadora. Um serviço básico de calculadora pega dois números e devolve sua soma. A execução deste cálculo não envolve variáveis de membro ou outras informações.
Agora considere a mesma calculadora, mas com um método adicional para armazenar e devolver a última soma que ela calculou. Este serviço agora é stateful. Stateful significa que ele contém algum estado no qual ele grava quando calcula uma nova soma e lê a partir de quando você solicita que ele retorne a última soma calculada.
No Azure Service Fabric, o primeiro serviço é chamado de serviço sem monitoração de estado. O segundo serviço é chamado de serviço com monitoração de estado.
Armazenando o estado do serviço
O estado pode ser externalizado ou co-localizado com o código que está manipulando o estado. A externalização do estado normalmente é feita usando um banco de dados externo ou outro armazenamento de dados que é executado em máquinas diferentes pela rede ou fora do processo na mesma máquina. Em nosso exemplo de calculadora, o armazenamento de dados pode ser um banco de dados SQL ou uma instância do Repositório de Tabelas do Azure. Cada solicitação para calcular a soma executa uma atualização nesses dados e as solicitações ao serviço para retornar o valor resultam no valor atual que está sendo buscado no armazenamento.
O estado também pode ser co-localizado com o código que manipula o estado. Os serviços com estado no Service Fabric normalmente são criados usando esse modelo. O Service Fabric fornece a infraestrutura para garantir que esse estado seja altamente disponível, consistente e durável, e que os serviços criados dessa maneira possam ser facilmente dimensionados.
Próximos passos
Para obter mais informações sobre conceitos do Service Fabric, consulte os seguintes artigos: