博客

  • 凌晨半夜短信通道异常,乙方如何答复?

    作为甲方,我们经历一场凌晨短信通道异常的煎熬,这个时候正是多数人睡梦中。我们却睡梦中惊醒。短信通道异常,用户无法收到短信,我们非常被动。出了什么问题,哪个环节出了问题,我们如何处理?见到问题后,我们首先排查了自身短信服务的情况,均无问题,于是问题的重点在短信服务商出了问题。下面详细介绍一下我们排查问题的关键要素与处理方案,最后我们来分析乙方如何答复,阐述了为什么我只打50分,连及格分也没有给。

    短信流水

    我们能看到的短信流水是乙方提供的流水,仅代表了短信被乙方收到,乙方将短信送到移动电信联通运营商的过程与结果,完全是在黑盒子里。比较尴尬的是乙方不提供短信回执,整个流程就变得不可监控,无法预知了。我方收到的流水均是乙方返回的成功流水,对于短信的真实发送状态,完全没有了参考意义。

    紧急预案

    非常幸运的是我们接入了多个短信平台,对于某个短信平台出现异常问题,我们采取了快速的通道切换措施。面对紧急情况,我们关心的是业务如何快速恢复可用状态,短信服务商如不能给出一份具有负责感的短信故障分析报告,估计是很难切回去。表面上大家一团和气,似乎不是什么大问题,作为甲方,一群人半夜无眠,也许都没有人愿意再切回去了。

    短信数据核对

    合作的过程,彼此的信任是非常重要的,短信无法进行监控,无回执,非常的致命。通过核对短信提交到乙方时间、短信提交到运营商时间、运营商回执时间,回执状态这些关键的短信数据,分析出了事故的发生时间,与处理耗时。这些在乙方的故障报告中均无所体现。所以,做为甲方,要看数据说话,从数据看自己关心的点。

    乙方如何答复

    出现这种事故,乙方如何争取甲方切回通道呢?一份详尽的报告与整改措施是必不可少的,切记,不要一份甩锅的事故报告,把自己的责任推得一干二净的。至少从一个甲方的角度考虑,问题这么久,乙方有没有机制自动发现问题自动修复。如何避免重复问题的产生?若答复踩不到要点,让甲方爸爸怎么安心开启通道。

    后记

    做为甲方爸爸,我在想什么,乙方要好好想想,现在短信平台太多了,竞争那么激烈,我们程序又能做通道切换,服务不好,就切走了。估计乙方看不到我写的东东,还在纳闷,为什么给了一份“专业”的事故报告,我们也没有在群里生气,通道却没有再切回去。

  • C# .Net MVC 下的 [OutputCache(Duration = 300)] 缓存穿透问题

    近期做压测优化时,特意选用了无侵入式代码注解方式[OutputCache(Duration = 300)] 对接口做了5分钟缓存。依据业务预期,5分钟的缓存能确保我们的接口顺利通过压测。就在满怀信心等着通过的报告时,却被打脸了。

    报告显示,在前2分钟,接口返回都正常无错误,接下来就出现了错误返回。仔细想想,这个问题在于,缓存失效的一瞬间,大量的请求穿透过去,导致请求直接压到了需要保护的后端服务。

    于是,采用lock的方式,防止缓存击穿!

    protected static object sysncObject = new object();

    // 开缓存了,防止缓存失效的时候发现穿透效应
    lock (sysncObject)
    {
    //原来的业务逻辑
    }

    经过lock处理后,压测顺利通过。目前没有发现,OutputCache的Cache保护措施,只能使用DIY进行击穿保护。

  • 如何设计参数,防止新人掉坑里

    最近遇到2个非常真实的案例,一个参数控制2种不同的业务,虽然业务有所关联,但是严格的来讲,又属于两种不同的业务,导致花费了不少时间去梳理与配置。这让我不得不思考一下如何设计参数防止新人踩坑。真实的案例,真实的感受。

    案例一 开始时间 结束时间

    2个业务A、B都有开始时间与结束时间,业务场景一【开始时间X,结束时间Y】使用业务A,其他时间使用业务B,业务场景二【开始时间X,结束时间Y】使用业务B,其他时间使用业务A。

    如果设计参数的时候,仅设计2个参数开始时间与结束时间,还允许出现参数配置中出现开始时间大小结束时间的配置方式,的确,2个参数满足了业务配置。这块参数配置就像是人为挖了一个坑,一个简单的配置,变成了一个烧脑的配置。

    做为新人来讲,做梦也难以猜到一个配置影响2个业务,还能配置成开始时间大于结束时间,这都不符合常理。这直接导致花费了许久的时间与读代码,还耗费了技术经理的时间,这对于项目的可维护性来讲,就是毁灭性的打击。

    案例二 一个执行时间2个业务用

    2个业务A、B,一个参数配置,业务A取执行时间的小时部分,每小时执行,业务B取小时与分钟,每天执行一次。比如执行时间18:10,那业务A则每个小时的第10分钟执行,业务B则在每天的18:10分执行。

    看起来好的设计与实现,周末都在为业务排查出了什么问题。不看代码,难以想像一个参数控制了2个业务,还有这么精致的规则在里面。不踩坑都难。如果我们简单的用2个参数分别来控制业务A、B,何坑之有?

    小结

    我们并不是在一个电脑内存只有128k的时代,我们关心的不是参数能不能复用,我们关心项目的可维护性。感觉每个人写代码的思维方式真的是完全不一样,条条大路通罗马。站在可维护性的角度,坚决抵制一参多业务的编程习惯。

     

  • 2019 个人感悟感想 年终小小总结

    有的人,一帆风顺,有的人,注定要经历各种坎坷。每个人会有自己的坎,站在不同的角度,也许是自己难以越过去的,在别人眼里却是简单的事情。无所谓与不幸,真正静下心来想想,什么是自己能hold住的,什么是自己所向往的,技术的生活,有技术的好与不好。

    技术的层次

    技术也分难与易,底层与高层,思维方式大不一样。不同的思维方式,体现在产出的代码。自己在哪个层次?我们是否需要写算法?算法在工作中占多大的比重?在什么位置平衡?这些都是一致需要思考的。

    2019一直在思考这些,思考随着年龄的压力,随着时光的流逝,我们应该如何面对社会给过来的“压力”,如何调整自我的心态?不因物喜,关注自我的能力、成长、适应的环境。

    梦想

    曾经,我们想这样子,想那样子,真正步入社会之后,就会发现,梦想的距离真的很遥远。我们左右不了时代的,左右不了周期的人,也左右不了自己。在挣扎着认清之后,学会坦然去面对生活,不用强求自己达成何等目标,顺其自然。我们知道有的人会成为耀眼的颗星星,但是还是每个颗星星都要耀眼。

    当初的梦想,回过头来看看,也许只是一个笑话,当真正理解之后,也不用过于感慨,要做的事情是,在这年尾的日子里,想想明年,想想如何珍惜。任何时候都不晚,只要愿意改变自己。

    变迁

    就像80后听80后的歌曲,有一种找到感觉。新歌曲,开始天然有种抵触。历史的轮回就是这么一代一代,有如年青时,大人们觉得我们听的都是“垃圾”。这种变迁,说明,真的老了。

     

  • 中国移动福利|免费领取爱奇艺、腾讯视频、优酷Youku、芒果tv会员 中国移动官方Plus会员推广活动 视频会员任性免费领取

    “ Yuema约吗?一起学技术,一起成长!学海无涯 高人带路系列”

    程序的世界,就是有坑的地方!分享踩坑的心得与体验!每天分享一点点!
    关注公众号,进入学海无涯,高人带路模式!!视频会员再贵,有人带路,轻松搞定

    当月开通,下月生效!

    关注本公众号【Yuema约吗】回复“10086”,获取开通的短信指令

    最近发现中国移动推出了Plus会员服务,参与活动能免费领取视频会员。开通指令可以通过关注本公众号[Yuema约吗]回复“10086”获取。

    活动参与条件:

    月消费最低38元,月消费达不到38元的小伙伴可以转给符合条件的朋友!对于月消超过38元的小伙伴来说,视频会员相当于免费送!

    ​活动亮点:免费领取爱奇艺、腾讯视频、优酷Youku、芒果tv会员​

    开通效果

    【二次确认提醒】尊敬的客户您好,您即将订购北京移动PLUS会员承诺低消12个月合约方案,合约期12个月,下月生效。在合约期内每月最低消费38元,办理Plus会员(18元/月),每月折扣优惠18元!在合约期内,如您取消本合约方案,则需缴付已折扣优惠的PLUS会员价值总额(18元/月)的等额违约金。请在24小时内回复“是”确认订购,回复其他内容或不回复则不订购。会员含通信特权+积分特权+达量特权+数字生活特权+新业务特权+精选福利。【中国移动】

    尊敬的客户,您已成功办理北京移动PLUS会员承诺低消12个月合约方案,合约期12个月,下月生效,在合约期内每月最低消费38元,办理Plus会员(18元/月),每月折扣优惠18元!在合约期内,如您取消本合约方案,则需缴付已折扣优惠的PLUS会员价值总额(18元/月)的等额违约金。【中国移动】

    当月开通,下月生效!

    关注本公众号【Yuema约吗】回复“10086”,获取开通的短信指令

    Plus会员权益官方介绍

    会员规则

    产品名称:北京移动Plus会员

    产品资费:18元/月

    会员权益:

    • 1、北京移动plus会员尊享通信特权、积分特权、达量特权、数字生活、自有特权、精选福利六大类会员特权。
    • 2、通信特权:会员每月可在语音、流量、短信中选取一项领取。
    • 3、积分特权:根据会员上月话费账单消费金额领取积分,如上月消费不满足最低档位则当月无法领取积分,积分特权每月10日-月末可领取。当用户使用积分兑换礼品时将优先使用领取的积分,积分有效期至2019年12月31日。
    • 4、达量特权:会员自三项通信权益中任选一项领取,如上月不满足最低档位则当月无法领取相应通信权益。每月10日-月末可领取。
    • 5、数字生活:每月限领一款,可在腾讯视频、爱奇艺、优酷、芒果TV、喜马拉雅、作业帮等选取一款权益领取。所含权益如下:

    ¬ 爱奇艺:包含一个月会员+30GB爱奇艺定向流量,领取成功后您将收到爱奇艺下发的会员权益使用说明短信,请您使用该手机号直接登录爱奇艺网站或手机APP进行使用,享受您的会员权益;如您已经是爱奇艺会员,则会员有效期自动叠加到领取手机账号中;定向流量自领取之日起立即生效,次月最后一天失效,流量不可叠加。一个月会员=领取当月的天数,例如2月15日领取,至3月14日失效。

    ¬ 腾讯视频:包含31天会员+30GB腾讯视频定向流量,如您已经是腾讯视频会员,则会员有效期自动叠加到领取手机账号中;定向流量自领取之日起立即生效,次月最后一天失效,流量不可叠加。腾讯视频会员绑定说明如下:
    【1】如您已经将领取的手机号和QQ号/微信号进行过成功绑定,您使用绑定过的QQ号/微信号(您会收到短信告知手机号绑定的具体账号)登录腾讯视频,即可享用您的会员权益。
    【2】如您领取腾讯视频会员的手机号未绑定过QQ号/微信号,请登录腾讯视频APP首页后,点击“【个人中心】>【点击登录】>
    【我的VIP会员】>【其他会员开通方式】>【手机号内VIP兑换】>输入充值权益的手机号与登录账号进行绑定>【当前手机号资产】领取腾讯视频会员VIP 31天”,领取后即可享用您的会员权益。
    ¬ 优酷:包含31天会员+30GB优酷定向流量,领取成功后您将收到优酷下发的成功充值短信,请您尽快打开优酷app登陆账号或使用“手机快捷登陆”获取动态密码享用您的会员权益;如您已经是优酷VIP会员,则会员有效期自动叠加到领取手机账号中;定向流量自领取之日起立即生效,次月最后一天失效,流量不可叠加。
    ¬ 芒果TV:包含31天会员+30GB芒果TV定向流量,领取成功后您将收到芒果TV下发的会员权益使用说明短信,请您按网站短信提示尽快登陆网站或手机APP完成注册,享用您的会员权益;如您已经是芒果TV会员,则会员有效期自动叠加到领取手机账号中;定向流量自领取之日起立即生效,次月最后一天失效,流量不可叠加。
    ¬ 喜马拉雅:包含喜马拉雅的31天会员,领取成功后您将收到喜马拉雅下发的会员权益使用说明短信,请您按短信提示尽快登陆手机APP完成注册,享用您的会员权益;如您已经是喜马拉雅会员,则会员有效期自动叠加到领取手机账号中。
    ¬ 网易云音乐:包含网易云音乐的31天黑胶会员,领取成功后将收到网易云音乐下发的会员权益使用说明短信,请您按短信提示登录相应APP完成注册,享用您的会员权益;如您已经是网易云音乐会员,则会员有效期自动叠加到领取手机账号中。您可登录网易云音乐APP,在账号-会员中心查看更多会员权益内容。
    ¬ 作业帮:包含作业帮APP的30天会员,领取成功后将收到作业帮下发的会员权益使用说明短信,请您按短信提示登录相应APP完成注册,享用您的会员权益;如您已经是作业帮会员,则会员有效期自动叠加到领取手机账号中。
    ¬ 同花顺:包含同花顺APP的30天会员,领取成功后将收到同花顺下发的会员权益使用说明短信,请您按短信提示登录相应APP完成注册,享用您的会员权益;如您已经是同花顺会员,则会员有效期自动叠加到领取手机账号中。

    • 6、自有特权:会员可领取和留言、和彩云中两项权益,业务领取后长期有效,无需重复领取。所订购Plus会员退订并到期后,领取的自有特权相应到期。

    ¬ 和留言业务是结合智能语音技术,针对被动漏接电话(无法接通,无人接听),主动拒接电话两个用户场景,为用户提供留言转接,漏电提醒和非实时信息交互的基础通信业务。
    ¬ 和彩云是中国移动旗下的个人网盘,领取后下载登录和彩云APP尊享2T专属空间、8G超大文件上传、回收站有效期延长至30天、尊贵身份标识、单次转存1000个文件。

    • 7、尊享特权:全球通钻石卡、白金卡客户每月可领取10元话费,领取后立即充入会员手机账户,可用于支付通信类业务。
    • 8、精选福利:每月有多种福利任你选择。
    • 9、除精选福利外每项特权每自然月仅限领取一次,当月未领取的用户无法补送。
    10、本业务费用只能用于主账户话费支付,赠返的话费不可抵扣该业务。更多活动详情请咨询10086

    当月开通,下月生效!

    关注本公众号【Yuema约吗】回复“10086”,获取开通的短信指令

    作者:钟代麒

    出处:http://www.jishudao.com/
    版权归作者所有,转载请注明出处

  • 程序员自制面包攻略|面包机+鸡蛋+水+植物油+白沙糖+食盐+奶粉+面粉+酵母=面包 第一次使用面包机DIY面包 攻略与经验分享

    公司发了一张300元的京东卡,买了一台278元的面包机。收到面包机的时候,有点小小的激动,从来没有做过面包啊!打开说明书,还要鸡蛋、水、植物油、白沙糖、食盐、奶粉、面粉、酵母,立即下单补足所需,开始DIY面包。
    困境
    第一次收到面包机,一头雾水,不知道怎么使用​。怎么消毒,怎么投料、搅拌条怎么安装​?
    第一次使用面包机怎么消毒做准备工作
    拿到面包机后有种不知所措,第一次使用面包机怎么消毒,琢磨不透,问客服,客服说,用油涂抹在烤箱内壁,使用烘烤模式空烤10分钟​。​想想也是,由于就照着做了。
    第一次投料与搅拌条的安装
    面包机有一个投料区域,但是看起来压根没法放下做面粉啊​。赶紧找了几个视频瞅瞅​。搅拌条是插在桶里搅拌棍上的。投料的话,原来直接放在桶里就是,那个面包机上面投料功能是​投别的东西使用的,先不管。按说明书的要求,先放液体、再做固体、再放酵母​。​搜索到的视频,比较任性,没有这种顺序讲究。不过,还是老实按说明书来。
    DIY过程
    ​放料顺序:鸡蛋、水、植物油、白沙糖、食盐、奶粉、面粉、酵母。说明书上有每种食材的ml或g要求,用面包机配置的勺子与量杯就可以完成定量的问题,不用担心搞不清“量”的问题。

    鸡蛋与水一共170ml,直接用量杯,看着刻度就好。有种做化学试验的感觉。

    白沙糖 18g

    奶粉 16g

    盐 3g

    面粉250g

    酵母3g
    配料完成之后,于下的活交给面包机​就好了。做个主食面包,需要3个小时。这个时间真的有​点长。面包机主要3道工序,搅拌、等酵母发酵、​烘烤。这3个小时,面包机搅拌一会儿,停一会儿,搅拌一会儿,停一会儿… …京东那个宝贝描述里写提工作时很安静,像婴儿睡觉似的,真正使用起来,才发现,搅拌的时候,声音还是有点大,小桌子都在微微颤抖​。
    三个小时,没有等到,睡着了,早上起来,惊喜的发现,​面包做好了。