技术项目的极简主义

用最小的成本实践可行性,做最有价值的功能并快速推广

举几个例子,

故障自恢复

由于微服务架构非常复杂,故障快速恢复是业界重点关注的方向即devops。如何做到秒级恢复用户无感知?

对于故障恢复,最直接的方案是重启故障进程微服务,实现功能初始化并快速恢复业务。所以检测进程健康状况的反馈成为重启的关键决策。

那么进程健康状况包括(不限于如下列举的情况):

  • 进程运行状态 - 检测进程状态命令
  • tomcat的https异常响应状态码(5XX,如大量TCP连接处于CLOSE_WAIT状态)-访问记录或总线记录
  • JVM的OOM - 堆内存信息文件检测
  • 线程死锁 - 线程栈死锁检测算法
    如上都给出了可实现的策略,可支撑在未知异常场景下重启进程实现故障快速恢复。

并不是所有的异常都能在设计和编码阶段避免,未知异常还是要以可信可靠及业务零中断为目标,快速识别故障异常并快速恢复,不影响核心业务运行

但上述策略只是基本可行的方案,可快速实践并获得收益,要想实现秒级恢复还需要在方案和细节上结合应用场景持续打磨

故障定界

代码可读性和可扩展性的博弈,用最基础的设计模式写最简洁易懂的代码。但可维护性作为重要指标来衡量代码在应用中的价值收益,代码越好维护,成本就会降低,总体收益就会越大。

可维护性包括两方面,一方面指的是代码的持续演进,另一方面是软件的可维护性,两者相辅相成,代码中后台日志的设计和打印对后期软件的运维有重要影响,日志打印越规范越有利于软件运维。

遇到故障后肯定是要定位原因的,以往都是手工分析日志,云化架构非常复杂,节点多,人工分析日志耗时费力,且重复投入的概率很大,不具备可继承性。

如故障定界多通过搜索日志分析,重复高频故障点可以通过固化的命令组快速排除,证明可行之后进一步扩展为将专家经验结构化(故障树)和工具化,实现可视化界面的故障定界。

效率改进的必经之路:规范流程化 - > 工具化 -> 智能化

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值