geek
2020-01-01
新年快乐 一起学习 一起提高 2020
25
辣么大
2020-01-01
想了三点,希望和小伙伴们讨论一下:
1、RequestInfo save 一次写入一条。是否需要考虑通过设置参数,例如一次写入1000或10000条?好处不用频繁的与数据库建立连接。
2、聚合统计Aggregator是否可以考虑不写代码实现统计的逻辑,而是使用一条SQL查询实现同样的功能?
3、EmailReporter startDailyReport 没指定明确的统计起止时间。设置统计指定区间的request info,例如08:00~次日08:00,然后发邮件。
4
9
Jxin
2020-01-01
沙发!
1.栏主新年快乐。零点发帖,啧啧啧。
2.给出github地址吧,我们来提pr,一个学习用demo大家合力下就当练手,没必要自己死磕全实现哈。
3.关于邮件和控制台两个接入层。实现代码重了。可以把定时统计下沉到下一层来实现,然后两个接入层共用这个实现。然后收集的统计数据的类型应该可以提供差异化配置的api。在消费统计数据的消息时,做差异化分发,实现各接入层仅看到自己想看的数据。
4.spring1.x~3.x,兼容老版本做得挺好。springboot在自动装配的实现上下足了功夫(插件化,易插拔)。netty的实现也挺挺讲究,还能顺带学网络相关知识。以上其实都运用一系列设计原则。在没看栏主专栏前,我是啃这些学的场景。
展开
4
6
卫江
2020-01-02
上面的代码设计与实现,我认为有两个重点是需要改进的:
1. 不同的统计规则,通过抽象统计规则抽象类,每一个具体的统计(最大时间,平均时间)单独实现,同时在 Aggregator 内中通过 List等容器保存所有的统计规则实现类,提供注册函数来动态添加新的统计规则,使得Aggregator否则开闭原则,各个统计规则也符合单一责任原则。
2. 显示方式很明显是一个变化点,需要抽象封装,抽象出 显示接口,在汇报类中通过依赖注入的方式来使用具体的显示类,这样一来,reporter类更加责任单一,我们也可以通过扩展新的显示类来扩展功能,符合开闭原则,每一个显示实现类更加否则单一责任。
2
5
堵车
2020-01-02
要写出优美的代码,首先要有一颗对丑陋代码厌恶的心
5
Eden Ma
2020-01-01
2020新年快乐 早上醒来第一件事就是听卖🍑者和看争哥的更新
4
Murrre
2020-01-02
https://github.com/murreIsCoding/learning_geek/tree/master/src/main/java/design_pattern/demo2/performance_monitoring
敲了一下,主要是实现了redis存储部分逻辑,redis命令不是很熟,可能有更好的方案
2
哈喽沃德
2020-01-02
什么时候开始讲设计模式呢
2
啦啦啦
2020-01-01
新年快乐
2
AaronYu
2020-01-02
把老师的代码做了一个整理,试着运行了一下。
小伙伴们感兴趣的可以看一下:https://github.com/Aaronyu29/DesignPattern/tree/master/src/u026
1
何沛
2020-01-02
Aggregator考虑到后期新增新的维度统计,可以考虑使用责任链模式。
ConsoleReporter、EmailReporter 出现了代码复用,可以用模板设计模式。
1
Young!
2020-01-01
我觉得在使用方面需要优化,1,建议可以将使用哪个数据库存储方式,时间范围,使用邮箱还是命令行作为输出做成类似 spring 的可配置项,2,减少启动代码,最好使用一行或者注解就可以起到拦截请求并统计输出的作用。
1
Frank
2020-01-01
打卡,今天又进步一点点,利用元旦的时间,将上一篇和这一篇的内容过了一遍,参照文章的思路使用代码简单实现了一遍,加深了理解。
1
Jeff.Smile
2020-01-01
争哥这套课程确实呕心沥血,哈哈
1
wenxueliu
2020-01-01
赞,记录思考过程才是最真实的案例
1
Monday
2020-01-01
RequestInfo.timestamp属性是接口响应的开始时间戳吗?如果是的话,说明我被Demo中的10234,11234这类数据给误导了
1
Geek_3b1096
2020-01-01
喜欢一小步一小步改进过程
1
东方奇骥
2020-01-01
因为我们项目统计数据较多,一般会写es,也会利用es的聚合功能。
1
Edward
2020-02-05
关于 MetricsStorage 有可能导致 JVM OOM 的问题,可以使用分治的算法思想(Divide and Conquer)对半统计再合并
丁丁历险记
2020-01-31
优秀的代码,都是重构出来的,深有体会。
我们在线,来聊聊吧
✕
您好,当前有专业客服人员在线,让我们来帮助您吧。
我们在线,来聊聊吧