Palestras adicionais do curso "Designing Highly Loaded Systems" (outono de 2018) em Technopolis

imagem

Continuamos a publicar palestras sobre o curso "Designing Highly Loaded Systems", ministrado a estudantes da Universidade Politécnica de São Petersburgo por uma equipe de engenheiros da Odnoklassniki como parte do programa de dois anos "Java Developer of Highly Loaded Applications" do projeto Technopolis (um projeto conjunto do Mail.Ru Group e SPbPU). Em 2017, 10 palestras (30 horas de vídeo) foram lidas e enviadas, mas o tópico Highload é tão extenso que é impossível cobrir tudo em um semestre. Mergulhamos brevemente nos principais aspectos do desenvolvimento de Highload, cada um dos quais merece um curso separado. Este ano, continuamos a fechar pontos brancos e apresentar a sua atenção um conjunto de seis palestras sobre novos tópicos: começamos com a computação paralela e a codificação ao vivo da primeira etapa de um projeto de curso para estudantes, após o qual mergulhamos nas ferramentas de monitoramento e diagnóstico da JVM e passamos a problemas de tolerância a falhas. E após uma palestra sobre algoritmos avançados relevantes em projetos altamente carregados, encerramos o ciclo com uma palestra sobre as abordagens existentes para replicação e sua aplicabilidade em várias tarefas.

As dez primeiras palestras .

Lista de novas palestras:

  1. Modelo do ator. Futuro Fluxos Reativos (Vadim Tsesko incubos )
  2. Codificação ao vivo da segunda etapa do projeto (Vadim Tsesko incubos )
  3. Monitoramento e diagnóstico de JVM (Andrey Pangin apangin )
  4. Engenharia de confiabilidade do site (Anton Ivanov keyplayer )
  5. Estruturas de dados "modernas" (Dmitry Shchitinin dormidoncheg )
  6. Replicação (Dmitry Shchitinin dormidoncheg )


Palestra 11. Modelo do Ator. Futuro Fluxos Reativos (Vadim Tsesko incubos )



Apresentação
Vídeo no canal Technostream

A palestra discute abordagens modernas para a organização da computação paralela, que estão ganhando popularidade recentemente: Modelo de Ator baseado na passagem de mensagens na implementação do Akka; Resumo Futuro / Promessa, combinadores e retornos de chamada para organizar o processamento de dados assíncrono durante E / S; e também revela a essência dos Fluxos Reativos para o fluxo de processamento de dados com contrapressão. Inúmeros exemplos do uso de abordagens em sistemas existentes são fornecidos, bem como links para estudos independentes.

Palestra 12. Codificação ao vivo da segunda etapa do projeto (Vadim Tsesko incubos )



Projeto do curso
Vídeo no canal Technostream

A codificação ao vivo é a solução básica do projeto que os alunos da Technopolis devem concluir este ano. Semelhante à primeira lição, com a única diferença fundamental: desta vez, mudamos para um servidor Web de alto desempenho do one-nio. Desta vez, também gravamos um vídeo com uma demonstração mais detalhada da implementação de componentes.

Aula 13. Monitoramento e diagnóstico da JVM (Andrey Pangin apangin )



Apresentação
Vídeo no canal Technostream

A palestra apresenta ferramentas para monitorar um aplicativo Java e analisar problemas comuns: conflitos, vazamentos de memória, gargalos de desempenho. Consideramos os utilitários padrão do JDK, bem como o software de terceiros popular, e analisamos os recursos dos criadores de perfil Java. Ele mostra como a JMX, a JVM TI e outras interfaces ajudam no desenvolvimento de suas próprias ferramentas de monitoramento e diagnóstico.

Palestra 14. Engenharia de Confiabilidade do Site (Anton Ivanov keyplayer )



Apresentação
Vídeo no canal Technostream

A palestra aborda o básico da escrita de código tolerante a falhas. Os erros típicos são analisados, o que na prática leva à queda de sistemas altamente carregados. A primeira parte discute os problemas que surgem no nível de serviço: pools de recursos, sobrecarga, início lento e desligamento normal. Na segunda parte, passamos ao nível de interação interserviços, discutindo em detalhes os tipos de tempos limites, técnicas de balanceamento e problemas de retrays. A parte final trata do monitoramento e da resposta a incidentes.

Aula 15. Estruturas de dados “modernas” (Dmitry Shchitinin dormidoncheg )



Apresentação
Vídeo no canal Technostream

A palestra é dedicada a estruturas de dados, que, em regra, não são consideradas em cursos clássicos, mas são efetivamente aplicadas na prática em sistemas distribuídos altamente carregados. Freqüentemente, essas são estruturas de dados probabilísticas, compactas e rápidas, mas com um resultado aproximado. Assim, por exemplo, usando o HyperLogLog, você pode estimar o número de elementos diferentes em um conjunto de dados a partir de bilhões de elementos, gastando não mais que um kilobyte nele, e o resultado será diferente do exato em apenas alguns por cento. Uma seção separada é dedicada às abordagens para o cálculo de quantis; seus pontos fortes e fracos são considerados.

Palestra 16. Replicação (Dmitry Shchitinin dormidoncheg )



Apresentação
Vídeo no canal Technostream

A replicação e o sharding estão no centro de sistemas distribuídos tolerantes a falhas e altamente carregados. A replicação com um único líder dedicado é amplamente usada no RDBMS clássico. Uma configuração com vários líderes distintos pode ocorrer com sistemas operando em vários controladores de domínio e também surge em tarefas de edição colaborativa. A replicação sem um líder dedicado está no centro dos bancos de dados NoSQL, como Cassandra, Voldemort, Riak, etc. A palestra discute cada abordagem, seu escopo, pontos fortes e fracos, além de detalhes importantes da implementação.



A lista de reprodução de todas as palestras está no link e no Youtube .

O projeto do curso está aqui .
Várias soluções podem ser encontradas entre solicitações de recebimento fechadas .

Transmissões e gravações em vídeo de outros cursos do projeto Technopolis podem ser encontradas no grupo oficial do projeto em OK .

Lembramos também que o canal Technostream tem aulas atualizadas e master classes sobre programação e análise de dados de especialistas em TI de todos os projetos educacionais do Mail.Ru Group - Technoatom, Technopark, Technopolis, Technosphere e Technotrek.

Source: https://habr.com/ru/post/pt437858/


All Articles