Estava procurando algo sobre design de sistemas Event Sourcing, de preferência usando #ApacheKafka e achei esse artigo.
Ele é voltado para Smart Cities, então se você não trabalha com Smart Cities ou IoT dá pra pular umas partes.
Mas vamos as partes interessantes👇 1/8
Primeiro ele começa definindo o que é Edge, Fog e Cloud. Há uma regra aí que Edge é o local de menor poder de processamento e mais próximo aos sensores e Cloud é o local de maior poder de processamento e mais distantes dos sensores. Fog é o meio do caminho. 2/8
Outra definição interessante é o tipo de dado que transita no sistema. Existem dados gerados por sensores, câmeras e algoritmos de ML.
"RAW Data" são streams de vídeo ou dados não estruturados. Temperatura? Talvez.
"Structured" é todo dado útil para analise. 3/8
Quais são as métricas úteis em sistemas Event Driven?
* Integridade dos Dados: Data Loss Rate
* Escalabilidade: Como sistema se comporta com mais um Stream
* Disponibilidade: Tempo em execução
* Performance: Latência de transmissão, Throughput, Latência total 4/8
E os Guidelines?
1. Consolide as interfaces de I/O, reduza as interfaces para reduzir a complexidade de integrações
2. Desacople o máximo possível removendo troca individuais entre pares. Evite REST e prefira Pub/Sub (MQTT ou #ApacheKafka) 5/8
3. Implemente padrões da indústria pra melhorar interoperabilidade, escalabilidade e expansibilidade.
4. Alinhe os modelos de dados para armazenamento de inferências para melhorar visibilidade e aceitação dos resultados. 6/8
5. Busque uma solução versátil, consistente e coerente que pode suportar vários casos de uso e diferentes infraestruturas.
6. Lide com vários tipos de dados RAW e estruturados os coletando e distribuindo em vários sistemas assíncronos ou através de persistência. 7/8
7. Mantenha uma documentação atualizada das especificações do sistema, de todas interfaces I/O implementadas e dos modelos de dados utilizados. 8/8
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Existe uma enormidade de modelos econômicos a se seguir, mas há algumas falácias que precisam ser detalhadas.
1. Capitalismo não e sinônimo de liberdade. Capitalismo é um sistema econômico que favorece a especulação ao trabalho. Logo, o rico não trabalha, especula.
2. Lá na idade média existia algo chamado Corporação de Ofício. Que era uma mistura de cooperativa e sindicato. (Posso estar errado)
3. Ricos é uma coisa relativamente recente na humanidade. Super ricos mais recente ainda. Bilionários famosos é coisa muito recente.
4. Liberdade econômica só existe quando o pequeno capital está em pé de igualdade com o grande capital. Tenta montar sua rede social aí pra ver se você desbanca o seu Zuck. Snapchat tá pra provar que não (e ainda deve ter Venture Capital por trás).
A extrema direita é ligada a movimentos supremacistas (aqueles que querem "pacificamente te matar"). Eles atuam colocando medo no oponente, por isso atacar a @veramagalhaes sempre.
Sobre essas pessoas quererem nos matar... eles nem escondem isso... Por exemplo essa foto do filho do mandatário com um deputado cassado por assumir que fez turismo sexual pra Ucrânia.
Eles sempre usam apitos de cachorro, que são expressões que podem passar desapercebida para muitos, mas no fundo mantém a base engajada. Eles tem uma causa e tem que lutar pela causa, os apitos lembram a causa.
Todo ano a empresa que eu trabalho coloca como obrigatório um curso de "Ética e Código de Conduta".
Eu acho bem legal porque é um parâmetro de como devemos agir. Pode parecer óbvio para alguns, mas nem tudo é óbvio. Aqui vai algumas atitudes que não são legais no trabalho. 👇
1. Desmerecer uma pessoa por qualquer motivo.
Qualquer comentário que você fizer no trabalho deve ser estritamente profissional, você não pode falar que alguém é burro.
2. Fazer qualquer comentário que seja sobre a vida pessoal de uma pessoa.
Tem uma tirinha que mostra um homem dizendo "sabemos como ela conseguiu essa promoção". O comentário é considerado machista e é inadmissível.
Pegar uma matéria de Sistemas Distribuídos na UFTPR!
Eu nunca tinha estudado formalmente o assunto, minha Engenharia foi bem baixo nível.
Talvez você pense: "Ah, faculdade está atrasada"
Mas será? Segue o fio... 👇
Tivemos no total 11 aulas e vou comentar cada uma delas.
1ª Características de Sistemas Distribuídos
É bem legal você conhecer o que são essa categorias de sistemas. Quais são os desafios? O que é realmente um Middleware? Esse último aí eu tinha uma definição errada.
2ª Arquiteturas de Sistemas Distribuídos
Todo mundo conhece o Cliente-Servidor. Mas já ouviu falar do Peer2Peer? Conhece o Pub/Sub? #ApacheKafka tá aqui no Pub/Sub e foi bom discutir como apesar das coisas avançarem desde que o livro foi escrito, o livro não está desatualizado.
Quando eu comecei na minha atual empresa, o pessoal do escritório em São Paulo, que trabalha junto a clientes externos, sempre diziam: "em Dublin quando dá 17hs a caneta cai e a Guinness se abre".
Criaram o mito de que brasileiro é preguiçosos (...)
Mas esse mito existe porque a relação trabalhador/empregador sempre foi conflituosa. Em muitos casos, alguns empregador sonham em voltar a antes do dia 13/05/1888.
Dúvida? Procura aí "trabalho análogo a escravidão" no Google.
Existem alguns livros que podem nos ajudar a melhorar a qualidade do seu código e nessa thread vou indicar alguns e falar a minha opinião sobre outros.
1/n
"Código Limpo" do Uncle Bob.
Quando eu li eu gostei desse livro, mas ele não é nem o último livro e nem o melhor. Fico muito preocupado quando devs colocam ele como a única referência. O livro é bom? Mais ou menos. Recomendo? Sim, com cautela.
Porque? Porque o autor coloca a opinião dele como última. Não há debate, não há discussão. Tudo que foge ao que ele diz é errado e, provavelmente, eu e você estamos errados. Sem contar que ele é um extremista, tanto que está fazendo propaganda da rede social supremacista.
3/n