зеркало из
https://github.com/iharh/notes.git
synced 2025-10-30 13:16:07 +02:00
126 строки
6.4 KiB
Plaintext
126 строки
6.4 KiB
Plaintext
Confluent
|
|
https://www.youtube.com/channel/UCmZz-Gj3caLLzEWBtbYUXaA/videos
|
|
Kafka Summit 2017:
|
|
https://www.youtube.com/watch?v=ySf7bDBHRUQ
|
|
|
|
2025
|
|
JavaTechie - Does Kafka Guarantee Message Ordering? 0:00 of 28:27
|
|
https://www.youtube.com/watch?v=Jl-nauqEtEo
|
|
JPoint - Golovko - Spring Kafka - How not to Shoot a Foot 25:00 of 46:18
|
|
https://www.youtube.com/watch?v=9r80FRcKGCA
|
|
! 10:00 ack=all setting !!!
|
|
! 12:00 @Bean DefaultKafkaProducerFactoryCustomizer serializerCustomizer(ObjectMapper objectMapper) {
|
|
! var jsonSerializer = new JsonSerializer(objectMapper);
|
|
! return producerFactory -> producerFactory.setValueSerializer(jsonSerializer);
|
|
! }
|
|
! 12:30 listener i-faces:
|
|
! MessageListener
|
|
! AcknowledgingMessageListener
|
|
! ConsumerAwareMessageListener
|
|
! AcknowledgingConsumerAwareMessageListener
|
|
! 13:30 @Bean KafkaMessageListenerContainer<String, OtpDto> kafkaListenerContainer(
|
|
! ConsumerFactory<String, OtpDto> factory,
|
|
! MessageListener<String, OtpDto> listener) {
|
|
! var containerProperties = new ContainerProperties(MY_TOPIC);
|
|
! containerProperties.setMessageListener(listener);
|
|
! return new KafkaMessageListenerContainer<>(factory, containerProperties);
|
|
! } # it is single-threaded and very agile (gibkiy)
|
|
! 16:00
|
|
! props.put(JsonDeserializer.TYPE_MAPPINGS, "some.package.dto.OtpDto:" + OtpDto.class.getCanonicalName());
|
|
! 17:00 - manual dserialization:
|
|
! props.put(JsonDeserializer.USE_TYPE_INFO_HEADERS, false);
|
|
! props.put(JsonDeserializer.VALUE_DEFAULT_TYPE, OtpDto.class.getCanonicalName());
|
|
! 18:00 ConcurrentMessageListeningContainer<String, OtpDto> kafkaListenerContainer(...) {
|
|
! ...; container.setConcurrency(4); // for KafkaMessageListenerContainer
|
|
! }
|
|
! 19:00 var ... = new ErrorHandlingDeserializer(jsonDeserializer);
|
|
! 20:00 var recoverer = new DeadLetterPublishingRecoverer(template);
|
|
! var errorHandler = new DefaultErrorHandler(recoverer);
|
|
! listenerContainer.setCommonErrorHandler(errorHandler);
|
|
! 22:00 it would be good to have distinct DLTs for distinct types of ex-s
|
|
! @Bean public CommonErrorHandler commonErrorHandler(KafkaTemplate<byte[], byte[]> deserializationDltTemplate,
|
|
! KafkaTemplate<String, OtpDto> otpKafkaTemplate) {
|
|
! CommonErrorHandler defaultErrorHandler = defaultErrorHandler(otpKafkaTemplate);
|
|
! var delegatingErrorHandler = new CommonDelegatingErrorHandler(defaultErrorHandler);
|
|
! delegatingErrorHandler.setErrorHandlers(errorHandlingDelegates(deserializationDltTemplate));
|
|
! return delegatingErrorHandler;
|
|
! }
|
|
! 24:00
|
|
! private CommonErrorHandler defaultErrorHandler(KafkaTemplate<String, OtpDto> otpKafkaTemplate) {
|
|
! return new DefaultErrorHandler(
|
|
! new DeadLetterPublishingRecoverer(otpKafkaTemplate),
|
|
! new FixedBackOff(0, 2));
|
|
! }
|
|
! 24:30 -//- errorHandlingDelegates impl -//-
|
|
|
|
JavaGuru - Apache Kafka of p28
|
|
https://www.youtube.com/playlist?list=PLt91xr-Pp57Q50WsXz9r-zmxy5ceu_hp_
|
|
2024
|
|
Otus - Kafka and ClickHouse of 1:41:20
|
|
https://www.youtube.com/watch?v=Jp1SEm4UU48
|
|
! 49:00 - ClickHouse Kafka Connect Sink
|
|
! 52:00 - REST Api for Kafka Connectors
|
|
! 1:00:00 - Debezium Docker image for pg
|
|
Spectr - Koreysha - Apache Kafka Typical Erors of 54:46
|
|
https://www.youtube.com/watch?v=FGETRVOPdiA
|
|
https://drive.google.com/file/d/1APmfDCMIDXStkR5uld5LlbdC2N3Lxho6/view
|
|
! 34:00 session.timeout.ms, heartbeat.interval.ms, max.poll.interval.ms
|
|
ByteByteGo - System Design: Why is Kafka so Popular? of 4:19
|
|
https://www.youtube.com/watch?v=yIAcHMJzqJc
|
|
SelskiJavist - Kafka Fundamentals 0:00 of 2:09:05
|
|
https://www.youtube.com/watch?v=YluvsLmPU78
|
|
! producer/consumer related
|
|
at-least-onece, at-most-once, fixing offset, a lot of props
|
|
transactions, partitions direct manip-n
|
|
2023
|
|
Otus - Petrelevich - Working with Kafka in Boot apps 20:00 of 54:12
|
|
https://www.youtube.com/watch?v=9FikRH8rXas
|
|
2022
|
|
SpringDeveloper - Long - Spring Tips: Spring Boot & Apache Kafka of 42:58
|
|
https://www.youtube.com/watch?v=DJHUNSGh3K0
|
|
! 2:00 - Kafka is not a msg-system, but distributed log with almost linear scalability
|
|
Slurm - Obkafkilsya 0:00 of 1:06:43
|
|
https://www.youtube.com/watch?v=5Sf8nKRQc8Y
|
|
Slurm - Programming with Kafka 0:00 of 1:23:33
|
|
https://www.youtube.com/watch?v=ey2QE_mPVpQ
|
|
2021
|
|
https://drive.google.com/drive/folders/1GyQkciZbOY6fbGpn6OIp1iZswOWiL8bq
|
|
Shevlyagin - Apache Kafka Workshop of 1:25:30
|
|
https://www.youtube.com/watch?v=W-wr4Fxmjsc
|
|
https://github.com/vitshevl/kafka-demo
|
|
Bogdanovskiy - Kafka Fundamentals of 49:22
|
|
https://www.youtube.com/watch?v=-AZOi3kP9Js
|
|
Korolkov - Rabbit 0:00 of 1:09:39
|
|
https://www.youtube.com/watch?v=ijR2VXgSQO4
|
|
https://github.com/kaa-ghub/spring-cloud-stream-demo
|
|
2019
|
|
https://habr.com/ru/company/jugru/blog/451268/
|
|
https://speakerdeck.com/jugmsk/viktor-gamov-kafka-streams-iq-zachiem-nam-baza-dannykh-nam-baza-nie-nuzhna
|
|
https://inponomarev.github.io/kstreams-examples/#/
|
|
https://www.infoq.com/presentations/kafka-pks
|
|
2018
|
|
Waehner - Introduction to Apache Kafka as Event-Driven Open Source Streaming Platform
|
|
https://www.youtube.com/watch?v=OXLABLRNuzI
|
|
HighLoadChannel - Vybornov - Kafka in HighLoad ru of 37:49
|
|
https://www.youtube.com/watch?v=BtmYjTO1EpI
|
|
! The only way to provide exactly-once semantics is to atomically save both offsets and data outside of kafka
|
|
! 18:00 - manual leaders assign for part-s
|
|
! 19:00 - increase replication (paradoxal, but strangely works fine)
|
|
2017
|
|
Ward - Introduction to Apache Kafka
|
|
https://www.youtube.com/watch?v=UEg40Te8pnE
|
|
Stopford - Power of the Log: LSM and Append Only Data Structures
|
|
https://www.infoq.com/presentations/lsm-append-data-structures
|
|
Reis - Functional Streams with Kafka
|
|
https://www.slideshare.net/LuisMiguelReis2/functional-streams-with-kafka-a-comparison-between-akkastreams-and-fs2
|
|
https://www.youtube.com/watch?v=fwQMdxYPRIo
|
|
|
|
https://www.infoq.com/presentations/kafka-spring
|
|
https://www.youtube.com/watch?v=l8V6PkVV1Ec
|
|
|
|
2016
|
|
https://www.slideshare.net/SpringCentral/i-cant-believe-its-not-a-queue-using-kafka-with-spring
|
|
https://www.slideshare.net/SpringCentral/spring-for-apache-kafka
|
|
Narkhede
|
|
https://www.infoq.com/presentations/etl-streams
|