app版本控制的几种方式

是否需要做版本控制?

  • 出入参保持不变,迭代对app无感知,不需要版本控制
  • 如果对比之前新增或者减少了参数,但是可以通过给默认值或者兼容零值的方式兼容老逻辑,不需要版本控制
  • 其他情况需要进行版本控制

版本控制的几个方案

灰度部署,通过nginx分发

需要服务器机器支持灰度部署,比如目前服务器有两套,一套做灰度一套新版本。在请求的时候带上app版本号,通过nginx控制分发到灰度还是新版本。

优点:可以通过监控灰度流量知道还有多少用户没有升级app,当灰度的流量降低到一定程度时可以将灰度机器也更新成新的代码。无论是前端还是后端都对代码迭代无感知。
缺点:需要硬件服务器的支持。版本迭代很快的时候不适用。

在url中使用版本编号,通过拦截器分发

比如login接口,1.0版本url可以设置为
https://xxx.xxx/lv1/login/xxx
2.0版本url设置为
https://xxx.xxx/lv2/login/xxx

在处理路由的时候分开处理。

在请求参数中使用版本号

在请求参数中新增版本号参数,比如携带在header或者请求参数中,服务端拿到版本号参数之后对版本进行判断,然后走不通的处理逻辑。比如:

if (version > "1.6.1") {
	//xxxxx
} else {
	//xxxxx
}

这个会导致代码很乱,各个版本的逻辑混杂。当更新频率很高的时候,代码中会出现很多地方进行版本判断,整体很杂乱。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: esp8266与手机app有多种通信协议,常见的包括HTTP协议、MQTT协议、WebSocket协议等。其中,HTTP协议是一种常用的Web应用程序通信协议,可以通过RESTful API进行通信。MQTT协议是一种基于发布/订阅模式的轻量级消息传输协议,适用于IoT应用场景。WebSocket协议则是一种基于TCP连接的全双工通信协议,适用于实时通信应用。这些协议的选择取决于具体的应用场景和需求。 ### 回答2: ESP8266与手机APP之间可以使用多种通信协议进行通信。以下是其中几种常见的通信协议: 1. Wi-Fi:ESP8266是一个Wi-Fi模块,可以通过Wi-Fi协议与手机APP进行通信。手机APP可以连接到ESP8266创建的Wi-Fi网络,并通过TCP/IP协议进行数据交互。这种方式常用于通过局域网将手机APP与ESP8266连接起来,实现远程控制和数据传输。 2. MQTT:MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息传输协议。ESP8266可以使用MQTT协议与手机APP进行通信。手机APP可以发布消息到指定主题,同时ESP8266则可以订阅相应的主题,接收并处理这些消息。这种方式常用于实现实时数据传输和通知功能。 3. HTTP:ESP8266可以通过HTTP协议与手机APP进行通信。手机APP可以通过发送HTTP请求与ESP8266进行数据交互。ESP8266作为HTTP服务器,可以接收和响应手机APP发送的HTTP请求,实现数据传输和控制。 4. WebSocket:WebSocket是一种基于TCP的协议,在底层实现了双向通信。ESP8266可以通过WebSocket与手机APP进行通信,实现实时双向数据传输。这种方式常用于实时监控和控制等场景。 综上所述,ESP8266与手机APP之间可以通过Wi-Fi、MQTT、HTTP和WebSocket等多种通信协议实现通信。根据具体需求和场景,选择合适的通信协议可以更好地实现功能,提高通信效率。 ### 回答3: ESP8266与手机App通信可采用多种通信协议。其中最常见的有以下几种: 1. HTTP协议:ESP8266可以作为HTTP服务器,接收来自手机App的HTTP请求,并返回相应的数据。这种方式简单易实现,适用于与App进行数据交互的场景。在App中可以使用HttpClient等库发送HTTP请求,并解析服务器返回的数据。 2. MQTT协议:ESP8266可以使用MQTT协议与手机App进行通信。MQTT是一种轻量级的发布/订阅协议,适用于物联网领域。ESP8266作为MQTT客户向MQTT服务器发布消息,App注册为订阅者并接收发布的消息。可以使用PubSubClient等库在ESP8266上实现MQTT通信。 3. WebSocket协议:ESP8266可以通过WebSocket协议与手机App进行双向通信。WebSocket是一种支持双向通信的协议,适用于实时交互的场景。在App中可以使用WebSocket库与ESP8266建立WebSocket连接,并进行双向消息的传递。 4. UDP协议:ESP8266可以使用UDP协议与手机App进行通信。UDP是一种无连接的通信协议,适用于实时性要求高、数据量小的场景。可以使用WiFiUDP等库在ESP8266上实现UDP通信。 以上是ESP8266与手机App常用的通信协议,选择合适的协议取决于具体的应用场景和需求。通过这些通信协议,可以实现ESP8266与手机App之间的数据交换和控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值