首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

实战分享:activemq 在灾备活建设中的研究

作者简介:刘韬,在中间件领域多年的实战经验,精通 WebLogic server,Websphere,Jboss,Tomcat,tuxedo,mq,osb等多种中间件技术,对中间件的故障处理、性能优化...由于 activemq 承担着消息服务的重要角色,在这篇文章中我们重点讲述在灾备活建设中 activemq 设计、规划、部署。...目标 灾备活建设最完美的架构设计:在同城、异地 2 个数据中心,在最极端情况下,例如单数据中心垮掉情况下,保证消息零丢失,支持 7*24 服务要求。...3) 服务影响 当消息中间件节点崩溃后,已经连接在该主机消息中间件上的连接会断开,对应的事务会回滚,新的连接不受到影响。 4) 故障恢复 当消息队列节点故障处理后,启动消息中间件服务。...● 保证在各种灾难场景都实现了 7*24 和消息零丢失? 是的,只要保证一个 cluster 下的 2 个节点可用的情况下,不管在任何一种组合下,jms 服务都是可用的。

1.7K10

【晓头条】 11 天猫京东交易额皆超千亿 腾讯大会首发微信大数据 武汉推首个无人警局小程序

想知道这是什么新能力?点击这里,就能知道。 当然,本周还有这些这些新鲜事: 11 淘宝成交额达 1600 亿元,绝大部分成交额由移动端贡献。...微信严打「原创漏洞」,音视频创作者流量主功能受影响 消息称,微信近日封禁了部分公众号「流量主」广告功能,受影响较大的是音视频创作者。...今年,阿里巴巴为配合 11 的购物高峰,依然推出大量营销活动,包括 11 直播晚会、各大淘宝店铺的预购活动,马云本人甚至参演了一部「吊打战狼,单挑叶问」的微电影。...这些营销活动最终结果是, 11 当天成交额为 1682 亿元,其中 91% 的交易额由移动端贡献。...「腾讯」公众号发布「立领红包」活动消息之后,20 分钟内就显示「活动结束」,甚至一度造成「腾讯」公众号的服务拥挤。 3.

5.9K30
您找到你想要的搜索结果了吗?
是的
没有找到

为什么要使用MQ消息中间件?它解决了什么问题?

1.应用场景 1.1 异步处理 场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法两种1.串行的方式;2.并行的方式 (1)串行方式:将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端...虽然并性已经提高的处理时间,但是,前面说过,邮件和短信对我正常的使用网站没有任何影响,客户端没有必要等着其发送完成才显示注册成功,英爱是写入数据库后就返回....(3)消息队列 引入消息队列后,把发送邮件,短信不是必须的业务逻辑异步处理 由此可以看出,引入消息队列后,用户的响应时间就等于写入数据库的时间+写入消息队列的时间(可以忽略不计),引入消息队列后处理后...1.2 应用解耦 场景:11是购物狂节,用户下单后,订单系统需要通知库存系统,传统的做法就是订单系统调用库存系统的接口. 这种做法一个缺点: 当库存系统出现故障时,订单就会失败。...就算库存系统出现故障,消息队列也能保证消息的可靠投递,不会导致消息丢失(马云这下高兴了). 1.3 流量削峰 流量削峰一般在秒杀活动中应用广泛 场景:秒杀活动,一般会因为流量过大,导致应用挂掉,为了解决这个问题

49720

秒杀系统设计方案

秒杀活动场景 淘宝11秒杀场景,大量的用户短时间内涌入,瞬间流量巨大(高并发),比如:1000万人同一时间抢购100件商品。...秒杀活动是一个特别考验后台数据库、缓存服务的业务,对于数据库、缓存的性能要求特别严格。 秒杀背后的技术挑战 1....消息中间件(ActiveMQ、Kafka等):消息队列可以削峰,将拦截大量并发请求,这也是一个异步处理过程,后台业务根据自己的处理能力,从消息队列中主动的拉取请求消息进行业务处理。 2....比如我们100W用户同时抢100台手机,服务层并发请求压力至少为100W。...利用缓存应对读请求:比如11秒杀抢购,是典型的读多写少业务,大部分请求是查询请求,所以可以利用缓存分担数据库压力。

90910

高级软件工程师(面试题)

