发布相关知识

预发布:

  • 线上用户没有入口,只有内部工程师有入口
  • 工程师配置host访问预发布服务器
  • 支付等避免出现问题:打款配置1块钱,上线时要确认是否修改
  • 发布:
    • 发布日期:周一,周二准备,周三发布,周四周五发现问题处理
    • 火车头自动发布模型:定时运行,每一站例行检查,通过上车,不通过下车
  • 考量点:
    • 发布时保证缓存和数据库数据一致
    • 对数据库操作,要锁住其他服务对数据库的修改,直到所有服务升级完再解除
    • 观察服务日志和对应的功能点
    • 观察线上环境日志
  • app灰度发布平台:
    • 用户筛选:
      • 根据平台、版本、类别、城市
      • 查找设备标识:IMEI openuuid token
      • 手动上传设备标识
    • 发布任务
      • 将指定的版本app关联到指定的用户集合
      • 支持定时
    • 任务管理
      • 管理已发布或者已下线的任务
      • 能查看已发布任务的具体数据,如下载量等
      • 任务进行过程中能够增加或减少目标用户集合
      • 任务可以被暂停、上线
    • 版本控制
      • 判断设备版本号是否能升级,设备版本号要小于灰度的版本号
      • 多个灰度版本之间能够升级
    • 分流模块
      • 判断设备是否是灰度版本目标用户
    • 下载模块
      • 提供指定灰度版本app的下载更新地址
    • 灰度设计:
      • 协议:http+json
  • 用户筛选方式:
    • 通过hive或者mysql数据库
    • 前提:选择灰度目标用户时,用户量不超过百万,且都是活跃用户
      • 方案一:通过hive筛选,将各app日志在一个集群中,按统一格式进行清洗,查询时间较慢。筛选结果数据针对uid或者ios仍然需要再转换成token
      • 方案二:将数据按规定格式写入mysql,数据实时或定时批量写入,定时删除
  • 定时发布任务
    • 目的让用户在指定时间之后升级,未到时间不允许下载升级,同时在指定时间通过推送方式通知用户
    • 方案一:发布任务后,直接将用户与灰度版本关联,并增加生效时间,同时在任务生效时,触发推送
    • 方案二:在任务生效的指定时间,建立用户与灰度版本管理关系,同时触发推送

文章作者: BY 木易杨
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 BY 木易杨 !
评论
 上一篇
dockerfile最佳实践 dockerfile最佳实践
dockerfile最佳实践 Docker映像由只读层组成,每个只读层代表一个Dockerfile指令。这些层是堆叠的,每个层都是上一层的变化的增量。 减少构建时间:镜像的构建顺序很重要,当你向 Dockerfile 中添加文件,或者修改
2019-10-23 BY 木易杨
下一篇 
赠别寄语 赠别寄语
某老师给毕业生的寄语 致最努力最认真的你 恭喜你养成了成为社会精英的习惯,这是一生的财富,你会去到最好的环境,拥有令人羡慕的资源和机会,你的人生注定艰辛,因为环境和你的内心都不允许你懈怠,而世界文明的进步,也许靠的就是你们 你要学会放下
2019-10-22 BY 木易杨