Mọt Dev

Blog kỹ thuật về lập trình, hệ phân tán và phát triển web hiện đại.

Integrating Spring Boot with Apache Kafka
Nổi bật
Backend

Integrating Spring Boot with Apache Kafka

A practical guide to producing and consuming events with Spring for Apache Kafka, including configuration, serialization and error handling.

1 phút đọc
Đọc bài viết
Backend (145)
DevOps (1)
Frontend (2)

Bài viết mới nhất

Xem tất cả
99 Ngày Spring — Ngày 60: Tổng kết chiến lược test

Một chiến lược test cho service thật: mỗi lớp một câu hỏi và tỉ lệ 300 unit, 40 slice, 8 hành trình; fake có hành vi và WireMock ở biên giới; Surefire/Failsafe, Awaitility, Clock và chính sách test chập chờn — cùng checklist 12 câu để review test.

25 thg 9, 202611 phút0
99 Ngày Java — Ngày 60: Stream thực chiến

groupingBy hai cấp với TreeMap, flatMap xuống dòng hàng, top N bằng collectingAndThen, teeing cho min và max, toMap có merge giữ thứ tự — rồi khi nào đặt tên collector, dùng record thay tuple hay quay về vòng for, và một báo cáo từ CSV khép lại Giai đoạn 6.

25 thg 9, 202611 phút0
99 Ngày Spring — Ngày 59: Coverage & chất lượng

JaCoCo ba bước với check làm đỏ build và ngưỡng theo package nghiệp vụ, line khác branch, coverage không đo được assert và PITest chỉ thẳng vào test còn thiếu, kim tự tháp test chạy bằng Surefire và Failsafe — cùng bốn con số đáng theo dõi và những con số nên bỏ.

24 thg 9, 202611 phút9
99 Ngày Java — Ngày 59: Parallel stream

Parallel stream là chia, làm, ghép trên ForkJoinPool chung của cả JVM: nguồn nào chia tốt, phép ghép nào đắt, mô hình N × Q để biết khi nào có lãi, vì sao I/O không bao giờ thuộc về parallel stream — và bẫy stateful lambda chỉ hỏng khi song song, cùng cách đo bằng JMH.

24 thg 9, 202610 phút4
99 Ngày Spring — Ngày 58: Spring Boot Actuator

Boot 3 mặc định chỉ lộ health; bản đồ endpoint an toàn và nguy hiểm; HealthIndicator tự viết với liveness tách khỏi readiness cho Kubernetes, info từ build và git, metrics Micrometer với tag hữu hạn — và ba lớp khóa: cổng riêng, SecurityFilterChain với EndpointRequest, exclude env/heapdump/threaddump.

23 thg 9, 202610 phút5
99 Ngày Java — Ngày 58: Optional

Optional là công cụ cho kiểu trả về — không field, không tham số, không bọc collection; chuỗi map/flatMap/filter thay kim tự tháp if; orElse luôn tính tham số còn orElseGet lười, orElseThrow cho “không có là lỗi” — và các anti-pattern isPresent + get, orElse(null).

23 thg 9, 20269 phút9