Siege of Orleans (Andrey Chekh Technology Stream)
-
Upload
lviv-it-arena -
Category
Technology
-
view
202 -
download
0
Transcript of Siege of Orleans (Andrey Chekh Technology Stream)
Осада Орлеана построение распределенный приложений с использованием фреймворка Orleans на
платформе Azure
Андрей Чех
July 05, 2015
Распределенные приложения
2
CAP теорема
2
Техники репликации
2
Распространенные архитектуры:3-х уровневая
2
!!!
Распространенные архитектуры:SOA
2
???
Orleans модель
2
Основные понятия Orleans• Grains (virtual actors): stateless, stateful• Grain interfaces (contract)• Silos (grain hosting and execution)• Clients• Client observers
2
Grain• Существует всегда• Активируются автоматически• Существует везде• Масштабируется автоматически– только stateless worker activation mode (immutable or no state)
2
Grain interface, Grain reference
• Контракт взаимодействия между grains• C# interface• Все методы асинхронные (возвращают Task или Task<T>)
• Grain reference – прокси для взаимодействия с grain• Grain reference можно взять из фабрики, вернуть из метода, передать параметром
• Grain reference не требует явной привязки к активации grain
2
Promise, Turn• Все методы grains асинхронные: вызов метода не блокируется, возвращая Task<T>
• TPL и await• Все активации однопоточные• 1 ход – последовательность вызовов, которая приводит к завершенному результату
2
2
Инструменты
• Visual Studio 2013, .NET Framework 4.5• Azure SDK for .NET 2.4+ (optional)• Orleans SDK
2
Итого• Простой фреймворк для эффективной разработки распределенных приложений
• Не подходит для некоторых сценариев– переменная нагрузка с большим/малым количеством сущностей
– нет поддержки транзакций (между grain-ами)• at least once гарантия доставки сообщения (не at most once)
• Нет поддержки FIFO при передаче сообщений
2
Ссылки
• Github https://github.com/dotnet/orleans• Документация http://dotnet.github.io/orleans/
• Orleans в продакшн http://dotnet.github.io/orleans/Who-Is-Using-Orleans
2
Спасибо!
Андрей ЧехDirector of Research & Technology
2