Khắc phục lỗi khởi động Dubbo 2.7.2: Unsupported generic type false
Hiện tượng vấn đề
======
Khi khởi động dịch vụ dubbo, hệ thống ném ra ngoại lệ Unsupported generic type false nhưng không ảnh hưởng đến việc dịch vụ được xuất bản bình thường.
Caused by: java.lang.IllegalArgumentException: Unsupported generic type false
Thông tin phiên bản
=======
SpringBoot 2.1.3 + Dubbo 2.7.2
Nguyên nhân gốc rễ
======= ...
Đăng vào ngày 5 tháng 6 lúc 20:00
Xử lý các vấn đề bất thường trong hệ thống vi dịch vụ Java bằng cách thiết lập thời gian chờ hoặc bắt lỗi
Bắt đầu với mã nguồn:
Phía máy chủ:
Trong phương thức của máy chủ, đoạn code 10/0 chắc chắn sẽ gây ra lỗi.
@Autowired
private PaymentService paymentService;
@GetMapping("/payment/hystrix/errorInfo")
public CommonResult handleError() {
String result = paymentService.generateError();
log.info("***** ...
Đăng vào ngày 5 tháng 6 lúc 03:20
Triển Khai Giao Dịch Phân Tán Với Mô Hình TCC
Mô hình TCC (Try-Confirm-Cancel) là một trong các cách triển khai giao dịch phân tán
Giai đoạn TRYING chủ yếu thực hiện kiểm tra hệ thống kinh doanh và giữ lại tài nguyên CONFIRMING giai đoạn chủ yếu thực hiện xác nhận và hoàn tất giao dịch, khi giai đoạn TRYING thực hiện thành công và bắt đầu thực hiện giai đoạn CONFIRMING, mặc định giai đoạn ...
Đăng vào ngày 30 tháng 5 lúc 16:36
Hướng dẫn xây dựng Custom Filter trong Spring Cloud Gateway
Phân tích GlobalFilter và AbstractGatewayFilterFactory
Trong hệ sinh thái Spring Cloud Gateway, việc xử lý các logic bổ trợ như bảo mật, ghi nhật ký hoặc thay đổi luồng dữ liệu thường được thực hiện thông qua Filter. Có hai cơ chế chính để tạo filter tùy chỉnh là GlobalFilter và AbstractGatewayFilterFactory.
1. So sánh chi tiết hai loại Filte ...
Đăng vào ngày 29 tháng 5 lúc 20:49
Cân bằng tải động với cổng Ocelot và Consul
1. Vai trò & Mục đích
Thiết lập cổng truy cập thống nhất để định tuyến đến nhiều dịch vụ backend, giúp ẩn địa chỉ thực tế của các microservice. Ocelot hỗ trợ tích hợp nhà cung cấp phát hiện dịch vụ (service discovery), cho phép xác định host/port của dịch vụ mục tiêu thông qua Consul. Kết hợp này cho phép mở rộng cluster dịch vụ tự động mà kh ...
Đăng vào ngày 29 tháng 5 lúc 17:33
Các loại tài nguyên Kind trong tệp YAML của Kubernetes
Trong các tệp YAML của Kubernetes, nội dung thường được phân chia theo các loại tài nguyên khác nhau (thường được ngăn cách bằng ký hiệu ---)
Các loại tài nguyên phổ biến
Endpoints
Endpoints cho phép kết nối các dịch vụ bên ngoài vào hệ thống Kubernetes (có thể hiểu là tham chiếu tài nguyên bên ngoài, ví dụ như kết nối một cơ sở dữ liệu MySQ ...
Đăng vào ngày 27 tháng 5 lúc 20:40
Cấu Hình Trung Tâm Đăng Ký Dịch Vụ Với Eureka Trong Spring Cloud
Tổng Quan Về Eureka
Eureka thuộc bộ khung Spring Cloud, chuyên quản lý quy trình đăng ký và tìm kiếm dịch vụ. Đây là giải pháp do Netflix xây dựng, vận hành dựa trên giao thức REST, tương đồng về chức năng với các hệ thống như Zookeeper, Consul hay Nacos.
Trong kiến trúc của Eureka, hệ thống được chia làm hai thành phần chính:
Eureka Server: Đ ...
Đăng vào ngày 24 tháng 5 lúc 00:01
Tích hợp và vận hành hệ thống giám sát chuỗi gọi dịch vụ với Spring Cloud Sleuth và Zipkin
Yêu cầu thực tế
Khi xây dựng kiến trúc vi dịch vụ, hai vấn đề thường gặp là:
Cần xác định nhanh vị trí lỗi khi một yêu cầu HTTP xuyên suốt nhiều service trả về lỗi (ví dụ: HTTP 500).
Cần phân tích điểm nghẽn hiệu năng trong chuỗi gọi liên dịch vụ — ví dụ: một service mất 2s để xử lý trong khi các service khác chỉ mất vài chục mili giây.
...
Đăng vào ngày 21 tháng 5 lúc 16:23
Bảo vệ Microservices - Giải pháp chống lại hiệu ứng Domino
Giới thiệu
Trong các hệ thống có lưu lượng truy cập cao, microservices có thể bị quá tải và sụp đổ. Bài viết này sẽ hướng dẫn các bạn cách giải quyết vấn đề sụp đổ dây chuyền (cascading failure) trong kiến trúc microservices.
1. Giới hạn tần suất yêu cầu (Rate Limiting)
Khi một service nhận quá nhiều yêu cầu mà không thể xử lý kịp, nó sẽ bị sụ ...
Đăng vào ngày 18 tháng 5 lúc 10:38
Phân tích toàn diện Spring Cloud: Cơ chế xác định trong Gateway
Cơ chế xác định (Predicate) trong Gateway
Spring Gateway cung cấp nhiều phương thức xác định khác nhau để định tuyến yêu cầu.
Xác định After
After sẽ khớp với các yêu cầu xảy ra sau thời điểm hiện tại.
spring:
cloud:
gateway:
routes:
- id: route_after
uri: https://example.org
predicates:
- After=2023-01 ...
Đăng vào ngày 17 tháng 5 lúc 17:00