sistemas distribuídos e php - darkmira tour br 2016

14
Sistemas Distribuídos e PHP

Upload: diana-ungaro-arnos

Post on 15-Feb-2017

648 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Sistemas Distribuídos e PHP - Darkmira Tour BR 2016

Sistemas Distribuídos e PHP

Page 2: Sistemas Distribuídos e PHP - Darkmira Tour BR 2016

PHP Web DeveloperAnalista Desenvolvedora @ Agrosmart

Instrutora @ Caldo e Gouveia

Diana Ungaro Arnos

@dianaarnos www.dianaarnos.com

Page 3: Sistemas Distribuídos e PHP - Darkmira Tour BR 2016

O que são sistemas distribuídos?

Hm… eu uso load balance, então meu sistema é, não é?

Não.

Page 4: Sistemas Distribuídos e PHP - Darkmira Tour BR 2016

distribuir acessos não é o mesmo que distribuir processamento

SERVIDOR

LOAD BALANCE

SERVIDOR SERVIDORAPLICAÇÃO APLICAÇÃO APLICAÇÃO

Page 5: Sistemas Distribuídos e PHP - Darkmira Tour BR 2016

APLICAÇÃO

SERVIDOR SERVIDOR

o processamento da tarefa é distribuído em paralelo entre computadores diferentes

SERVIDOR

(Solicita execução da tarefa X)

Tarefa X parte

1

Tarefa X parte

3

Tarefa X p arte 2

Page 6: Sistemas Distribuídos e PHP - Darkmira Tour BR 2016

A Ideia

Page 7: Sistemas Distribuídos e PHP - Darkmira Tour BR 2016

Science, bitch!

✘ BOINC: Open-source software for volunteer

computing (http://boinc.berkeley.edu/index.php

)

Page 8: Sistemas Distribuídos e PHP - Darkmira Tour BR 2016

Processamento Paralelo Distribuído

?Multi-thread?

pthreads

Distribuído e paralelo?

Stream sockets + pthreads

Multi-process?pcntl_fork( ), exec( ),

shell_exec( ), passthru( )

Page 9: Sistemas Distribuídos e PHP - Darkmira Tour BR 2016

pthreads

✘PHP compilado com ZTS (Thread Safety)

✘Compatível com PHP7

✘É seguro? (https://gist.github.com/krakjoe/6437782)

✘Referência:

http://pthreads.org

http://docs.php.net/manual/en/book.pthreads.php

Page 10: Sistemas Distribuídos e PHP - Darkmira Tour BR 2016

pthreads

Page 11: Sistemas Distribuídos e PHP - Darkmira Tour BR 2016

pthreads

Page 12: Sistemas Distribuídos e PHP - Darkmira Tour BR 2016

Stream Sockets

✘ Sockets são mecanismos de comunicação entre processos

✘Para modelo cliente/servidor: IP+porta

Ex.: 127.0.0.1:80

✘fgets( ), fclose( ), fread( ), etc...

✘Stream sockets:

Page 13: Sistemas Distribuídos e PHP - Darkmira Tour BR 2016

AO CÓDIGO!

Que você pode encontrar aqui: https://github.com/dianaarnos/darkmiratourbr-2016

Page 14: Sistemas Distribuídos e PHP - Darkmira Tour BR 2016

Obrigada!

Perguntas?@dianaarnos

[email protected]