Đổ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.
Dự án như một nhà thầu chính ghép nhiều thầu phụ: replace là dùng crew riêng cho một việc, nhưng chỉ bind công trình của bạn; vendor là giữ bản sao mọi bản vẽ tại chỗ; workspace là bản kế hoạch chung cho hai công trình. Nâng cấp an toàn và MVS.
@Async như giao việc cho một tổ thư ký nhỏ có cái khay đựng việc; @Scheduled như cái đồng hồ báo thức treo trên tường VĂN PHÒNG NÀY. Pool từ chối việc, tự gọi chạy đồng bộ, ngoại lệ bị nuốt, và cách chạy định kỳ đúng khi có nhiều bản sao.
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.
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.
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.