美文网首页
建设平台级项目的一些经验与思考

建设平台级项目的一些经验与思考

作者: 输入昵称就行 | 来源:发表于2022-12-12 11:34 被阅读0次

    可迁移

    在我们开发平台项目的时候,如果涉及到不少数据与环境无关,那平台项目必须具备环境迁移能力;

    • 数据库脚本迁移(无缓存的可使用,自增id当业务id的慎用)
    • 页面上导入导出(需要一定开发量,需要做导出文档验证等逻辑,适合有缓存或者处理逻辑的初始化)
      举例: 统一权限平台,会涉及到很多服务的资源角色菜单等数据需要人工或脚本录入,如果平台不支持迁移功能,那这个工作量会非常大,而且人工操作无法保证0风险。

    可灰度

    平台级项目需要保证高度可用,测试环境同样的操作可行,并不代表在生产环境同样操作就可以达到同样效果,所以平台必须具备生产灰度的能力,保证同样环境下没有问题才能正式应用于生产。

    • 提供灰度测试能力
      举例: 短信平台,如果生产环境没有预先灰度测试短信模板,如果在高并发的项目下直接接入,短时间会造成大量的错误,无法发出或者发出错误的结果。

    可限流降级

    平台级项目要保证可靠,如果有非正常的流量,应该具备针对流量入口能做到精准限流与降级处理

    • 针对接入侧指定控制(比如通过client或租户做拦截)
      举例:在saas服务服务中,如果有非法租户非法高频率调用接口,那应该具备针对该租户限流拉黑降级的能力,防止影响其他租户。

    可回滚

    平台项目要保证发版后能兼容旧的接入方,所以必然要保证如果发版发生问题可以最快回滚,保证旧版本不受影响。

    • 版本兼容(新增功能表修改、逻辑调整必须考虑对旧的版本的影响,版本回滚要考虑数据修复很问题)

    相关文章

      网友评论

          本文标题:建设平台级项目的一些经验与思考

          本文链接:https://www.haomeiwen.com/subject/hsoqqdtx.html