今天大白和大家聊一个小知识点,就是对于易变的业务,怎么做能避免频繁重启服务!
大家在工作中都遇到过频繁变动的需求,当然了,大白也遇到过。大白过去做过一个类似于微博这么一个模块,其中有个通过员工的活跃程度排名的这么一个小功能,活跃程度呢是通过员工发表的文章数和所获取的点赞数等等计算出的一个积分,然后通过这个积分进行排名。
很简单嘛,当天就搞定了这个小功能并且测试通过了,功能确实没什么问题,然后第二天正好是系统的维护日,领导把功能布到了生产,相安无事。过了几天,领导觉得那个公式有点问题,需要改动一下。那太小意思了,改句代码的事儿,但是由于只有在维护日才可以更新,导致用户对这个事情颇有微词(排名靠前的可以获取一些奖励),大白也因此被批评了,说到底就是因为更新代码需要重启服务,服务是随便重启的?
这时大白觉得总这么搞也不是长久之计,怎么做才能不重启呢?平时修改完什么不用重启呢?没错,就是ui,我们修改完页面或者是js文件,只需要刷新一下页面就可以起作用。
例如下面例子:
1.在本地创建一个js文件
大家一定好奇factor是哪来吧,它是从上下文来的,类似于一个运行的环境变量。
2.java程序调用javaScript公式:
3.先简单测试一下,看看是否可行:
计算结果没有问题,需求变动,要改动一下公式,如图所示:
没有重新执行main方法,直接输入参数,打印的结果已经是新计算公式的了,是不是很方便!