首先说下问题现象:内网sandbox环境API持续1周出现应用卡死,所有api无响应现象 刚开始当测试抱怨环境响应慢的时候 ,我们重启一下应用,应用恢复正常,于是没做处理.但是后来问题出现频率越来越频繁,越来越多的同事开始抱怨,于是感觉代码可能有问题,开始排查. 首先发现开发的本地ide没有发现问题,应用卡死时候数据库,redis都正常,并且无特殊错误日志.开始怀疑是sandbox环境机器问题(测试环境本身就很脆!_!) 于是ssh上了服务器 执行以下命令 top 这时发现 机器还算正常,但是内…
原创文章,欢迎阅读,禁止转载. bug预防C/C++代码发布前的检查:检查有没有低级错误,可用cppcheck (bug预防是指在写程序的时候,bug没出现,积极的进行预防,减少.包括良好的编码风格.编码习惯.使用管理工具和检查工具等.这个放在另一片文章中说吧.) 排查bug的步骤: 复现--让你看到bug的表现固化--尽量让bug能100%出现定位--找出问题根源修改--消除bug验证--测试bug是否彻底解决 (排查bug指的是,已经出现了bug,现在需要把它解决掉) 检查有没有内存泄露,结…
附录:Redis企业实战的一些坑 一.前言 小伙伴们对Redis应该不陌生,Redis是系统必备的分布式缓存中间件,主要用来解决高并发下分担DB资源的负载,从而提升系统吞吐量. Redis支持多种数据类型,String(字符串).list(列表).hash(哈希).set(集合).zset(有序集合),不同的类型可以应用到不同的业务需求中. Redis的集群部署也增强了Redis的高可用性,以及对数据的易扩容. 上面都是Redis知识掌握的重点,这些知识点也是我们工作的时候,经常用到的,网上介绍…
Redis Cluster踩过的坑请参考如下链接:http://www.iteye.com/blogs/subjects/Redis_Cluster_Devops…
Redis 作为一种缓存工具,主要用于解决高并发的问题,在分布式系统中有着极其广泛的应用,Redis 本身是应用于 Linux/Unix 平台的(部署在服务器上边),官方并没有提供 Windows 平台的版本,但是一般的开发者都是在 Windows 平台下进行开发和调试,因此,也需要有 Windows 版本的 Redis ,本文将介绍如何在 Windows 平台下安装 Redis 以及将 Redis 设置为服务. 1 下载 Redis Windows 版 Redis 下载地址 : https:/…
laravel用redis保存session遇到的坑, 配置redis存储session流程是这样的 在.evn文件中把session驱动和连接改为了redis的 如下: SESSION_DRIVER=redis SESSION_CONNECTION=session //这个是新加的 在session配置文件哪里,更改相应的链接配置(config/database.php) 如下: 'redis' => [ 'client' => 'phpredis', 'default' => [ '…
搭建redis集群遇到的坑 #!/bin/bash # 作者: tuhooo # 日期: 2017.4.23 20.15 # 用途: 通过ruby脚本启动redis伪集群 if [ $2 == "start" ]; then echo "正在启动redis实例" echo "正在启动redis集群......" PARAM="" cd /usr/local/redis-cluster/ for num in 1 2 3 4 5…
话说栈长前阵子写了一个功能,测试 0 bug 就上线了,上线后也运行好好的,好多天都没有人反馈bug,超爽.. 不出问题还好,出问题就是大问题.. 最近有个客户反馈某些数据混乱问题,看代码死活看不出什么问题,很诡异,再仔细看代码,原来是一个全局变量的问题,导致在并发情况下出现了线程不安全的问题,事后被同事们打脸!!! 慎用全局变量,我在公司一直在强调,没想到这么低级的问题居然发生在自己身上,说起来真的惭愧啊.. 最开始使用的是 Spring 注入对象的方式: @Autowired private…
GitHub 9.4k Star 的Java工程师成神之路 ,不来了解一下吗? GitHub 9.4k Star 的Java工程师成神之路 ,真的不来了解一下吗? GitHub 9.4k Star 的Java工程师成神之路 ,真的确定不来了解一下吗? 众所周知,redis是一个高性能的key-value数据库,在NoSQL数据库市场上,redis自己就占据了将近半壁江山,足以见到其强大之处.同时,由于redis的单线程特性,我们可以将其用作为一个消息队列.本篇文章就来讲讲如何将redis整合到s…
在工作中,相信大家最怕的一件事就是听到有人在工作群艾特你:某某功能报错啦... 然后你就得屁颠屁颠的去服务器看日志,日志量少还好点,多的话找起来太麻烦了.不太容易直接定位到关键地方. 东找找西找找,好不容易找到了报错的信息,却不知道当时的参数信息是什么,也不太好复现,太难了.. 改完还得写故障报告,美好的一天又没了. 要解决这类的痛点需要做下面几件事情: 日志收集 异常告警 日志增加链路 API响应增加traceId 异常时打印当前报错方法的参数 支持调试模式 日志收集 要解决的第一个问题就是日…