Erlang –  лекарство при высоких нагрузках Александр Дубовиков
Агнер Краруп Эрланг   1878 - 1929   г.г. датский математик, статистик и инженер, основатель научного направления по изучен...
На самом деле системы на Erlang вовсе не масштабируемые и не надежные. Это системы на Java такие. Системы на Erlang просто...
Yaws  против  Apache  (Кб /c ек.  /  нагрузка) А pache -  локальная  FS Apache – NFS Yaws – NFS Apache  умирает на 4000 ко...
Erlang: Язык функционального программирования Все вычисления – изолированные функции
Требования Конкурентные процессы Soft-Realtime Распределенная система Большие объемы кода Комплексная функциональность Бес...
КОНКУРЕНЦИЯ Водить автомобиль просто, не правда ли ? Только если на трассе ты один!
Конкурентное программирование <ul><li>Тяжеловесные процессы </li></ul><ul><li>Неизолированные нити </li></ul>Традиционные ...
Конкурентный подход  Erlang <ul><li>Большое количество процессов </li></ul><ul><li>Полная изоляция процессов </li></ul><ul...
Легковесные процессы  Erlang
Структура процесса
Обработка ошибок
Многоуровневая обработка ошибок
Пример :  Интернет-мессенджер
Open Tele с om Platform –  дизайн приложений
Линейная схема организации
Главное правило F irst make it right, then  (if necessary)  make it fast.
AND/OR  Схема организации
MNESIA Распределенная система управления базами данных для телекоммуникационных приложений и приложений с требованиями по ...
MNESIA <ul><li>Возможность переконфигурирования на лету . </li></ul><ul><li>Таблицы могут быть перемещены или реплицирован...
DISCO – MAP/REDUCE Open Source Map/Reduce  фрэймворк для распределенных вычислений. Вычислительные функции пишутся на  Pyt...
DISCO – MAP/REDUCE
Инструментарий Web- Серверы :  Yaws, MochiWeb, Pico Фрэймворки :  erlyWeb, Eblog, ErlHive Приложения :  efcgi, Cacherl  и ...
Success story eJabberd
Что почитать http://erlang.org http://forum.trapexit.org/ http://www.reddit.com/search?q=erlang http://defun.ru http://erl...
 
Спасибо за внимание  :) Дубовиков Александр [email_address] ООО  “ Дремучий лес ” http://diphost.ru ВОПРОСЫ ?
Upcoming SlideShare
Loading in …5
×

Erlang – лекарство при высоких нагрузках

2,166 views
2,081 views

Published on

Published in: Technology, News & Politics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,166
On SlideShare
0
From Embeds
0
Number of Embeds
49
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Erlang – лекарство при высоких нагрузках

  1. 1. Erlang – лекарство при высоких нагрузках Александр Дубовиков
  2. 2. Агнер Краруп Эрланг 1878 - 1929 г.г. датский математик, статистик и инженер, основатель научного направления по изучению трафика в телекоммуникационных системах и теории массового обслуживания.
  3. 3. На самом деле системы на Erlang вовсе не масштабируемые и не надежные. Это системы на Java такие. Системы на Erlang просто непробиваемы как скалы. Вячеслав Ахмечет
  4. 4. Yaws против Apache (Кб /c ек. / нагрузка) А pache - локальная FS Apache – NFS Yaws – NFS Apache умирает на 4000 конкурентных запросах Yaws функционирует даже на 80000 конкурентных запросах
  5. 5. Erlang: Язык функционального программирования Все вычисления – изолированные функции
  6. 6. Требования Конкурентные процессы Soft-Realtime Распределенная система Большие объемы кода Комплексная функциональность Беспрерывная работа Hot Update Отказоустойчивость
  7. 7. КОНКУРЕНЦИЯ Водить автомобиль просто, не правда ли ? Только если на трассе ты один!
  8. 8. Конкурентное программирование <ul><li>Тяжеловесные процессы </li></ul><ul><li>Неизолированные нити </li></ul>Традиционные технологии Erlang <ul><li>Изолированные легкие процессы </li></ul>
  9. 9. Конкурентный подход Erlang <ul><li>Большое количество процессов </li></ul><ul><li>Полная изоляция процессов </li></ul><ul><li>Никаких общих данных </li></ul><ul><li>Прозрачность места исполнения </li></ul><ul><li>Обмен сообщениями </li></ul>
  10. 10. Легковесные процессы Erlang
  11. 11. Структура процесса
  12. 12. Обработка ошибок
  13. 13. Многоуровневая обработка ошибок
  14. 14. Пример : Интернет-мессенджер
  15. 15. Open Tele с om Platform – дизайн приложений
  16. 16. Линейная схема организации
  17. 17. Главное правило F irst make it right, then (if necessary) make it fast.
  18. 18. AND/OR Схема организации
  19. 19. MNESIA Распределенная система управления базами данных для телекоммуникационных приложений и приложений с требованиями по близким к реальному времени скоростям получения информации.
  20. 20. MNESIA <ul><li>Возможность переконфигурирования на лету . </li></ul><ul><li>Таблицы могут быть перемещены или реплицированы на другой узел. </li></ul><ul><li>Местоположение таблиц прозрачно для разработчика. </li></ul><ul><li>Транзакции исполняются конкурентно. </li></ul><ul><li>Транзакции могут выполняться как на одной машине, так и на всех сразу . </li></ul>
  21. 21. DISCO – MAP/REDUCE Open Source Map/Reduce фрэймворк для распределенных вычислений. Вычислительные функции пишутся на Python Web- приложение мониторинга Разработан в NOKIA Research Center!
  22. 22. DISCO – MAP/REDUCE
  23. 23. Инструментарий Web- Серверы : Yaws, MochiWeb, Pico Фрэймворки : erlyWeb, Eblog, ErlHive Приложения : efcgi, Cacherl и множество других http://cean. process-one.net Comprehensive Erlang Archive Network
  24. 24. Success story eJabberd
  25. 25. Что почитать http://erlang.org http://forum.trapexit.org/ http://www.reddit.com/search?q=erlang http://defun.ru http://erlang.dmitriid.com/ Google Erlang
  26. 27. Спасибо за внимание :) Дубовиков Александр [email_address] ООО “ Дремучий лес ” http://diphost.ru ВОПРОСЫ ?

×