12 2016 档案
摘要:RabbitMQ 默认日志里只有类似客户端“accpet/close”等信息,对于有异常或者跟踪消息内部结构就比较麻烦了。 不过MQ有个rabbitmq_tracing插件,安装该插件后在控制台的管理tab页,就可以看到多了一个trace的菜单。 trace文件位于/var/tmp/rabbitmq
阅读全文
摘要:在mysql 5.6开始就支持延时复制,这在一些需要维护大量非标准化系统或者运维技术水平较低的公司和开发人员众多的项目组这是一个非常有价值的特性,可以说误操作的概率跟一个城市车祸概率的水平差不多了,我们现在几乎每个两三天都会发生线上或者线下误操作导致数据需要恢复的情况。 在差不多2014年的时候,我
阅读全文
摘要:在最近一周,我们的前端在测试某些批量超过的某个步骤时,发现请求好像发出来,但是后台状态没有变化,说是最近才出现的问题,以前一直都是正常的,两天连续出现两次之后,来找笔者,首先检查了下中间件的日志,发现请求已经过来了,但是到mysql时执行出现了异常,没发现逻辑有什么奇怪。因为web端有一些判断操作决
阅读全文
摘要:在之前的版本包括oracle mysql/percona server版本中,所有的动态SQL都需要通过prepare执行,如下: 现在可以这样执行:
阅读全文
摘要:如下所示,每个rabbitmq队列除了发布和消费吞吐量外,还有一个评价MQ队列效率的更加重要的指标Consumer utilisation ,如下: 在最佳利用率情况下,这个值能够达到100%,并且生产中总是应该达到100%。但在很多系统中,这个值可能低于5%。这一般是由于下列原因所致(这三者我们都
阅读全文
摘要:正常情况下,我们引入的第三方jar一般都是类似spider-1.0.5-SNAPSHOT.jar的名称,但是有些环境下,我们引入的三方jar会带上了时间戳,如下所示: spider-1.0.5-20161212.095528-2.jar 可通过在pom.xml中包含如下插件的方式解决。 <plugi
阅读全文
摘要:很多时候,我们引用的第三方jar需要一些其他的第三方jar,这个时候默认情况下,间接需要依赖的第三方jar是不会自动被引入的,如果希望这些额外的三方jar被自动引入,则在Maven仓库中除了提交jar文件外,还需要把maven install创建的jar名.pom文件一并提交到maven仓库,这样第
阅读全文
摘要:因为一直以来使用tomcat和weblogic作为应用服务器为主,最近在升级新中间件的过程中遇到一个问题,我们的web前端应用现在升级是进行全量包升级的,因为现在的系统架构为前端和后端通过rpc框架交互的,后端使用java service wrapper进行管理,其组织架构允许我们在配置文件中随意设
阅读全文
摘要:tomcat 7 WARNING: A context path must either be an empty string or start with a '/' and do not end with a '/'. The path [/] does not meet these criter
阅读全文
摘要:一直以来因为线上系统盘中风控计算过于消耗资源,导致服务器负载太高,时常影响盘中交易的稳定性,最近决定了将风控拆分到独立的库进行计算,并进行回填操作。 总体来说,是将部分风控计算相关的表同步到备库,但是同步的表需要从db_act->db_rsk;db_rsk->db_rsk;db_sys->db_rs
阅读全文
摘要:WebArgumentResolver: SPI for resolving custom arguments for a specific handler method parameter. Typically implemented to detect special parameter typ
阅读全文
摘要:因为原来使用了MQ作为rpc机制,随着客户交易量越来越大,很多服务器推送行情的压力很大,最近打算重写为批量模式,又重新看了下qos和prefetch设置的作用以确定优化的具体细节。 消费者在开启acknowledge的情况下,对接收到的消息可以根据业务的需要异步对消息进行确认。 然而在实际使用过程中
阅读全文
摘要:最近,我们有些在阿里云上的应用总是有客户端出现异常和信息推送不及时的情况,检查mq日志,发现高峰期不停的有心跳超时,如下: =ERROR REPORT 21-Dec-2016::12:38:00 closing AMQP connection <0.909.1> (125.120.15.131:50
阅读全文
摘要:运维自动化工具 Ansible 是一款开源的自动化运维工具,基于 Python 开发,以其简单易用、轻量级、无代理架构等特点广受青睐。以下是 Ansible 的核心优点及适用场景: 一、核心优势 1. 无代理架构,极简部署 无需客户端:通过 SSH 直接连接目标主机,无需在被管理节点安装任何代理软件
阅读全文
摘要:我曾问过很多自称热爱代码的程序员的发展规划,大多都回答说期望成为一名架构师。而在招聘一方,有的团队会过滤掉多次提起架构一词而一点不提具体内容的简历。可见,虽然在大多数程序员眼里,架构师是神圣的,但又不得不承认事实是:“架构”和“架构师”是最常被滥用的。那些写能 PPT 而不能写代码的人,只做和事佬而
阅读全文
摘要:今天,项目组一个同事说开发环境一直正常quartz定时任务今天不跑了,因为异常已经封装了,所以应该不是没有捕获异常导致。也检查了JobDetail肯定没有重复的任务,最后检查qrtz_triggers表的时候,发现TRIGGER_STATE为ERROR了,照理应该是PAUSED或者WAITING,网
阅读全文
摘要:同任何的代码库一样,在mapper中,通常也会有一些公共的sql代码段会被很多业务mapper.xml引用到,比如最常用的可能是分页和数据权限过滤了,尤其是在oracle中的分页语法。为了减少骨架性代码,通常将它们抽象到sql中,但是肯定又不能在每个mapper中也包含,这样就没有意义了。此时,可以
阅读全文
摘要:最近在转一个原来使用oracle,改为mysql的系统,有些常用的oracle函数的mysql实现顺便整理了下,主要是系统中涉及到的(其实原来是专门整理过一个详细doc的,只是每次找word麻烦)。 date 公元前4712年1月1日至公元9999年12月31日 datetime:取值范围:1000
阅读全文
摘要:昨天晚上,运维过来说有台生产服务器的mysql cpu一直100%,新的客户端登录不了,但是已经在运行的应用都正常可用。 登录服务器后,top -H看了下,其中一个线程的cpu 一直100%,其他的几乎都空闲。 MySQL thread id 14560536, OS thread handle 0
阅读全文
摘要:关于long、double、BigDecimal在效率、可用性、灵活性等等方面的技术性讨论和测试其实在网上已经很多了,本文也不是打算讨论他们的实现的,其实笔者也曾在很长的职业生涯周期中一度拘泥于此。但是渐渐的,已经对此没有那么的一根筋在乎了,至少从整个决策思路而言。 在涉及到金额或金融的计算中,有些
阅读全文
摘要:最近,在测试迁移公司的交易客户端连接到自主研发的中间件时,调用DAO层时,发现有些参数并没有传递,而在mapper里面是通过parameterMap传递的,因为有些参数为null,这就导致了参数传递到数据库的时候也是null,进而导致出错。因为我们公司的业务代码是通过类似一种模板的方式封装的,所以一
阅读全文
摘要:Mysql 5.7.17发布了,主要修复: Changes in MySQL 5.7.17 (2016-12-12, General Availability) Changes in MySQL 5.7.17 (2016-12-12, General Availability) Changes in
阅读全文
摘要:最近,MQ经常有丢包的现象,看各connection/channel/consumer/queue的组成情况,发现差别比较大。 channel与消费者: [root@iZ23nn1p4mjZ bin]# rabbitmqctl list_channels vhost name consumer_co
阅读全文
摘要:rabbitMQ publish丢包分析 默认情况下,rabbitmq的消息发送是异步机制,客户端最多可以缓存1000个消息,如果未发送完之前宕机,就可能丢消息。 要保证消息发送的可靠,可以采用三种机制,1、异步ACK确认;2、使用AMQP提供的事务机制;3、先落库,然后发送。可以参见https:/
阅读全文
摘要:这几天,老有几个环境在中午收盘后者下午收盘后那一会儿,系统打不开,然后过了一会儿,进程就消失不见了,查看了下/var/log/message,有如下信息: Dec 12 11:35:38 iZ23nn1p4mjZ kernel: INFO: task java:27465 blocked for m
阅读全文
摘要:最近有台服务器的MQ应用占用内存比较偏高,如下: 但是看控制台本身内存中消息积压并不多, 查看rabbtmqctl发现,binary data和other data占据了绝大部分的内存,如下: {memory, [{total,124441400}, {connection_readers,5548
阅读全文
摘要:中午,公司群里面测试人员@笔者说,早上测试服务器异常,MQ起不来,重启os了也起不来,报错,上去看下了早上又因为内存oom被内核killed了,启动了下,确实启动报错,erl vm进程起来了,但是beam.smp进程没有起来,看下了MQ启动日志startup_log,有如下信息: 初步查了下,应该是
阅读全文
摘要:Aviator是一个高性能、轻量级的 java 语言实现的表达式求值引擎, 主要用于各种表达式的动态求值。现在已经有很多开源可用的 java 表达式求值引擎,为什么还需要 Avaitor 呢? Aviator的设计目标是轻量级和高性能,相比于Groovy、JRuby的笨重, Aviator非常小,
阅读全文
摘要:今天在升级了某些依赖jar的版本启动一项目后,velocity中的有些定义在common.vm中变量居然变成了null,没能include进来导致,而没升级的环境是ok的,经过反查,最后发现是将velocity-tools-beta1.jar升级到了velocity-tools.jar为止,velo
阅读全文
摘要:今天迁一系统时发现有个bean使用@Resource注入了另外一个bean,这个被注入的bean是将被deprecated的类,而且只有一两个功能使用到,为了先调整进行测试,增加了@Lazy注解,启动时发现这个bean并没有延时注入,所以启动出错,后在stackoverflow上发现有人也提到了这个
阅读全文
摘要:完整排名,本月前20名的排名都没有发生变化,唯一值得注意的是随着RDBMS对nosql的支持,后续两年中mongodb不知道会发生什么样的变化,毕竟这些年来要颠覆RDBMS的忽悠太多,但不少独立的所谓nosql供应商都因为过于小众而消失了,最主要还是很多时候远没有到真需要nosql的需求,而且很多n
阅读全文
摘要:公司现在的很多自动化代码生成使用excel VBA,本来这事跟自己一点关系打不着,不过计划年底切换中间件,这得导致部分代码结构调整,自己还得去调整测试,老忘掉这快捷键,特记录下,Alt + F11。 excel插入按钮(默认不开),如下: 先打开 文件-选项-自定义功能区 在右侧 ”自定义功能区“
阅读全文
浙公网安备 33010602011771号