2021-11-03

本文通过一个观察者模式的故障案例,介绍了如何解决因瞬时大流量导致的消息丢失问题,并探讨了重启观察者、调整消息长度限制及使用gperftools检测内存泄露等解决方案。

1.重启观察者

有一天告警发不出去了,然后重启了一下就好了,为啥呢?程序A有很多观察者,程序B是程序A的一个观察者.突然由于A给B发送的一次消息超过了2M,处于安全的考虑,程序A将程序B这个观察者踢出观察队列,导致程序B不能正常收到程序A发来的消息,这一次B发给A的所有消息都丢失了,B也不工作了,这时候消息丢了,找不回来了,用户的诉求是:消息可以不找回了,但是接下来的消息必须不能丢失了,于是重新启动了B程序,将其注册为A程序的观察者,这样就又正常工作了,暂时解决了问题。但是后续的突发大流量消息还可能会导致这样的异常出现,于是将A发给B的瞬时最大长度调整成4M,这样可以避免一些瞬时大流量导致的程序不工作。

2.日志可视化

3.日志可视化ELK

日志可视化ELK

4.tcpdump源码分析

linux环境下tcpdump源代码分析

5.gperftools

go里面的pprof 太好用了,c++ 这个gperftools是对应的。

google开源的C++性能分析工具-gperftools

使用 gperftools 检测内存泄露

6.字节序的写法

字节序的写法

7.EOF到底是什么?

EOF是什么

8.系统级别的性能分析工具

系统级别的性能分析工具-Perf

9.centos下安装vscode

centos下安装vscode

10.告警系统设计

告警系统设计

10-16 某宝店铺动销率与售罄率 分数 10  全屏浏览 作者 王君月 单位 吉首大学 描述 11月结束后,小牛同学需要对其在某宝的网店就11月份用户交易情况和产品情况进行分析以更好的经营小店。 已知产品情况表product_tb如下(其中,item_id指某款号的具体货号,style_id指款号,tag_price表示标签价格,inventory指库存量) 11月份销售数据表sales_tb如下(其中,sales_date表示销售日期,user_id指用户编号,item_id指货号,sales_num表示销售数量,sales_price表示结算金额) 请你统计每款的动销率(pin_rate,有销售的SKU数量/在售SKU数量)与售罄率(sell-through_rate,GMV/备货值,备货值=吊牌价*库存数),按style_id升序排序,以上例子的输出结果如下: 表结构: 请在这里写定义表结构的SQL语句。例如: create table Student ( id int, name varchar(32) ); 表样例 请在这里给出上述表结构对应的表样例。例如 product_tb表: item_id style_id tag_price inventory A001 A 100 20 A002 A 120 30 A003 A 200 15 B001 B 130 18 B002 B 150 22 B003 B 125 10 B004 B 155 12 C001 C 260 25 C002 C 280 18 sales_tb表: sales_date user_id item_id sales_num sales_price 2021-11-01 1 A001 1 90 2021-11-01 2 A002 2 220 2021-11-01 2 B001 1 120 2021-11-02 3 C001 2 500 2021-11-02 4 B001 1 120 2021-11-03 5 C001 1 240 2021-11-03 6 C002 1 270 2021-11-04 7 A003 1 180 2021-11-04 8 B002 1 140 2021-11-04 9 B001 1 125 2021-11-05 10 B003 1
05-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值