Microsoft Orleans 3.0
Publicado em: quinta-feira, 31 de out de 2019

Sobre esse lançamento vemos algumas novidades, mas eu não abordarei elas. Referenciarei alguns posts e apresentarei o projeto de demonstração que criei no github.

Ainda é cedo para aprofundar no tema e lançar um texto profundo sobre Orleans. Além disso acabaria floodando o assunto pois já tem uma galera atuando em Actor Models.

Actor models é um tema novo pra mim, mas o que me chama a atenção é a capacidade de hospedar componentes remotos. Isso me faz querer entender como e quais tecnologias e recursos estão envolvidos nessa tarefa. É o mesmo motivo que me fez fazer uma análise sobre o recém lançado Dapr.

Microsoft Orleans é uma implementação de Actor Model feito pela Microsoft e um dos seus principais cases é a franquia de jogos Halo. Você encontra uma lista de projetos que usa Microsoft Orleans em Who Is Using Orleans?.

Quem anda falando de .NET e Actor Models aqui no 🇧🇷 ?

Elemar aborda em

REACTIVE MESSAGING PATTERNS WITH THE ACTOR MODEL em 23/Agosto/2019

SIMPLIFICANDO SISTEMAS CONCORRENTES E DISTRIBUÍDOS COM MODELO DE ATORES em 28/Agosto/2019

Alexandre Brandão Lustosa

também aborda o Akka.NET no .NET Inside

Luis Antonio Adolphs Junior

anunciou no grupo de arquitetura a vinda do Akka para o .NET Standard em 27/Maio/2017

Eu, Luiz Carlos Faria

trouxe o tema para discussão em 28/fev/2018 e 15/Abril/2017

Mas o que me motivou a tocar no assunto?

A live do Fabio Gouw (GitHub | Linkedin) no Canal .NET, onde tirei uma dezena de dúvidas me ajudou no interesse pelo Microsoft Orleans.

A live foi fantástica, teve a presença de Magoo, vulgo Alexandre Costa. Onde debatemos sobre o assunto.

O que me motivou a escrever esse post e criar um projeto no GitHub foi a possibilidade de Dockenizar esse projeto e trazer para a realidade dos containers.

Para isso foi necessário realizar análises da documentação e do projeto fabiogouw/OrleansDemo do Fabio que usei para entender algumas decisões.

Meu principal objetivo era trazer para o jogo elementos como Consul, comum no papel de service discovery. Usar uma persistência em um NoSQL como o MongoDB. Isso porque a estrutura de dados do Orleans não tem dependências com modelos relacionais, portanto poderia usar o MongoDB que se encaixa perfeitamente a esse cenário.

Assim nasce luizcarlosfaria/microsoft-orleans-demo um seed project (projeto semente) beeeem divertido.

Microsoft Orleans 3.0 on .NET Core 3 – Seed project

Features

Silo e Cliente executando 100% configurados e rodando com Containers Docker

Tanto o Silo quando o Cliente são aplicações .NET Core 3.0 rodando em containers docker no Linux.

Persistência de Grains no MongoDB

1 Pré-configurado com persistência de Grains direto no MongoDB 4.2.

Service/Silo Discovery (clustering) com Consul

Hashicorp Consul pré-configurado para trabalhar como Discovery para os Silos.

Integrado ao Visual Studio

Clone, Play & Debug! Tudo integrado ao Visual Studio, pronto para debug.

Todos os serviços são hospedados e gerenciados com Docker Compose

O stack é todo implantado com Docker Compose, integrado ao Visual Studio.

Dashboard integrado

Dashboard Configurado e Integrado à Solução

alt text

Requisitos

  • Visual Studio 2019
  • .NET Core 3.0 SDK
  • Docker e Docker Compose

Get Started

Faça o clone do projeto.

Abra a solução ./gaGO.io.MicrosoftOrleansDemo.sln.

Sete o projeto docker-compose como startup project.

Pressione F5.

Conclusão

Orleans e Actor Models são assuntos fantásticos, já tem bastante gente falando sobre o tema.

Por hora, você já tem 2 exemplos bem legais (o meu e o do Fabio) para testar e ver como as coisas funcionam.

Não deixe de marcar o projeto no GITHUB com estrela e colocar na sua watch list para poder receber notificações sobre as evoluções do projeto.

UPDATE 1

Dica do CR (@Crsxx no telegram)!

Um vídeo com “Hewitt é o idealizador do actor model, Meijer é uma das cabeças por trás do LINQ e Reactive Extensions”.

Hewitt, Meijer and Szyperski: The Actor Model (everything you wanted to know, but were afraid to ask)

Luiz Carlos Faria

Mensagem do Autor

Espero que goste desse post. Não deixe de comentar e falar o que achou. 

Se acha que esse post pode ajudar alguém que você conheça, compartilhe!

 

Eventos passados

agosto 2020
julho 2020
Nenhum evento encontrado!
Carregar Mais

Publicidade

Assine

0 comentários

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Lives

Fique de olho nas lives

Fique de olho nas lives no meu canal do Youtube, no Canal .NET e nos Grupos do Facebook e Instagram.

Aceleradores

Existem diversas formas de viabilizar o suporte ao teu projeto. Seja com os treinamentos, consultoria, mentorias em grupo.

Agenda & Eventos

agosto

setembro 2020

outubro
DOM
SEG
TER
QUA
QUI
SEX
SAB
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
Eventos para setembro

1st

Sem Eventos
Eventos para setembro

2nd

Sem Eventos
Eventos para setembro

3rd

Sem Eventos
Eventos para setembro

4th

Sem Eventos
Eventos para setembro

5th

Sem Eventos
Eventos para setembro

6th

Sem Eventos
Eventos para setembro

7th

Sem Eventos
Eventos para setembro

8th

Sem Eventos
Eventos para setembro

9th

Sem Eventos
Eventos para setembro

10th

Sem Eventos
Eventos para setembro

11th

Sem Eventos
Eventos para setembro

12th

Sem Eventos
Eventos para setembro

13th

Sem Eventos
Eventos para setembro

14th

Sem Eventos
Eventos para setembro

15th

Sem Eventos
Eventos para setembro

16th

Sem Eventos
Eventos para setembro

17th

Sem Eventos
Eventos para setembro

18th

Sem Eventos
Eventos para setembro

19th

Sem Eventos
Eventos para setembro

20th

Sem Eventos
Eventos para setembro

21st

Sem Eventos
Eventos para setembro

22nd

Sem Eventos
Eventos para setembro

23rd

Sem Eventos
Eventos para setembro

24th

Sem Eventos
Eventos para setembro

25th

Sem Eventos
Eventos para setembro

26th

Sem Eventos
Eventos para setembro

27th

Sem Eventos
Eventos para setembro

28th

Sem Eventos
Eventos para setembro

29th

Sem Eventos
Eventos para setembro

30th

Sem Eventos
Share This