Đẩy so với bình chọn khi độ trễ lớn (giờ) là chấp nhận được


10

Ngày nay có vẻ hợp lý rằng bỏ phiếu là một thực tiễn tồi tệ và thúc đẩy là cách tốt nhất để phát triển các ứng dụng di động đòi hỏi phải liên tục nhận dữ liệu từ một máy chủ từ xa.

Tất cả các cửa hàng di động lớn cung cấp phiên bản dịch vụ thông báo đẩy của họ:

Tuy nhiên tôi đang tự hỏi đến mức nào thì giả định này là hợp lệ. Ý tôi là, nếu tôi có một ứng dụng thăm dò máy chủ từ xa chỉ một vài lần một ngày và "thông báo" không cần phải gửi ngay lập tức (độ trễ lớn có thể chấp nhận được), thì đó có phải là một quyết định tốt để thăm dò dữ liệu thay vì đẩy nó?

Cảm ơn trước!


1
Tôi không đủ quen thuộc với các cơ chế đẩy di động để thực sự cân nhắc vấn đề này, nhưng tôi tự hỏi liệu sử dụng cơ chế đẩy có thể cứu được một số vấn đề đau đầu, ví dụ như liên quan đến việc xử lý các tình huống tắt / ngủ. Nếu đây chỉ là một ứng dụng máy tính để bàn / web, thì tôi sẽ nói rằng bỏ phiếu là tốt; đẩy thông thường cũng liên quan đến việc giữ kết nối mở trên máy chủ web của bạn, vì vậy đó là một lợi thế khác của việc bỏ phiếu trong máy tính để bàn / trình duyệt, nhưng vì đây là một ứng dụng di động và bạn có thể sử dụng các cơ chế đẩy thay thế này, tôi nghĩ câu trả lời có thể khác.
Học viên của Tiến sĩ Wily

Câu trả lời:


14

Bỏ phiếu luôn được chấp nhận khi thời gian thực không phải là điều cần thiết. Điều bạn phải tự hỏi là tại sao bạn lại sử dụng cái này thay vì cái kia?

Mục đích của dịch vụ đẩy là một vài điều; bạn có thể xử lý lưu lượng truy cập ít hơn đáng kể nếu quảng cáo của bạn là chương trình phát sóng và nhà cung cấp bên thứ 3 thực hiện phát sóng - điều này cho phép bạn gửi một tin nhắn và nhận được hàng ngàn tin nhắn. Nhưng như bạn lưu ý, lợi ích lớn nhất của dịch vụ đẩy là bản chất thời gian thực cho phép cập nhật ngay lập tức để tiếp cận người tiêu dùng của bạn. Tuy nhiên, khi thực hiện các thao tác đẩy, bạn thực sự không bao giờ muốn đẩy các tập dữ liệu lớn nếu bạn đang phát sóng và bạn cũng cảm thấy xót xa cho dịch vụ đẩy của bên thứ ba mà bạn sử dụng (nếu bạn sử dụng một tập tin).

Mục đích của một cuộc thăm dò là để kiểm tra sự khác biệt dữ liệu theo định kỳ, trong đó thời gian cập nhật có thể có SLA không chính xác chấp nhận được trong một khoảng thời gian nhất định. Một cuộc thăm dò sẽ yêu cầu tất cả khách hàng của bạn yêu cầu dữ liệu định kỳ, điều đó có nghĩa là một kết nối được yêu cầu cho mọi khách hàng đang chạy và sự cần thiết của một dịch vụ trực tiếp có thể giám sát dữ liệu đó một cách chính xác để phục vụ dữ liệu đó cho người thăm dò. Có dữ liệu chính xác để phục vụ có nghĩa là một số dữ liệu tồn tại sẽ chiếm thời gian đĩa và bảo trì.

Vì vậy, từ điều này, chúng ta có thể thấy rằng nếu bạn lo ngại về lưu lượng mạng hoặc bảo trì dịch vụ (có nghĩa là có thể xác thực / ủy quyền các yêu cầu, đăng nhập chúng chiếm dung lượng đĩa, tất cả các yêu cầu thông thường của việc duy trì dịch vụ) thì bạn không ' t muốn buộc khách hàng bỏ phiếu. Tuy nhiên, nếu trường hợp sử dụng yêu cầu truyền một tập dữ liệu đặc biệt lớn hoặc bạn không thể bị ràng buộc với API của bên thứ ba có thể thay đổi kịp thời cũng như SLA hoặc các khoản phí của họ, thì có thể áp dụng hệ thống bỏ phiếu tại nhà. chi phí có thể cao hơn đáng kể Ngoài ra, bạn có thể đã chạy dịch vụ và dữ liệu vẫn tồn tại sao cho việc bỏ phiếu là một bổ sung nhẹ cho cơ sở hạ tầng tại chỗ, điều này khiến việc bỏ phiếu trở nên hấp dẫn hơn.

Mặc dù đến điểm trung tâm bạn làm cho bạn là chính xác; nếu thời gian thực là cần thiết , bỏ phiếu sẽ không làm. Nếu không, thì bạn chỉ cần thực hiện phép toán về cách kiểm tra dữ liệu định kỳ nhân với cơ sở khách của bạn nhân với kích thước tập dữ liệu của bạn để quyết định xem chi phí mạng có đáng không, hoặc nếu dịch vụ đẩy sẽ tốt hơn khi bạn luôn có thể đẩy một sự kiện thay đổi để họ yêu cầu tập dữ liệu lớn ở bước thứ cấp (mặc dù tính nguyên tử của các bước này có thể là điều bạn cần cẩn thận tùy thuộc vào mức độ quan trọng của dữ liệu).


3

Bỏ phiếu sẽ tốt trong trường hợp của bạn. Và bạn sẽ không phải tích hợp với một hệ thống khác (hoặc nhiều hệ thống cho nhiều nền tảng).

Thiết bị cụ thể có thể là một vấn đề, mặc dù. Bạn có thể thăm dò đáng tin cậy khi ứng dụng không ở phía trước và trung tâm trên thiết bị không? (có thể hoặc không thể là một vấn đề cho bạn). Khả năng của bạn để làm như vậy có thể phụ thuộc vào công nghệ bạn đang sử dụng để phát triển ứng dụng.


Tôi dự định sử dụng bộ tính giờ tích hợp để đảm bảo ứng dụng thăm dò máy chủ ngay cả khi nó không "hoạt động". Tôi biết cách thực hiện trên Android và tôi hy vọng iPhone và WindowsPhones cung cấp chức năng tương tự;)
Thomas CG de Vilhena

2

Tất nhiên. Nó cũng dễ dàng hơn (chỉ cần cẩn thận với các mũi nhọn kéo nếu mọi người đều kéo theo cùng một lịch trình).

Điều đó nói rằng, tôi sẽ thách thức giả định rằng "một độ trễ lớn là có thể chấp nhận được", xem xét kỳ vọng của người dùng di động. ('Bản đồ không được cập nhật theo thời gian thực! Không thể chấp nhận được!' - hoặc - 'Tôi biết đó là dịch vụ thời tiết, nhưng tôi sẽ tiếp tục nhấn nút làm mới đó cứ sau 5 giây cho đến khi dự báo ngày mai trời chuyển nắng!')


Điểm tốt về việc ngăn chặn tất cả mọi người bỏ phiếu cùng một lúc. Tôi đoán cài đặt bộ hẹn giờ ngẫu nhiên sẽ thực hiện các mẹo!
Thomas CG de Vilhena
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.