1. 程式人生 > >app多版本控制的服務端解決方案

app多版本控制的服務端解決方案

1.應用場景

手機客戶端按一定週期發版,但是客戶不一定會及時更新到最新版本,所以需要服務端能支援舊版手機客戶端。

服務端支援舊版手機客戶端的方式主要有:

  • 相同的介面支援不同版本手機端的請求,需要服務端介面做好相容
  • 相同的介面支援不同版本手機端的請求,但是在header或者uri加入了version資訊,需要服務端根據version資訊做相應的處理
  • 不同的介面支援,不同版本手機端的請求,需要服務端呼叫不同的介面

2.最佳實踐

針對上面的第2種方式的實現方式有:

服務端只部署一套程式碼,根據版本號引入相應的控制器處理手機端的請求
服務端根據版本號部署多套程式碼,根據版本號將手機端的請求轉發到相應的上游服務
由於服務端介面修改了返回值結構,不能相容舊版本手機端,而且需要上線新版本程式碼,所以採用部署多套程式碼的方式。利用nginx的反向代理,不同的版本號對映到nginx不同的埠號上