摘要: 一、简介 消息中间件(Message Queue Middleware,简称MQ)又称为消息队列,是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的构建。是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性 阅读全文
posted @ 2018-08-03 14:54 ppjj 阅读(995) 评论(0) 推荐(0) 编辑
摘要: 引言 前几期的评测中,我们对比了Kafka和RocketMQ的吞吐量和稳定性,本期我们要引入一个新的评测标准——软件可靠性。 何为“可靠性”? 先看下面这种情况:有A,B两辆越野汽车,在城市的周边地区均能很好应对泥泞的路况。当一同开去穿越西藏,A车会因为西藏本地的汽油不达标,导致油路受阻无法点火,而 阅读全文
posted @ 2018-08-03 14:48 ppjj 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 引言 上期我们对比了RocketMQ和Kafka在多Topic场景下,收发消息的对比测试,RocketMQ表现稳定,而Kafka的TPS在64个Topic时可以保持13万,到了128个Topic就跌至0.85万,导致无法完成测试。我们不禁要问: 为什么看不到Kafka性能暴跌的趋势呢? 今天的测试, 阅读全文
posted @ 2018-08-03 14:45 ppjj 阅读(1702) 评论(0) 推荐(0) 编辑
摘要: 引言 上一期我们对比了三类消息产品(Kafka、RabbitMQ、RocketMQ)单纯发送小消息的性能,受到了程序猿们的广泛关注,其中大家对这种单纯的发送场景感到并不过瘾,因为没有任何一个网站的业务只有发送消息。本期,我们就来模拟一个真实的场景: Topic为何物 Topic是消息中间件里一个重要 阅读全文
posted @ 2018-08-03 14:43 ppjj 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 引言 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间我们自家的产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注。 那么,消息中间件性能究竟哪家强? 带着这个疑问,我们中间件测试组对常见的三类消息产品(Kafka、R 阅读全文
posted @ 2018-08-03 14:34 ppjj 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Kafka这个优秀的消息中间件,淘宝中间件团队在对Kafka做过充分Review之后,Kafka无限消息堆 阅读全文
posted @ 2018-08-03 14:32 ppjj 阅读(493) 评论(0) 推荐(0) 编辑
摘要: (一)、示例: public class ThreadPoolDemo3 { public static void main(String[] args) { ExecutorService executorService = Executors.newFixedThreadPool(4); for 阅读全文
posted @ 2018-08-03 11:46 ppjj 阅读(2055) 评论(0) 推荐(0) 编辑
摘要: 有状态的:比如session,cookie,spring项目都用spring session实现redis存储session,或者用nginx + redis+tomcat实现负载均衡,使用ip_hash策略,能将来自同一IP的客户端请求派发给同一个服务实例,在分布式环境中,可以解决session不 阅读全文
posted @ 2018-08-03 11:29 ppjj 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 缓存 接触过hibernate的同学都知道hibernate中有个二级缓存,mybatis也存在二级缓存。mybatis中二级缓存有什么作用呢?mybatis提供查询缓存,可以提高查询效率,减轻数据库的压力。 一级缓存 一级缓存是session级别的缓存,基于PerpetualCache的HashM 阅读全文
posted @ 2018-08-03 10:55 ppjj 阅读(266) 评论(0) 推荐(0) 编辑