4 điểm bởi GN⁺ 2024-03-01 | 1 bình luận | Chia sẻ qua WhatsApp

Đã hoàn tất sửa lỗi hệ thống thanh toán

  • Sau đợt xử lý khẩn cấp vào sáng nay, đội ngũ thanh toán đã sửa lỗi khiến người đăng ký theo tháng bị tính nhầm phí cho ngày bổ sung.
  • Hiện tại toàn bộ bộ kiểm thử đều đã vượt qua, và SRE dự kiến sẽ thực hiện phân tích hậu sự cố sau khi QA xác nhận bản sửa vào năm 2028.

Ý kiến của GN⁺

  • Trường hợp sửa lỗi lần này nhấn mạnh tầm quan trọng của QA (Quality Assurance) trong phát triển phần mềm. Những lỗi không được phát hiện qua quy trình QA có thể gây ra vấn đề trong môi trường vận hành thực tế, và điều này ảnh hưởng trực tiếp đến mức độ hài lòng của khách hàng.
  • Quy trình phân tích hậu sự cố (postmortem) là một bước quan trọng để phân tích nguyên nhân và ngăn ngừa tái diễn sau khi xảy ra sự cố hệ thống hoặc lỗi. Thông qua đó, nhóm có thể nâng cao năng lực giải quyết vấn đề và chuẩn bị các biện pháp phòng ngừa để những vấn đề tương tự không lặp lại.
  • Các hệ thống thanh toán khác cung cấp tính năng tương tự gồm có Stripe, PayPal, v.v.; mỗi hệ thống đều có các tính năng riêng về bảo mật và độ ổn định. Trước khi sử dụng, nên so sánh đặc điểm và chi phí của từng dịch vụ.
  • Những yếu tố cần cân nhắc khi áp dụng công nghệ này bao gồm độ ổn định của hệ thống, trải nghiệm người dùng và hiệu quả chi phí. Ngoài ra, khả năng phản ứng nhanh và giao tiếp minh bạch khi xảy ra sự cố cũng rất quan trọng.
  • Lợi ích có thể đạt được khi lựa chọn công nghệ này là khôi phục niềm tin của khách hàng và cải thiện độ ổn định của hệ thống, nhưng mặt khác cũng có thể phát sinh các chi phí ngắn hạn như gián đoạn công việc do phải sửa lỗi khẩn cấp.

1 bình luận

 
GN⁺ 2024-03-01
Ý kiến trên Hacker News
  • Câu chuyện một người bạn nghe được ở Trung Quốc: có lỗi trong phần tính tuổi của ứng dụng đặt lịch cấp giấy chứng nhận kết hôn, khi lấy độ tuổi tối thiểu theo luật là 22 trừ theo năm thì cho ra ngày 29 tháng 2 năm 2002, một ngày không tồn tại. Ứng dụng cố so sánh ngày này với ngày sinh của người dùng, nhưng vì mã xử lý lỗi giả định mọi lỗi đều phát sinh từ phép so sánh nên đã từ chối tất cả lịch hẹn đăng ký kết hôn với lý do người dùng chưa đủ tuổi kết hôn.
  • Có một sản phẩm dùng ChatGPT API và sử dụng phiên bản 3.5 turbo. Truy vấn có chứa một số ngày tháng, nhưng hôm nay thay vì trả về văn bản như bình thường thì nó trả lỗi vì cho rằng ngày 29 tháng 2 năm 2024 là ngày không hợp lệ. Thỉnh thoảng có thể dễ dàng tái hiện qua giao diện web; lúc đầu nó nói là ngày không hợp lệ, rồi trong quá trình giải thích nhận ra mình nhầm và đôi khi tự sửa lại.
  • Cloudflare đã gửi hóa đơn hôm nay, nhưng tên tệp PDF đính kèm lại là cloudflare-invoice-1970-01-01.pdf.
  • Tại các cửa hàng ICA ở Thụy Điển, vào sáng thứ Năm khách không thể thanh toán bằng thẻ. Thay vào đó họ phải trả bằng tiền mặt, Swish hoặc qua ứng dụng. Nguyên nhân được xác định là sự cố nội bộ trong hệ thống thanh toán của ICA do ngày bổ sung của tháng 2, tức ngày nhuận. ICA là chuỗi siêu thị thực phẩm lớn nhất ở Thụy Điển.
  • Có phần mềm ghi dữ liệu vào các thư mục xoay vòng theo ngày, và khi đang debug thủ công trên hệ thống thử nghiệm thì lần đầu tiên nó tạo thư mục vào ngày 29 tháng 2 theo UTC đã thất bại. Hóa ra là do hết dung lượng đĩa, nhưng đã tin chắc hơn một giờ rằng đó là lỗi năm nhuận.
  • Có một bot đăng lên Mastodon bản ghi thời tiết hằng ngày của San Francisco. Hôm nay nó không đăng như lịch. Nó tra cứu nhiệt độ cao nhất, thấp nhất và lượng mưa của ngày hiện tại từ năm 1875 đến nay, nhưng vì không có ngày 29 tháng 2 năm 1875 nên đã phát sinh lỗi.
  • Ngược lại! Một số dịch vụ vốn không chúc mừng sinh nhật vào các năm không nhuận thì hôm nay lại chúc mừng. Tôi sinh ngày 29 tháng 2.
  • Một ví dụ cụ thể là Theatrhythm Final Bar Line, trò chơi nhịp điệu dựa trên Final Fantasy, đã không xử lý cách ứng phó với ngày nhuận nên hôm nay mọi người không thể chơi game. Có thể khởi động trò chơi, nhưng thực tế thì không thể chơi.
  • Có một ứng dụng Rails 6 với bài kiểm thử kỳ vọng time_ago_in_words(1.year.from_now) sẽ trả về "khoảng 1 năm". Bài kiểm thử bị lỗi, và ban đầu tưởng là flaky test, nhưng có thể tái hiện ở máy local. Lý do là nếu chạy đoạn mã đó vào ngày nhuận thì nó trả về "gần 1 năm". Có thể kiểm tra trong Rails console.
  • Tại một số trạm xăng ở New Zealand, các máy bơm nhiên liệu đã không hoạt động vào thứ Năm do một "trục trặc năm nhuận" trong phần mềm thanh toán. Các trạm xăng và nhà cung cấp dịch vụ thanh toán đã xác nhận điều này.