事务处理相关 简述什么是事务处理? 在不能使用数据库的事务处理以及锁(表锁/行级锁)时,怎么保持数据一致性?怎么解决数据库并发操作? 怎样解决避免多个用户读读取同一条数据记录?...进程间通信那几种,线程通信那几种,以及各自的优势? 消息队列 消息哪些瓶颈? 序列化 什么是序列化 常用序列化方式都有哪些 CDN应用 CDN 缓存的原理? CDN 都可能缓存那些内容?...网站首页90%的内容是静态的,但是用户登录状态,消息状态是动态的怎么解决? JSON 可能缓存? 浏览器缓存与CDN缓存的关系,怎样实现用户浏览器与CDN同时缓存? 面向对象试题?...认证 增加 http 认证哪些方式 用户与密码安全?...跨境情况需要考虑那些影响因素 软件灾备开发问题 数据库怎样实现灾备 缓存怎样实现灾备 应用服务器怎样实现灾备 Web 服务器怎样实现灾备 计划任务、定时周期运行的程序怎样灾备 消息队列怎样实现灾备 活的软件怎样实现同一时刻只能一个运行

3.1K30

揭秘:2018阿里11秒杀背后的技术

同时诞生的还有数据处理峰值,4200万次/秒。 几乎毫无悬念,今年天猫11将刷新去年1682亿的销售记录,技术的各种峰值数据也将再次打破全球记录。...充分利用消息中间件削峰 这里相关的阿里消息中间件(Notify和MetaQ),以及开源的(ActiveMQ、Kafka等)。...消息队列可以削峰,将拦截大量并发请求,这也是一个异步处理过程,后台业务根据自己的处理能力,从消息队列中主动的拉取请求消息进行业务处理。 3....前端设计优化 页面静态化:将活动页面上的所有可以静态的元素全部静态化,并尽量减少动态元素,通过CDN来抗峰值。 禁止重复提交:用户提交之后按钮置灰,禁止重复提交,防止一秒钟内多次写入数据库。...比如我们100W用户同时抢100台手机,服务层并发请求压力至少为100W。

4.6K30

面试官:缓存一致性问题怎么解决?

解决方案 延时删 延时删的方案的思路是,为了避免更新数据库的时候,其他线程从缓存中读取不到数据,就在更新完数据库之后,再sleep一段时间,然后再次删除缓存。...这个方案还会有另外一个问题,就是如果数据更新的特别频繁,不一致性的问题就很大了。 在实际生产中,我们一些活动的缓存数据是使用这种方式处理的。...因为活动并不频繁发生改变,而且对于活动来说,短暂的不一致性并不会有什么大的问题。 为什么是删除,而不是更新缓存? 我们以先更新数据库,再删除缓存来举例。...如果是更新的话,那就是先更新数据库,再更新缓存。 举个例子:如果数据库1小时内更新了1000次,那么缓存也要更新1000次,但是这个缓存可能在1小时内只被读取了1次,那么这1000次的更新必要吗?...删除缓存有两种方式: 先删除缓存,再更新数据库。解决方案是使用延迟删。 先更新数据库,再删除缓存。解决方案是消息队列或者其他binlog同步,引入消息队列会带来更多的问题,并不推荐直接使用。

88521

面试官:缓存一致性问题怎么解决?| 文末送书

解决方案 延时删 延时删的方案的思路是,为了避免更新数据库的时候,其他线程从缓存中读取不到数据,就在更新完数据库之后,再sleep一段时间,然后再次删除缓存。...这个方案还会有另外一个问题,就是如果数据更新的特别频繁,不一致性的问题就很大了。 在实际生产中,我们一些活动的缓存数据是使用这种方式处理的。...因为活动并不频繁发生改变,而且对于活动来说,短暂的不一致性并不会有什么大的问题。 为什么是删除,而不是更新缓存? 我们以先更新数据库,再删除缓存来举例。...如果是更新的话,那就是先更新数据库,再更新缓存。 举个例子:如果数据库1小时内更新了1000次,那么缓存也要更新1000次,但是这个缓存可能在1小时内只被读取了1次,那么这1000次的更新必要吗?...删除缓存有两种方式: 先删除缓存,再更新数据库。解决方案是使用延迟删。 先更新数据库,再删除缓存。解决方案是消息队列或者其他binlog同步,引入消息队列会带来更多的问题,并不推荐直接使用。

56410

生产环境消息队列ActiveMQ的数据积压优化过程

