摘要: nil的奇怪行为 刚接触golang时,发现nil在不同的上下文,行为表现是不同的,并且和其他语言中的表现,也不大相同 实例1:输入true, true, false,不符合传递性 实例2:nil可以调用方法 理解nil golang中的nil与其他语言中的语义是一样的,就是代表引用类型的默认值,但 阅读全文
posted @ 2020-05-20 11:59 xsirfly 阅读(1528) 评论(0) 推荐(0) 编辑
摘要: 1. yield表示放弃本次cpu的时间片,但是操作系统在下一个时间片依旧可能会调用该线程/进程 2. park表示线程/进程睡眠,需要让其他线程/进程唤醒,才有可能重新被操作系统分配时间片, 3. 非自旋锁,底层一般采用park来实现,如果用yield,在锁竞争激烈的情况下,一个线程可能一直处在 阅读全文
posted @ 2020-02-04 14:24 xsirfly 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 1. 什么时候应该更新缓存 应该是从数据库读取数据后,再更新缓存,从缓存读取到数据,就不需要再重新写缓存了,一个常见的错误是,每次访问接口都更新缓存,这样的话,如果接口一直有流量,那么db中的数据,就一直没有更新的机会了,每次访问,都给续上时间了 2. 数据更新时,是否需要同步更新缓存 可以更新,但 阅读全文
posted @ 2020-01-14 18:24 xsirfly 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 函数柯里化我理解,就是可以生成已经部分配置好的函数,这里的重点是生成新函数,因此,柯里化通常应用在需要一批不同的函数,但是这批函数除了部分代码不一样外,其他大部分都是相同的,这时,通过柯里化,能够达到配置函数的目的,减少模板代码 实际实例 在生产环境中,我们一般都会用到动态配置中心,一般动态配置中心 阅读全文
posted @ 2019-10-17 19:26 xsirfly 阅读(726) 评论(0) 推荐(0) 编辑
摘要: 背景 在mac上安装mosh server后,用mosh client去连接,一直报command not found的错 但是在我的mac上已经成功安装了mosh server, 并且在.zshrc中已经设置了环境变量了,在iterm上也能够正确的找到mosh server的命令; 原因 在网上查 阅读全文
posted @ 2019-10-13 16:47 xsirfly 阅读(1303) 评论(0) 推荐(0) 编辑
摘要: 1. 网关最本质的作用是网络环境的转换(公网转内网) 判断是否需要一个网关,最核心的是看是否有网络环境的转换需求 2. 网关是否会成为一个系统的单点? 我的理解是不会,网关不会引入比传统的负载均衡架构更严重的单点问题,网关的功能应该是稳定的,不会频繁迭代,并且,一个合格的网关系统,应该本身保证高可用 阅读全文
posted @ 2019-10-12 10:35 xsirfly 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 之前入手了一个树莓派,但是远程ssh连接经常掉线,开始以为是电源不行,导致机器重启,后面加了一个显示器,观察了一段时间,发现机器并没有重启,应该是WiFi掉线了,在网上发现,树莓派如果一段网络没有流量,就会有WiFi掉线的情况,并且找到了一段定时重启WiFi的脚本,解决了这个问题 阅读全文
posted @ 2019-10-03 12:41 xsirfly 阅读(1040) 评论(0) 推荐(0) 编辑
摘要: 最近接触了下组内常用的一些日志分析及报警工具,发现现在一些开源社区和商业公司的产品真的很好用,想要独立搭建一个完善的后端服务,真的已经很容易了; 1. 日志收集与分析:graylog2 + hive/presto 2. 服务监控:sentry 3. Rpc: thrift+consul 如今的开发环 阅读全文
posted @ 2019-09-22 11:40 xsirfly 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 最开始,我认为只用把消费者设置为单线程消费,就可以避免并发问题。 因为同一个key,分区一定相同,那么就只会被同一个消费者消费,消费者又是单线程,这样就避免了并发问题 后面发现,上述的方式没有办法处理rebalace的情况;比如一个消费组最开始只有2个消费者,topic有6个分区,key为1的mes 阅读全文
posted @ 2019-09-18 20:32 xsirfly 阅读(3915) 评论(0) 推荐(0) 编辑
摘要: 背景 最近组内有一些关于系统监控与报警的讨论!一些同学觉得现在系统的error log太多了,由于每次打印error log,都会导致一次报警,导致每天都会收到大量报警,报警的噪声很大,很容易忽略有价值的报警。 下面是这次讨论的一些想法: 1. 应该在代码开发阶段,对error log慎重打印,只在 阅读全文
posted @ 2019-09-17 18:54 xsirfly 阅读(265) 评论(0) 推荐(0) 编辑