Thực hành tốt nhất để quản lý đồng thời vào một giỏ trong trang web thương mại điện tử


18

Cách thực hành tốt nhất để quản lý trường hợp hai khách hàng thêm vào cùng một lúc một sản phẩm có cổ phiếu chỉ là 1 là gì?

Phải có một kiểm tra trong mã của giỏ để tránh một trong 2 khách hàng này thêm sản phẩm giống nhau?

Hoặc kiểm tra này phải được thực hiện trong giai đoạn thanh toán để thực hiện truy vấn thứ hai để xác nhận sản phẩm liên quan vẫn còn trong kho (có nghĩa là chưa được khách hàng đồng thời mua)?


Một số trang web, như đặt vé tại nhà hát, đặt thời gian giới hạn đối với mặt hàng đó cho bạn, trong khi đơn hàng đang được xử lý
Brad Thomas

Câu trả lời:


10

Không có câu trả lời hoàn hảo cho câu hỏi này và tất cả phụ thuộc vào chi tiết.

Với tư cách là 'tuyến phòng thủ' đầu tiên, tôi sẽ cố gắng tránh những tình huống như vậy, bằng cách đơn giản là không bán ra những bài báo thấp nếu có thể. Nếu điều này là có thể có thể phụ thuộc vào tình hình và loại bài viết bạn muốn bán. Trong công ty tôi làm việc, các bài viết hầu hết bị xóa khỏi trang web trước khi chúng tôi hết hàng. Nhưng chúng tôi đang bán toàn bộ bán hàng và một số ít bài viết còn lại được bán bởi những người bán hàng của chúng tôi dưới dạng ưu đãi đặc biệt. Điều này có thể không phải là một lựa chọn cho các cửa hàng nhỏ, đặc biệt là khi bán các mặt hàng giá cao.

Giải pháp để kiểm tra hai lần khi thêm một cái gì đó vào giỏ không phải là rất tốt. Mọi người đặt rất nhiều trong giỏ mà không bao giờ thực sự đặt hàng. Vì vậy, điều này có thể chặn bài viết này trong một khoảng thời gian nhất định.

Vì vậy, theo quan điểm khiêm tốn của tôi đối với các công việc nhỏ, cách tốt nhất là kiểm tra lần cuối ngay trước khi thanh toán, khi đơn hàng thực sự được đặt. Trong trường hợp xấu nhất, bạn phải nói với khách hàng của bạn rằng bạn đang hết hàng ngay bây giờ (điều gì đối với các cửa hàng nhỏ sẽ không xảy ra thường xuyên).


bắt tốt - cổ phiếu thấp và giá cao
rohanagarwal

5

Tôi nghĩ cách tốt nhất là chọn tùy chọn nào dưới đây phù hợp hơn cho trường hợp kinh doanh cụ thể :

  1. Khóa ngoại tuyến lạc quan

    ... Giải quyết vấn đề này ( vấn đề xung đột phiên ) bằng cách xác nhận rằng các thay đổi sắp được cam kết bởi một phiên không xung đột với các thay đổi của phiên khác. Xác thực trước khi xác nhận thành công là, theo một nghĩa nào đó, có được một khóa cho thấy việc tiếp tục thay đổi dữ liệu hồ sơ là ổn. Miễn là việc xác thực và cập nhật xảy ra trong một giao dịch hệ thống, giao dịch kinh doanh sẽ hiển thị tính nhất quán ...

  2. Khóa ngoại tuyến bi quan
    ... ngăn chặn xung đột bằng cách tránh chúng hoàn toàn. Nó buộc một giao dịch kinh doanh phải có được một khóa dữ liệu trước khi bắt đầu sử dụng nó, do đó, hầu hết thời gian, khi bạn bắt đầu một giao dịch kinh doanh, bạn có thể chắc chắn rằng bạn sẽ hoàn thành nó mà không bị trả lại bởi sự tương tranh điều khiển...
"Trong khi Khóa ngoại tuyến bi quan giả định rằng khả năng xảy ra xung đột phiên là cao và do đó hạn chế sự đồng thời của hệ thống, Khóa ngoại tuyến lạc quan cho rằng khả năng xảy ra xung đột là thấp. dữ liệu cùng một lúc. "


