页面访问量,页面操作统计等非业务逻辑应该怎么设计

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhou920786312/article/details/85156198

错误的设计:

我发现公司很多代码,比如去统计某个页面的访问量,很多开发同事都是在相应的controller去统计访问量,打个比方说统计userManager页面访问量,就在UserManagerController中,跳转usermanager页面的方法中做点击统计访问。这是非常不合理的,为什么呢,因为这可能会导致业务逻辑代码和非业务逻辑代码混搅在一起。举个极端的例子,假如你有1000个页面,你是不是也在1000跳转页面方法中写点击统计,这的是多大的工作量,假如有一天业务变动,将页面访问量改为页面add操作访问量,你是不是要去修改1000个方法。

总之这样设计坏处:后期维护难,开发成本高。

我公司原先就这么搞的,后来我建议改了,当时还没接触微服务,下面主要用微服务方案来处理。

设计:

我们统一将这类非业务逻辑部分放到一个服务单元处理。

网关部分对这类请求,多添加一个服务单元

接口设计提供一个公共接口,该接口处理请求特定参数。我的设计是操作类型,URL。URL通过spring容器获取请求方法和跳转页面。上面接口已经可以做统计了,接下来是持久化了,因为这是一个频繁数据库交互操作(涉及操作日志),所以我选择Redis内存数据库,因为是分布式系统,我没有使用上下文处理。

猜你喜欢

转载自blog.csdn.net/zhou920786312/article/details/85156198