我有一个 .Net Windows 服务,它通过https://android.googleapis.com/gcm/send发送 GCM 推送通知。
该服务以每秒 10 条的速率定期发送大约 10,000 条消息。对于每批,5 - 10 条消息将导致“502 Bad Gateway”响应。生成 502 的消息总是通过第二次尝试。
这是正常的吗?我会不会太快发送太多消息?
我有一个 .Net Windows 服务,它通过https://android.googleapis.com/gcm/send发送 GCM 推送通知。
该服务以每秒 10 条的速率定期发送大约 10,000 条消息。对于每批,5 - 10 条消息将导致“502 Bad Gateway”响应。生成 502 的消息总是通过第二次尝试。
这是正常的吗?我会不会太快发送太多消息?
根据GCM 指南,所有 5xx 错误代码都应视为临时错误,并且应重试收到这些错误的请求:
5xx 500-599 范围内的错误(例如 500 或 503)表示 GCM 服务器在尝试处理请求时出现内部错误,或者服务器暂时不可用(例如,由于超时)。发件人必须稍后重试,遵守响应中包含的任何 Retry-After 标头。应用程序服务器必须实现指数退避。
我不认为每秒 10 条消息太快。只要您的代码处理此错误并重试,我认为应该没有任何问题。