5

Đây là một vấn đề con người , cũng như một vấn đề cơ sở dữ liệu, khóa cơ sở dữ liệu là bit dễ dàng!

Cho rằng khách hàng có thể không bao giờ kiểm tra

Bạn có hai tùy chọn cơ bản:

  • Bạn dự trữ một mặt hàng cho khách hàng trong một thời gian sửa chữa (20 phút) sau khi họ đã thêm nó vào giỏ hàng - sau khi họ phải kiểm tra lại mức chứng khoán hoặc bắt đầu lại. Điều này thường được sử dụng để bán vé cho các sự kiện hoặc ghế của hãng hàng không.

  • Hoặc bạn nói điều gì đó giống như xxx xxx bình thường đã được gửi đi trong 24 giờ, nhưng hãy bảo lưu cổ phiếu khi họ thanh toán, trong trường hợp này bạn phải cho phép họ hủy đơn hàng sau khi thanh toán nếu một số mặt hàng còn trong kho chứ không phải hàng khác. (Mức cổ phiếu Xanh, Vàng, Đỏ cũng có thể hoạt động tốt, hoặc một số trang web cho biết, chứng khoán thấp ở mức thấp khi giảm xuống 1 hoặc 2)


2

Như mọi khi, nó phụ thuộc vào yêu cầu của bạn là gì. Nếu bạn là Amazon và bán 100.000.000 mặt hàng mỗi ngày, chi phí kiểm tra và khóa ưu tiên có thể bị cấm và vấn đề một khách hàng mỗi ngày không nhận được mặt hàng của họ là không đáng kể. Nó bạn đối phó trong các biểu tượng tôn giáo cổ hiếm có độc đáo và đắt tiền, điều ngược lại có thể áp dụng. Bản thân bạn phải biết trường hợp kinh doanh của bạn nằm ở đâu trên phổ đó.


2

Trong trường hợp của chúng tôi, chúng tôi đã sử dụng hàng đợi tin nhắn để xử lý các đơn đặt hàng và định cấu hình nó sao cho nó chỉ xử lý một công việc tại một thời điểm theo trình tự trên cùng một sản phẩm, theo kiểu FIFO.

Thông báo trước là bạn đang thêm một chi phí mới cho toàn bộ quá trình xử lý đơn hàng sẽ làm chậm trễ mọi thứ một chút.


bạn đang giới hạn hàng đợi chỉ được tiêu thụ bởi một người tiêu dùng
rohanagarwal

1

Cách thực hành tốt nhất, đối với người dùng, rõ ràng là đảm bảo bổ sung thứ hai không thành công. Nhưng điều này sẽ làm chậm toàn bộ trang web của bạn vì lợi ích của trường hợp 0,1%.

Giải pháp hiệu quả nhất về mặt kỹ thuật và là giải pháp tối đa hóa doanh số, là cho phép nó thành công và sau đó cố gắng hoàn thành cả hai đơn hàng sau - chỉ vì bạn không có cổ phiếu ngay bây giờ, không có nghĩa là bạn không thể tìm thấy nó trong trường hợp khẩn cấp. Nếu bạn không thể thì ai đó phải liên hệ với người dùng may mắn và xin lỗi. Nhưng đó chính xác là những gì dẫn đến sự náo động trước Giáng sinh năm nay (đây không phải là bài viết duy nhất xuất hiện, vì vậy xin lỗi Best Buy nhưng đó là bài viết đầu tiên tôi tìm thấy).

Công việc của bạn là trình bày tất cả các lựa chọn cho doanh nghiệp, với những ưu và nhược điểm, và để họ quyết định dựa trên lời khuyên của bạn. Nếu họ có thể đủ khả năng để đạt được danh tiếng nhỏ thường xuyên để tối đa hóa doanh số thì đủ công bằng; nếu họ không thể và lưu lượng truy cập thấp đến mức bạn có thể kiểm tra cập nhật hai lần một cách nhanh chóng thì đó cũng là cuộc gọi của họ.

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.