Đổi sang JSON không gỡ được ràng buộc giữa hai dịch vụ — nó chỉ chuyển chỗ
Jackson2JsonMessageConverter, cái header trói hai dịch vụ vào nhau, và cách gỡ bằng idClassMapping. Kèm phép đo thông lượng hai converter.
Jackson2JsonMessageConverter, cái header trói hai dịch vụ vào nhau, và cách gỡ bằng idClassMapping. Kèm phép đo thông lượng hai converter.
Mặc định của @RabbitListener đo bằng reflection, khác biệt thật giữa Simple và Direct container, và vì sao tăng số consumer có thể làm chậm bốn lần.
Chạy cùng bộ SQL trên H2 và PostgreSQL 16 để thấy chỗ chúng khác nhau, đo chi phí thật của việc khởi động container, và cách giữ test nhanh khi dùng CSDL thật.
traceId như mã vận đơn đóng dấu ở mọi trạm: kéo một số ra là thấy cả hành trình một request. Chỗ nó đứt khi qua luồng khác, log có cấu trúc, chi phí một dòng log, và giữ log sạch để 2 giờ sáng còn dùng được.
Như gắn đồng hồ đo vào từng ổ cắm thay vì đoán thiết bị nào ngốn điện. Viết benchmark chuẩn, đọc cột allocs/op, và để pprof chỉ thẳng ra hàm tạo rác thật — thay vì tối ưu nhầm chỗ cả tuần.
Một phép thử cho thấy verify quá tay biến test thành xi măng, mock trả gì khi chưa khai báo, ArgumentCaptor, spy, và những chỗ tuyệt đối không nên mock.