Perfil
Sobre mim
Formado em Sistemas de Informação pela Universidade Federal de Santa Catarina;
Desenvolvimento de um projeto IPTV pela empresa Cianet Network;
Conhecimento em arquiteturas de software distribuído;
Conhecimento em linux para uso em servidores, embarcados, desktop;
Conhecimento em ciclo de vida de software e distribuição;
Propostas
Coerência de cache de granuraridade fina, usando django-signals
Fazendo o uso do cache do nginx, podemos ter melhoria de desempenho de APIs restful e conteúdos de 1000X ou mais. Mas como ter controle do que está no cache e se este conteúdo é coerente com o que está no backend?
Com sistemas de cache utilizando nginx ou varnish, geralmente são baseados em tempo (valid 10 min., 24h, ...) mas muitas vezes ao fazer modificações em models do django, seria muito bom que este cache fosse invalidado no momento da modificação (post_save, post_delete, pre_save, etc).
O django-cache-coherence foi criado para atender esta necessidade. Para cada requisição em uma url requisitada e está configurada para fazer cache, os dados da requisição são salvos em um banco e registrado um signal para fazer a limpeza deste cache (PURGE). Assim que houver uma chamada do signal registrado, é feito uma consulta neste banco de requisições cacheadas, e disparado as limpezas, invalidando o cache somente da informação modificada, deixando integro o restante ndo cache.
Para ativar este tipo de funcionalidade no nginx é utilizado o módulo [ngx_cache_purge](https://github.com/FRiCKLE/ngx_cache_purge/)
Vou mostrar a configuração do nginx e como fazer inclusive cache de APIs, com e sem autenticação. Mostrando como garantir e entrega com cache de informações sensiveis de usuários.
Para a validação de verificação do funcionamento são feitos testes de integração com testes unitários e containers docker.
Sistema de TV por assinatura com middleware desenvolvido em python/django [CASE]
Quero passar através desta apresentação, como python e django ajudaram a construir um middleware de TV por assinatura. Considerado um dos melhores de mais responsivos, por muitos clientes, fornecedores e parceiros, que já testaram outros sistemas de gigantes de telecom mundiais.
Como este middleware controla o sistema de TV por assinatura desde a recepção do sinal de satélite até a TV na casa do assinante.
Vou mostrar como funciona um headend de TV por assinatura, tendo como foco principal o python e como ele ajudou a construir o projeto.
O sistema em questão se chama kingrus, e teve seu início no final de 2010 e hoje está operando várias cidades com planos de mais de 200 canais, equivalente à grandes TVs por assinaturas nacionais, porém com o foco em entregar conteúdo de altissima quanlidade de resolução.
Dentro do middleware fica todas as informações de tudo que está em execução no cluster de recepção, controle de stream de todos os canais, bem como todas as informações dos equipamentos de clientes (SetTopBox).
Todo o controle de streams multimídia, como trajeto, transformações, armazenamento de conteúdo é gerido pelo middleware.
O middleware também é responsável por prover e consumir um grande número de APIs para interagir com diversos sistemas internos e de terceiros.
O middleware recebe uma grande quantidade de requisições simultâneas de todos os clientes on-line e foi criado um sistema de cache e coerência de cache para aguentar uma grande quantidade de requisições simultâneas.