分析:平台中每个交易的发生可能会产生一到多条的消息通知数据,这些通知数据会通过消息队列(ActiveMQ)来中转消费并处理,那么在交易量突发洪峰的情况下会产生大量的消息通知数据,如果消息队列(ActiveMQ...3.4 消息会被重复多次消费?...(2)因为我们的系统在接收到消息后会首先存入db中进行持久化,而且每条消息在存入数据库的时候都做了唯一性约束,那么即使重复的消息也不会被正常处理。...队列处理 2287474-2bb8549eefccc1bf.png 针对5.1单队列的不足,我们可以重新设计,将单队列设计为队列处理队列的核心思想为如果队列1中的消息通知失败,则不再重新放入队列...7 总结 针对消息队列的数据积压问题,我们主要做了三个方面的优化处理,取消同步锁、ActiveMQ参数优化、本地队列优化,通过这三个方面的优化基本解决了队列数据积压的问题。 本文由来源 简书

2.1K40

解决消息队列的数据积压问题

分析:平台中每个交易的发生可能会产生一到多条的消息通知数据,这些通知数据会通过消息队列(ActiveMQ)来中转消费并处理,那么在交易量突发洪峰的情况下会产生大量的消息通知数据,如果消息队列(ActiveMQ...3.4 消息会被重复多次消费?...(2)因为我们的系统在接收到消息后会首先存入db中进行持久化,而且每条消息在存入数据库的时候都做了唯一性约束,那么即使重复的消息也不会被正常处理。...队列处理 针对5.1单队列的不足,我们可以重新设计,将单队列设计为队列处理队列的核心思想为如果队列1中的消息通知失败,则不再重新放入队列1,而是放入队列2去通知,这样可以起到消息数据分离的作用...7 总结 针对消息队列的数据积压问题,我们主要做了三个方面的优化处理,取消同步锁、ActiveMQ参数优化、本地队列优化,通过这三个方面的优化基本解决了队列数据积压的问题。

78040

志玲姐姐宣布结婚的一刹那,对一个单身程序员的冲击究竟有多大。

你很6? 做为一个程序员,我不关心这位大哥你多6,我担心的是9,什么是9,是新浪服务器请求成功率还剩几个9,是99.9999,还是已经挺不住了? 为什么会担心这个呢?...现在从技术角度来分析一下志玲姐姐宣布结婚的消息,对一个系统什么挑战。 关于热点数据的危害与解决方案 什么是热点数据?...如淘宝11,京东618,电商促销秒杀活动,微博爆炸性新闻等,一个话题或一件商品,在短时间内被大量读写,这些数据都有可能成为热点数据,一般解决热点数据,而这些热点数据往往存储在分布式缓存里,如Redis..., 由于商品物美价廉,志玲姐姐太过漂亮,用户收到消息后会进入活动页面疯狂点击,请求量巨大,最终导致页面异常,服务器报警。...推荐可以通过订阅数据库的变更或者其他方式来更新缓存中的key 关注集群内存: 内存在满载情况会对业务明显的性能影响。建议在集群内存占用较高的时候一是尝试优化),二是联系DBA进行扩容操作。

96930

搞清楚这 10 几个后端面试问题,工作稳了!

数据库篇 MySQL数据库相关 MySQL哪些常见的存储引擎? 索引的原理是什么? MySQL三种日志分别起到什么作用?(redoLog,undoLog,binLog) 为什么选择B+树索引?...数据库死锁的原因?如何快速定位并解决? 事务隔离级别 事务哪些隔离级别? 每种隔离级别会导致什么问题? mysql 和 oracle默认情况下分别采用哪种隔离级别? mysql如何解决幻读的?...中间件篇 MQ的相关问题 你用过消息队列?用了哪个消息队列? 在使用MQ的时候怎么确保消息 100% 不丢失? 怎么解决消息的重复消费问题? 如何实现顺序消息? 如何解决引入消息后的事务问题?...多维度查询需要配合其他查询引擎,那么如何实现数据同步?如何保证写的一致性? 很多情况下并不是一开始就实现分库分表,等我们需要分库分表的时候如何进行数据迁移? Redis 用过Redis?...如何让系统能抗住预约抢购活动的流量压力? 以上就是我推荐给你们的十几道面试题,你都能答好吗?欢迎留言评论哟!

3.8K20

微服务应该这么搞,才能少踩坑!

所以我们经常会在11这种大型促销活动期间把物流接口屏蔽掉,在页面上也关掉物流查询功能。这样就避免了我们自己的服务被拖垮,也保证了重要功能的正常运行。 降低一致性之读降级 对于读一致性要求不高的场景。...但是活动开始后,实际参加的人数比预估的人数翻了5倍,这就远远超出了我们的服务处理能力,给后端服务、缓存、数据库等带来巨大的压力。随着访问请求的不断涌入,最终很可能造成平台系统崩溃。...那么什么问题? 答案是肯定的。没法保证数据一致性,也就是说不能保证这几步操作全部成功或者全部失败!...解决方案:第二阶段已经执行,第一阶段就不再执行了,可以加一个“分支事务记录表”,如果表里相关第二阶段的执行记录,就不再执行try(上面代码防悬挂处理)。...注意:任何对数据库的增删改都要写;对于更新操作,如果新库没有相关记录,先从老库查出记录更新后写入数据库;为了保证写入性能,老库写完后,可以采用消息队列异步写入新库。

3.5K20

异地活实践笔记

而异地(多)活,却是指两个或者多个可以同时对外服务的节点,任意一个点挂了,也可以迅速切换到其他节点对外服务,节点之间的数据做到准实时同步。...既然不跨机房就要做用户分区,确保每个用户只能访问自己所在的区,这样至少能保证该用户自己的数据的完整。 3、所有的业务都适合做异地?...冷备了以后,一直冷备,当真正出现问题,你还有勇气去切换到那个一直冷的机房?恐怕需要点勇气。 5、数据一致性问题。 解决方案: (1)、守护进程同步。 (2)、客户端写。...消息同步问题:如果不同步会导致消息丢失。所以mq消息其实也是需要同步的。 同步可以通过客户端写,或者服务端复制。写更加容易。 Redis的异地活 Redis 的异地活。...这种多活数据中心的好处是:因为所有的数据中心都在支持交易,所以能节约IT成本;另外传统方式中备份系统都不在真实的交易活动状态,所以很难判断它的状态到底怎么样,在出现问题时,都不一定敢切过去。

11.7K111

企业必须关注的IPv6网络安全25问

Q8:在IPv6中可能执行主机跟踪攻击? 答:视情况而定。主机跟踪是指当主机跨网络移动时,网络活动的相关性。...,该消息会通知MTUs应小于1280字节 基于UDP的协议可能依赖于数据分片,因此在使用此类协议时,通常不建议阻断数据分片的流量。...其他协议(如TCP)可以通过Path-MTU发现等机制完全避免使用数据分片。 当ICMPv6“PTB”错误消息宣告小于1280字节的MTU时,可能会触发分片的使用。...因此,如果IPv6分片被丢弃,但是ICMPv6“PTB”错误消息会导致小于1280字节的MTU未被丢弃,攻击者可能会利用这样的ICMPv6错误消息来触发数据分片,导致结果分片被丢弃,进而导致拒绝服务(DoS...Q20:用户该删除包含IPv6扩展报头的数据? 答:建议用户根据过滤策略在网络中的执行位置,灵活设置针对包含IPv6扩展报头的数据包的过滤策略。

4.2K51

Zoom 妥协!对免费用户开放端到端加密服务

从 3 月中下旬开始,Zoom 泄露用户隐私数据、被多家企业禁用、遭股东集体诉讼、被多方黑客攻击…… ?...从标到一视同仁,Zoom 被迫妥协 在 6 月 2 日的投资者汇报会议上,Zoom CEO 袁征曾表示,将为付费用户或企业提供端到端加密服务。...至于免费用户,由于注册信息只有邮件,身份信息无法核验,一旦发现部分人利用 Zoom 从事非法活动后,无法追根溯源,因此公司决定不对免费用户开放端到端服务。 ?...CEO 袁征向股东陈述提高安全性和隐私性的具体措施 消息一出引起了广大用户的反感,不少人表示 Zoom 这是赤裸裸的「标」。...你对 Zoom 信心? —— 完 ——

1.4K10

度量平台落地实践

恰巧笔者在去年也负责了公司度量平台的研发,一些收获,通过本文分享给大家,也算是自己对这个平台总结。为后续在新团队开展度量活动理清思路。...: 方案一:同步写:最为简单的方式,业务在将数据写到mysql时,同时将数据写到ES,实现数据写。...编写一个MQ消费程序;不断消费MQ,每消费完一条消息,将消息写入到ES中。...当时团队两种思路:用行业比较流行的ES来处理,或者用Pandas来处理。...ES的缺陷两个:第一个问题,Mysql的数据同步到ES需要用到logstat组件来处理,这需要我们单独部署一个服务来处理,由于经验不足,logstat的output配置写的很糟糕,用表结构直接映射。

67320
领券