- 浏览: 776967 次
- 性别:
- 来自: 杭州
最新评论
-
Fanatic357:
同问,请问这个 曲线 是用什么工具 监测得到的?
RocketMQ性能压测分析 -
sunshine_love:
8核 16G, 单master TPS 4w+,2m-2s- ...
RocketMQ性能压测分析 -
assertmyself:
很好,,获益良多!
jstack和线程dump分析 -
zhaoxiaoxiao:
非常赞,帮助理解了问题。今天也是遇到了这样的问题
hessian序列化bug -
wjg_java:
打不开 宕机了
博客停止更新
文章列表
原创文章,转载请注明出处:http://jameswxx.iteye.com/blog/2096461
写这个文章是为了以正视听,网上的文章人云亦云到简直令人发指。到底最大文件数被什么限制了?too many open files错误到底可以通过什么参数控制?网上的很多文章说的大致步骤是没有错的,大致如下:shell级限制 通过ulimit -n修改,如执行命令ulimit -n 1000,则表示将当前shell的当前用户所有进程能打开的最大文件数量设置为1000.用户级限制 ulimit -n是设置当前shell的当前用户所有进程能打开的最大文件数量,但是一个用户可能会同时通过多 ...
RocketMQ topic路由
- 博客分类:
- 服务器架构
原创文章,转载请注明出处:http://jameswxx.iteye.com/blog/2096446
这里以消费者为例说明。一组消费者要消费某个topic,得先知道该topic分布在哪些broker上,某个broker上的topic分布可能会变化,一旦变化,生产者和消费者应该都能被通知到。通知模式有推和拉两种,客户端都是采取拉的模式,所以broker如有变化,通知都是有延迟的。
一 什么时候启动topic路由获取任务
两个地方:
1 首先是DefaultMQPushConsumerImpl启动时,见DefaultMQPushConsumerImpl的start方法里 ...
dubbo服务化实施整理
- 博客分类:
- 服务器架构
原创文章,转载请注明出处:http://jameswxx.iteye.com/blog/2096425
随着快的业务的快速发展,我们逐步按照业务垂直划分,抽象出基础服务层。
一 服务化目标
基础业务的服务为上游业务的灵活发展提供支持
服务应用本身无状态化,可以随着系统的负荷灵活伸缩来提供服务能
服务的稳定性,可用性达到99%
二 dubbo架构
dubbo来作为服务化中间件,dubbo作为一个RPC框架,大致的原理如下图
Registry: 注册中心;和服务的消费者,和服务提供者都建立长连接。服务提 ...
RocketMQ性能压测分析
- 博客分类:
- 服务器架构
原创文章,转载请注明出处:http://jameswxx.iteye.com/blog/2093785
一 机器部署
1.1 机器组成
1台nameserver
1台broker 异步刷盘
2台producer
2台consumer
1.2 硬件配置
CPU 两颗x86_64cpu,每颗cpu12核,共24核
内存 48G
原创文章,转载请注明出处:http://jameswxx.iteye.com/blog/2091971
1.1. 控制台使用
RocketMQ 提供有控制台及一系列控制台命令,用于管理员对主题,集群,broker 等信息的管理;
登录控制台
首先进入RocketMQ 工程,进入/RocketMQ/bin
在该目录下有个mqadmin 脚本
查看帮助
在mqadmin 下可以查看有哪些命令
sh mqadmin
查看具体命令的使用
sh mqadmin help 命令名称
例如,查看updateTopic 的使用
RocketMQ的一些特性
- 博客分类:
- 服务器架构
原创文章,转载请注明出处:http://jameswxx.iteye.com/blog/2091966
我想说,真tm蛋疼,2.0和3.0架构变化挺大的,nameserver有必要吗?zookeeper不是挺好的吗?
一 nameserver
相对来说,nameserver的稳定性非常高。原因有二:
1 nameserver互相独立,彼此没有通信关系,单台nameserver挂掉,不影响其他nameserver,即使全部挂掉,也不影响业务系统使用,这点类似于dubbo的zookeeper。
2 nameserver不会有频繁的读写,所以性能开销非常小,稳定性很高 ...
原创文章,转载请注明出处:http://jameswxx.iteye.com/blog/2065445
TCP包头中有6个标志,其中有一个复位标志(RST),这个标志其实跟网络程序中很多的错误描述相关。常见的比如:
Unable to connect to remote host: Connection refused
read error: Con ...
原创文章,转载请注明出处:http://jameswxx.iteye.com/blog/2034111
本来只是想看下metaq的文档,结果发现好乱,现在metaq其实有两个大分支了,一个是庄晓丹维护的已开源的,另外一个是淘宝内部的,本质结构原理没太大区别,只不过开源的已经去掉了对淘系相关的依赖。然后淘系的metaq已经到3.*版本了,但是文档比较乱,深入到细节时,发现好乱,一个点有好几种说法,火大,干脆自己看metaq的源码,有点意思,做个笔记记录下,怕我以后忘记了。有少量的章节和图片从内网拿来的,大部分是自己写的,记录下几个主要的点。
一:metaq是什么
met ...
任何诡异的现象必然能找到问题原因,程序是不会骗人的
一:
特征
一个对象远程传输,服务端是有值的,到客户端后该字段始终是空
原因
这个是序列化引起的,之前的文章里分析过hessian的序列化问题
二
特征
今天同事碰到一个奇怪的问题,调用一个远程服务,客户端得到的对象某字段有时有值,有时为空,数据肯定是存在的,从服务端代码来看,肯定不可能为空,序列化没有任何问题。而且他在服务器端代码还打了调用日志,值为空时,日志根本没打出。
原因
让人吐血,他启动了两个dubbo服务,这不是关键的,关键是这两个服务版本不一致 ...
memcached客户端源码分析
- 博客分类:
- java
memcached的java客户端有好几种,http://code.google.com/p/memcached/wiki/Clients 罗列了以下几种
spymemcached
* http://www.couchbase.org/code/couchbase/java
o An improved Java API maintained by Matt Ingenthron and others at Couchbase.
o Aggressively optimise ...
curl与管理员权限
- 博客分类:
- 工具命令
今天碰到一个小问题,记录一下。
启动下载服务时,发现一直在启动中
Start server copy ...... OK!
Start JBoss configuration copy ...... OK!
Wait JBoss Start: 10 seconds
一直在等待jboss启动。
我观察了jboss日志,发现jboss其实已经启动成功了,通过jboss端口可以直接访问系统。但是为什么一直在显示Wait JBoss Start: 10 seconds呢?我看了下系统的启动控制脚本,发现探测jboss是否启动是这样的
COUNT=` ...
apache和jetty组合使用有三种方式
There are three main ways to connect Apache to Jetty:
1. Using Apache mod_proxy and a normal Jetty HTTP connector.
2. Using Apache mod_proxy_ajp and the Jetty AJP connector.
3. Using Apache mod_jk and the Jetty AJP connector.
jetty推荐的是第一种
We recommend us ...
Redis的主从复制的配置很简洁,而且支持多级Master/Slave,比如B是A的slave,C是B的Slave。下面以单台机器为例说明
Master/Slave配置
一个Redis服务实例需要一个配置文件,因此启动slave,只需要复制master的配置文件,然后做少量修改即可。假设master监听1010端口,slave监听2020端口,假设复制好的slave的配置文件名为slave.conf。
修改slave.conf以下两项的值
port 2020
dbfilename slave.rdb
在slave.con ...