Сообщения

Сообщения за декабрь, 2021

Clean Architecture another аля дядя Боб

Clean Architecture : Layers ( from the most abstract to the most concrete ) : domain : abstract data structures uc : "use cases", the pure business logic implem : implementations of the interfaces used in the business logic (uc layer) infra : setup/configuration of the implementation Golden rules : a layer never imports something from a layer below it 3rd-party libraries are forbidden in the 2 topmost layers  

kafka конспект однако

------------------------ part 1 ---------------------  schema evolution 1: avro - в сообщении содержится схема данных. предоставляет API для сериализации данных соответственно схеме и десериализации по схеме. exactly once processing: тут проблема в том что нет контроля над тем какой partition будет назначен. есть две стратегии: range: round robin: rebalance listener: случай когда consumer group coordinator запустил rebalance и consumer, обработавший часть сообщений хочет commit offset. чтобы это сделать надо знать: how to commit a particular offset? how to know that a rebalance is triggered? ConsumerRebalanceListener onPartitionsRevoked - будет вызван перед переключением partition. onPartitionsAssigned - будет вызвано после назначения partition и перед передачей сообщений. offset management: current offset: kafka broker у себя хранит указатель на на отправленные сообщения клонкретному consumer. maintain offset from which send next banch of mess