Làm thế nào tốt nhất để kiểm tra kết nối của máy chủ web với cơ sở dữ liệu?


1

Quản trị viên CNTT của chúng tôi đang yêu cầu điểm cuối api trong ứng dụng web của chúng tôi để sử dụng làm kiểm tra sức khỏe. Logic trong api nên thực hiện bất kỳ truy vấn cơ sở dữ liệu đơn giản nào để đảm bảo rằng máy chủ web có thể kết nối với cơ sở dữ liệu. Ý tưởng là sự thất bại của cuộc gọi api này có thể kích hoạt tự động ngừng hoạt động của máy chủ web, v.v.

Điều này chắc chắn sẽ làm việc, nhưng có vẻ như một chút nhà làm. Có cách nào tốt hơn bằng cách sử dụng công cụ ngoài hộp vv để đạt được điều này? Chúng tôi đang ở trên ngăn xếp của Microsoft nên các hộp web là IIS 8 và cơ sở dữ liệu là SQL 2014.

Câu trả lời:


1

Bạn có thể làm như bạn đề xuất, tuy nhiên bạn sẽ cần thực hiện cuộc gọi api theo định kỳ từ "nơi nào đó". Bạn vẫn sẽ có hành vi không mong muốn trong khoảng thời gian giữa khi DB ngừng hoạt động và ping tiếp theo phát hiện ra nó.

Một giải pháp khác là bắt lỗi trong trình xử lý toàn cầu. (Trong ASP.NET bạn có thể thực hiện việc này trong tệp Global.asax.) Bạn có thể kiểm tra lỗi và nhận được khá chi tiết nếu bạn muốn, chẳng hạn như thực hiện một hành động nếu kết nối với DB đã hết thời gian hoặc hành động khác nếu kết nối hợp lệ nhưng có lỗi quyền. Lưu ý rằng lỗi kết nối DB sẽ chỉ xảy ra với trình xử lý toàn cầu nếu có lỗi khác không xử lý trước.

Gợi ý: cố gắng biến phần "những gì bạn làm về nó" thành một cơ chế riêng biệt từ phương pháp phát hiện. Bằng cách đó, bạn thậm chí có thể thực hiện cả hai ý tưởng, hoặc một phần ba và chia sẻ cùng một hành động kết quả.


Đề nghị hữu ích, như phát hiện mức độ ứng dụng tốt hơn. Cảm ơn!
Joe Capka
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.