用户接入次数、成功请求、业务量等统计方案

1.每次接收到用户请求,在处理完业务逻辑后,将用户业务量记录数据库

问题:

  • 每次请求过来都会操作一次数据库,频繁操作数据库,造成数据库压力过大;
  • 每次请求过来都会操作一次数据库,会影响业务逻辑接口的性能,造成响应时间过长;
  • 业务逻辑程序和业务量统计程序不解耦。

2.每次接收到用户请求,在处理完业务逻辑后,将用户业务量记录redis

问题:

  • 每次请求过来都会操作redis,频繁操作redis,会造成redis压力过大;
  • 每次请求过来都会操作一次redis,会影响业务逻辑接口的性能,造成响应时间过长;
  • 业务逻辑程序和业务量程序不解耦。

3.每次接收到用户请求,在处理完业务后,将用户业务量记录本地一个变量中,定时将变量中的数据同步到redis中

问题:

  • 每次请求过来都需要将业务量记录本地变量,也会影响业务接口性能;
  • 业务逻辑程序和业务量统计程序不解耦。

4.使能 Tomcat Accesslog ,将需要统计的信息添加到 Tomcat Accesslog,通过独立的程序定时统计Tomcat Accesslog中业务量信息,并存入redis

优点:

  • 业务逻辑程序和业务量统计程序解耦;
  • 异步处理业务逻辑和业务量统计逻辑,不会影响业务接口性能。

猜你喜欢

转载自blog.csdn.net/abcdu1/article/details/109505384