2019-11-30 14:48
⁄ 工业·编程
⁄ 共 2529字
我们知道kafka是消息队列的一种,我们要先知道为什么我们需要消息队列,什么场景下我们选择kafka。
1.为什么要用消息队列
解耦
在项目启动之初来预测将来项目会碰到什么需求,是极其困难的。消息系统在处理过程中间插入了一个隐含的、基于数据的接口层,两边的处理过程都要实现这一接口。这允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。
冗余
有些情况下,处理数据的过程会失败。除非数据被持久化,...
kafka, 中间件阅读全文
2019-11-23 13:20
⁄ 工业·编程
⁄ 共 475字
最近被问到一个问题:谈谈你对MQ的理解。
回答时心里还是很有谱的,因为对于MQ的研究学习没少花功夫,我就开始回答MQ主要是为了异步做削峰啊,防止洪峰让系统线程和内存爆掉啊,可以做一些非及时性的操作例如短信邮件发送啊,可以做操作热度和日志信息收集等高并发又可用性要求不高的场景啊。
面试官对我的答案不满意,从更专业的角度给我做了分析,听完后如雷贯耳。
站在架构角度上来讲,什么情况下使用MQ?
松耦合
站在业务角...
中间件阅读全文
2019-06-29 06:13
⁄ 工业·编程
⁄ 共 5111字
1.ACE:
ACE提供了一组丰富的可重用C++包装外观(WrapperFacade)和框架组件,可跨多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步等等。ACE简化了使用进程间通信、事件多路分离、显式动态链接和并发的面向对象的网络应用和服务的开发。
ACE架构图如图1-1所示:
ACE的优点主要有:
(1).增...
中间件, 网络编程阅读全文
2019-05-07 22:19
⁄ 工业·编程
⁄ 共 2165字
消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。
我们来看几个关键点:
消息 消息中间件定义了一个协议(模型),基于该协议可以传递消息
分布式 消息中间件的引入是为了解决分布式系统的问题,对于简单的单应用系统用不着
举例来说,一个常见的最简单的UGC应用,至少包括后端、APP、审核后台、...
Redis, 中间件阅读全文
2019-05-06 22:04
⁄ 工业·编程
⁄ 共 3010字
为什么使用消息队列
先说一下消息队列常见的使用场景吧,其实场景有很多,但是比较核心的有 3 个:解耦、异步、削峰。
解耦
看这么个场景。A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C 系统现在不需要了呢?A 系统负责人几乎崩溃......
在这个场景中,A 系统跟其它各种乱七八糟的系统严重耦合,A 系统产生一条比较关键的数据,很多系统都需要 A 系统将这个数据发送过来。A 系统要...
中间件, 网络协议阅读全文