关于dubbo配置引起的线上事故报告
Hi,All:
很抱歉,昨天(3.28)晚上8点多clan以及相关业务上线,上线测试回归,一切正常。晚上10点过几分,用户反馈系统出错,排查之后发现线上两台clan均挂掉。10:10:34重启暂时恢复线上业务。
查询日志发现,在2017-03-28 21:59:54.793的时候,dubbo provider不能注册服务。此时,tomcat的进程已经down掉了。后续的日志都是一些不能注册或者不能订阅的错误,甚至是调用方法时service没有实例化的错误,应该属于tomcat down掉后,dubbo的进程还没有shutdown(从时间上可以看出,具体看后面的两段日志[1])。
后续从日志中,早于服务挂掉的时间,发现有dubbo线程池耗尽的警告。
12345678910111213141516171819202122232425262728[2017-03-23 17:09:35.432] clan WARN [DUBBO] An exception was thrown by a user handler while handling an exception event ([ ...
Mac安装Percona-Toolkit
percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和
麻烦的mysql和系统任务,这些任务包括:
ü 检查master和slave数据的一致性
ü 有效地对记录进行归档
ü 查找重复的索引
ü 对服务器信息进行汇总
ü 分析来自日志和tcpdump的查询
ü 当系统出问题的时候收集重要的系统信息
percona-toolkit源自Maatkit和Aspersa工具,这两个工具是管理mysql的最有名的工具,现在Maatkit工具已经不维护了,请大家还是使用percona-toolkit吧!这些工具主要包括开发、性能、配置、监控、复制、系统、实用六大类,作为一个优秀的DBA,里面有的工具非常有用,如果能掌握并加以灵活应用,将能极大的提高工作效率。
安装mysql
如果没有安装,请看传送门。
如果安装了,服务器启动有问题,请检查配置文件,查看日志。最好的解决方法就是log-error指定的错误日志中记录的信息,或者使用mysqld status命令来查看。
问题解决后,启动的时候可以选择mysqld_safe &,也可以使用mysq ...
mybatis使用spring-druid数据源连接池配置log4j打印sql语句以及开启监控平台
引言
作为程序员,开发工程中,一套利于测试或者监控的工具很重要,mybatis默认没有提供log4j的打印sql语句的配置。
这对于开发rest服务,提供接口的开发者而言,是在很不好做,再加上mybatis很灵活,使用脚本动态生成sql语句,因此,有时候真不知道运行的sql是不是我们所期望的,过滤的条件是否起作用。
所幸,德鲁伊监控平台是个不错的选择,在性能方面druid连接池也比spring原生的要好,因此也是很多企业开发的首选数据源配置。
在引言阶段,我们先看看目前我配置的结果是否是你想要的,如果不是你所期望的,就别浪费时间往下面看,毕竟大家都时间有限,没必要花费时间看一些对自己没用的东西。
控制台打印的日志,慎重的告诉你,这种大量打印信息不能用于生产坏境,生产环境中这些信息写到tomcat的日志文件中了{tomcat的目录}/logs/catalina.out,如果访问量很大的时候,一天产生几GB的日志不是问题–慎用。
12345678910111213141516171819202122232425262728[03/06/16 11:56:03:003 ...
dubbox_dubbo+spring+mybatis+gradle构建REST服务
关于Dubbox
什么是dubbox?看看别人怎么说的:
Dubbox是Dubbo的一个扩展,假如你知道java, javax 和 dubbo,那你就会明白dubbox是什么了。
Dubbox增加的功能如RESTful remoting, Kyro/FST 系列化等。它已经应用在当当网内部的多个项目中。
dubbox的功能
支持REST风格远程调用(HTTP + JSON/XML):基于非常成熟的JBoss RestEasy框架,在dubbo中实现了REST风格(HTTP + JSON/XML)的远程调用,以显著简化企业内部的跨语言交互,同时显著简化企业对外的Open API、无线API甚至AJAX服务端等等的开发。事实上,这个REST调用也使得Dubbo可以对当今特别流行的“微服务”架构提供基础性支持。 另外,REST调用也达到了比较高的性能,在基准测试下,HTTP + JSON与Dubbo 2.x默认的RPC协议(即TCP + Hessian2二进制序列化)之间只有1.5倍左右的差距,详见文档中的基准测试报告。
支持基于Kryo和FST的Java高效序列化实现:基 ...
Mac 下 Nginx、PHP、MySQL 和 PHP-fpm 的安装和配置
杂七杂八的杂
Mac下搭建MNPM环境是每个使用者mac的phper必备的技能。一般都是找到新工作入职的第一天做的事情--配置环境。
如上,今天入职的,配置开发环境。公司配备的硬件设备很屌,15年产macbook pro笔记本一台(13寸),配置了8GB DDR3内存,2.7GHz core i5处理器,120GB的闪存。当然了,没我自己买的配置高,哈哈~~
安装 Mac 的包管理器 - homebrew
home-brew是什么?先这样说吧,home-brew与OS X就像nodes与npm,java与maven(或者gradle),php与composer,apt-get与Ubutun,yum与centos,还有其他等等吧,都是宿主的开发工具或包的依赖管理。
安装Homebrew之前,先安装xcode命令行工具,安装成功后,打开xcode的应用,查看Xcode是否为最新,如果不是最新的请在App Store中升级Xcode。
安装xcode命令行工具的命令:
1xcode-select --install
安装完后,请使用brew doctor命令检查当前环境是否最新符合brew ...