方案分析

操作方案预想可能遇到的问题解决方案正常结果备注
获取zendesk到缓存查找第三方网站是否可以提供相应接口;
如果没有,正则抓取,
抓取频率,考虑网站I/O 原计划1分钟 后更改为 5分钟抓取一次
抓取完成后存入数据库,考虑到功能特性不必要如此健壮,采用存入redis中其中有效期为60min,每5min覆盖一次数据
第三方网站不可用;布局更改;取之前有效期内(60min)前三条记录 如不存在提示
{
            "title": "公告系统维护中",
            "url": "https://bcexglobal.zendesk.com/hc/en-us"
        }
每五分钟存入一次缓存中英文各三条,以覆盖形式存入本地环境无异常,测试环境无异常
APP端调用数据根据路由获取数据缓存失效;缓存不存在返回 {
            "title": "公告系统维护中",
            "url": "https://bcexglobal.zendesk.com/hc/en-us"
        }
英文返回:{
    "code": 0,
    "msg": "OK",
    "data": [
        {
            "title": "New Trading Mechanism "Maker-Taker"will be launched",
            "url": "https://bcexglobal.zendesk.com/hc/en-us/articles/360010577893-New-Trading-Mechanism-Maker-Taker-will-be-launched"
        },
        {
            "title": "Service Fee",
            "url": "https://bcexglobal.zendesk.com/hc/en-us/articles/360009200933-Service-Fee"
        },
        {
            "title": "Example of making a deal :Registration – Deposit – Trading - Withdra ",
            "url": "https://bcexglobal.zendesk.com/hc/en-us/articles/360009073094-Example-of-making-a-deal-Registration-Deposit-Trading-Withdra-"
        }
    ]

}

中文返回

{
    "code": 0,
    "msg": "OK",
    "data": [
        {
            "title": "期货交易规则和网址",
            "url": "https://bcexglobal.zendesk.com/hc/zh-cn/articles/360010578653-%E6%9C%9F%E8%B4%A7%E4%BA%A4%E6%98%93%E8%A7%84%E5%88%99%E5%92%8C%E7%BD%91%E5%9D%80"
        },
        {
            "title": "全新交易机制“Maker-Taker”重磅上线",
            "url": "https://bcexglobal.zendesk.com/hc/zh-cn/articles/360010577633-%E5%85%A8%E6%96%B0%E4%BA%A4%E6%98%93%E6%9C%BA%E5%88%B6-Maker-Taker-%E9%87%8D%E7%A3%85%E4%B8%8A%E7%BA%BF"
        },
        {
            "title": "交易界面介绍及挂单说明",
            "url": "https://bcexglobal.zendesk.com/hc/zh-cn/articles/360009198613-%E4%BA%A4%E6%98%93%E7%95%8C%E9%9D%A2%E4%BB%8B%E7%BB%8D%E5%8F%8A%E6%8C%82%E5%8D%95%E8%AF%B4%E6%98%8E"
        }
    ]
}
本地环境无异常,测试环境无异常
Web端调用数据根据路由获取数据缓存失效;缓存不存在返回 {
            "title": "公告系统维护中",
            "url": "https://bcexglobal.zendesk.com/hc/en-us"
        }
英文返回:{
    "code": 0,
    "msg": "OK",
    "data": [
        {
            "title": "New Trading Mechanism "Maker-Taker"will be launched",
            "url": "https://bcexglobal.zendesk.com/hc/en-us/articles/360010577893-New-Trading-Mechanism-Maker-Taker-will-be-launched"
        },
        {
            "title": "Service Fee",
            "url": "https://bcexglobal.zendesk.com/hc/en-us/articles/360009200933-Service-Fee"
        },
        {
            "title": "Example of making a deal :Registration – Deposit – Trading - Withdra ",
            "url": "https://bcexglobal.zendesk.com/hc/en-us/articles/360009073094-Example-of-making-a-deal-Registration-Deposit-Trading-Withdra-"
        }
    ]

}

中文返回

{
    "code": 0,
    "msg": "OK",
    "data": [
        {
            "title": "期货交易规则和网址",
            "url": "https://bcexglobal.zendesk.com/hc/zh-cn/articles/360010578653-%E6%9C%9F%E8%B4%A7%E4%BA%A4%E6%98%93%E8%A7%84%E5%88%99%E5%92%8C%E7%BD%91%E5%9D%80"
        },
        {
            "title": "全新交易机制“Maker-Taker”重磅上线",
            "url": "https://bcexglobal.zendesk.com/hc/zh-cn/articles/360010577633-%E5%85%A8%E6%96%B0%E4%BA%A4%E6%98%93%E6%9C%BA%E5%88%B6-Maker-Taker-%E9%87%8D%E7%A3%85%E4%B8%8A%E7%BA%BF"
        },
        {
            "title": "交易界面介绍及挂单说明",
            "url": "https://bcexglobal.zendesk.com/hc/zh-cn/articles/360009198613-%E4%BA%A4%E6%98%93%E7%95%8C%E9%9D%A2%E4%BB%8B%E7%BB%8D%E5%8F%8A%E6%8C%82%E5%8D%95%E8%AF%B4%E6%98%8E"
        }
    ]
}
本地环境无异常,测试环境无异常
$this->success();友好提示该业务牵扯业务过多,因为app可能只需要两种语言,而国际版
需要4种,甚至更多,所以选择采用按照模块来归类返回结果信息,即三个项目
都采用同一个success_msg文件,而不是success_app || success_bcex || success_exas
如果采用三个系统三个文件,对于后端来讲维护成本过高,会导致冗余。但是如果该业务需要水平扩展意向非常强,其实三个文件为最可取
预分析案例
方案一:app端发现code:0 msg:"验证成功"不是该模块需要的准确提示需要更改为 msg:"验证谷歌验证码成功",则只需要更改success_app文件即可,
但是在app刚更改完后bcex这边又又需求也是相同的模块,也需要把"验证成功"更改为"验证谷歌验证码成功",然后考虑到success_exas是否需要更改,于是去跟进相关负责人,相关负责人表示,不用修改,继续使用"验证成功"就可以了,于是这次更改只是执行了两个端的同步,但是另一个没有修改,如果业务做起来,这种情况会越来越多,差异化会越来越大,越来越不好管理,导致人员工作效能无收益化。
方案二:所有成功提示存入一个文件统一管理,最后发现app想要"验证谷歌验证码成功",但是bcex想要"谷歌验证成功",最后必须有一方妥协,客观来讲,遇到公用一个资源而且只有一个出口的情况下,只能一方采取妥协,或者坚持观点,所以会导致分歧,这会耗费一些不必要的沟通成本,但是方便是后端人员可以省出多余时间做一些优先级更高的事情。
总结
1.不考虑HA情况下,个人倾向方案二,第一是维护成本低,第二是主要开发返回的都是成功信息,绝大多数都是由后端提供后端如果三个文件,而且此类文件数据往往众多,少则500+多则1000+,难免会有人员疏忽导致推送信息错误,所以论一个经历过翻译bug折磨过的程序员来讲,我更倾向于方案二,即一个文件管理三个系统的翻译。

 
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值