Aprender Orleans 01 - Estudio

Orleans es la definición oficial de "multi-plataforma para la construcción de marco robusto, escalable, distribuida aplicación." Se trata de una aplicación .NET del modelo Actor.

En este capítulo se registra algunos conceptos básicos.

modelo de actor

modelo de actor no es un concepto nuevo, que propuso en 1973 por Carl Hewitt, informe técnico Gul Agha publicado en 1986, "Actores: Un Modelo de Computación Concurrente en Sistemas Distribuidos".

- https://blog.csdn.net/gulianchao/article/details/7249117

Actor modelo es un modelo conceptual para el tratamiento de cálculo concurrente. Se define un conjunto de normas comunes debe ser la forma de la acción y la interacción de los componentes del sistema, especialmente el uso de esta regla es el lenguaje de programación Erlang .

Se refiere a un actor es una unidad de cálculo básico. Se recibe un mensaje se realiza sobre la base de su cálculo.

Orientada a Objetos logra mediante la encapsulación de los métodos privados de la clase oculta, lo que permite llamadas sólo externos vías públicas a utilizar las clases. Este es el actor en la comprensión adicional dada. Actor llamadas externas sólo a través de mensajes y lograr Actor interna invisible Exteriores.

Caracterizado porque uno de los actores importantes de aislamiento entre los actores, que no comparten la memoria entre sí. Un actor puede mantener un estado privado, y este estado no puede ser cambiado por otro actor.

No hay suficiente luz un actor, un número de actores con el fin de compensar el sistema. En el modelo de actor el que cada actor tiene una dirección para que puedan enviar mensajes entre sí.

Actor procesa secuencialmente solamente un mensaje, que el mensaje se almacena por el buzón.

Actor concepto se ha aplicado a muchos idiomas y bibliotecas bien conocido, como Erlang y elixir, Akka (para la JVM) y el celuloide (para Ruby).

- https://www.jianshu.com/p/449850aa8e82

Orleans vs akka

Orleans a menudo comparado con akka, la principal diferencia entre ellos es:

  • El objetivo principal es simplificar Orleans Distributed Computing, y permite a los no expertos para escribir servicios distribuidos eficientes, escalables y fiables.
  • Akka es una herramienta para la construcción de sistemas distribuidos paquete, que tiene características de gran alcance, pero también expone la complejidad inherente del campo.

Ambos proyectos están destinados a ser una solución completa, lo que significa Orleans segunda prioridad es permitir a los usuarios con experiencia para controlar la plataforma con más detalle, y adaptarlo a una amplia gama de casos de uso, sino también mejorar el nivel de abstracción Akka y proporciona una abstracción simplificada pero muy útil.

Otra diferencia es la metodología de diseño:

  • Para Orleans, la pregunta guía es "para los no expertos, la más natural, el comportamiento más probable que por defecto es qué?" La segunda pregunta es cómo los expertos tomar sus propias decisiones.
  • Akka pregunta guía es "No podemos comprometer a proporcionar un mínimo de abstracción es lo que?" Esto significa que para nosotros, "Una buena configuración por defecto" no está determinado por los resultados deseados por el usuario, pero creemos que una vez que los usuarios cuándo va a entender el razonamiento abstracto sus programas lo más útil - no es una meta en sí misma conocida.

Para la gestión del ciclo de vida

  • Orleans granos sin ciclo de vida, no se puede iniciar o detener. Por lo tanto, no van a fallar y no puede ser reiniciado, por lo tanto Orleans no proporciona herramientas para la solución de problemas de software - Solución de problemas aspecto se centra en la recuperación de los accidentes de hardware.

    Por otro lado, "Grano * Activar" * tiene un ciclo de vida y el ciclo de vida de los correspondientes ganchos, los programadores pueden utilizar para reaccionar para activar o desactivar.

  • Akka Actor lograr un modelo completo, incluyendo la definición del principio y el final del ciclo de vida, que es una operación explícita. Los participantes de apoyo que duran para extender la vida útil de la unidad de cálculo de la lógica del ciclo de vida instancias de procesos que se ejecutan afuera. la recuperación del servicio de reinicio automático del actor proporciona un medio poderoso.

Se crea automáticamente

  • Granos Orleans se creará automáticamente cuando sea necesario, lo que significa que activa la inicialización debe tratarse con precaución con efecto visible externamente - método de interfaz explícita inicializa actividades tienen un efecto duradero debe ajustarse a las llamadas de los clientes. creado de forma automática para que los usuarios no tienen que tener en cuenta la necesidad de crear el grano.
  • Akka Actor creado explícitamente por sus padres, y los padres de supervisión obligatoria. Esto permite un control preciso de cuándo realizar la acción de inicialización y el tipo exacto de la creación actor.

......

Resumen y explicación

Aunque existe un cierto solapamiento lograr Orleans y Akka, pero está claro que ambos están llevando a cabo completamente diferentes objetivos:

  • Orleans ofrece un modelo de programación que se integran perfectamente en la metodología no distribuido y las habilidades del programador, se puede extender más allá del alcance de un solo ordenador, sin tener que lidiar con las aplicaciones difíciles de escritura distribuida. Esto se consigue al hacer un conjunto de opciones de implementación (por ejemplo, una solicitud basada en el estilo Tipo de respuesta y el uso de métodos convencionales tales como llamada al menos una vez entregado) y proporciona un conjunto de herramientas de usuario restringido, la selección se basa en el uso de estos sin comprensión la tecnología subyacente. Vemos todas las consecuencias pueden extraerse de lo anterior, incluyendo la falta de ciclo de vida del grano, que ha sido extraída.

  • Akka modelado de sistemas distribuidos (modelo Actor) proporciona un método muy simple y eficaz de la abstracción, y proporcionar a los usuarios las herramientas de bajo nivel y el método más abstracto. La idea es que el usuario debe ser consciente de la programación distribuida, con el fin de tomar sus propias decisiones para lograr el equilibrio,

- https://github.com/akka/akka-meta/blob/master/ComparisonWithOrleans.md

casos de uso con éxito

Juegos Xbox de Microsoft en varios back-end núcleo (Halo, Gears of War 4, y así sucesivamente) se logra a través de Orleans, que significa que se utiliza en el entorno de producción distribuida a gran escala está garantizada.
- https://www.zhihu.com/question/31472959

Recomendado Bowen:

https://www.cnblogs.com/sheng-jie/p/11163264.html
https://www.cnblogs.com/shanyou/p/4295523.html
https://www.cnblogs.com/ants/p/ 5122068.html
https://www.cnblogs.com/gaopang/p/7379759.html
https://www.cnblogs.com/jzfan/p/orleans_demo.html
https://www.cnblogs.com/amber-L /p/12015859.html
https://www.cnblogs.com/zapline/p/6721282.html
https://www.jianshu.com/p/449850aa8e82
https://blog.csdn.net/gulianchao/article/ detalles / 7249117

Información adicional:

https://dotnet.github.io/orleans/Documentation/index.html
https://github.com/akka/akka-meta/blob/master/ComparisonWithOrleans.md
https://www.brianstorti.com/the- actor y modelo /
https://en.wikipedia.org/wiki/Actor_model

Supongo que te gusta

Origin www.cnblogs.com/wswind/p/12549745.html
Recomendado
Clasificación