메시지 큐 (1)

메시지 큐

시나리오

사용 Message Queue는 왜 (면접관은 당신이 생각없이 생각 참조)

사실, 메시지 큐, 다음 프로젝트는이 장면에서 메시지 큐 무엇인지에 대해 이야기 어떤 특정 장면 사용 시나리오의 무엇을 요청하는 것입니다?

면접관은 당신에게이 질문 에 대한 답변이 기대하는 기업이 무슨이다 비즈니스 시나리오 이상을하지 MQ가 번거로울 수 있습니다,하지만 당신은 지금 MQ 당신을 가져 사용하는 경우 기술적 과제는,이 비즈니스 시나리오 혜택을 많이.

나 사실, 많은 장면이있다, 메시지 큐 일반적인 사용 시나리오에 대해 얘기하자,하지만 더 중앙 세 가지가 있습니다 : 분리 , 비동기 , 클리핑 .

디커플링

시스템 (모듈) 시스템 (블록) 시나리오 복수 호출

여러 시스템을 추가하거나 시스템 호출을 줄이기 위해 코드를 수정해야합니다

그리고 동기화 호출 인터페이스를 필요로하지 않는다

MQ-2

비동기

A는 동시에 여러 시스템에 들어오는 정보를 저장 시간의 소비에 관련된 문제,

기간 시간이 걸리는 필요

이 정보는 만 현재의 시스템을 저장해야하고, 나머지는 메시지 큐에 배치

MQ-4

클리핑

각각의 성능이 한계입니다

유사 이중 열한 Taobao의 데이터 볼륨 급증,

이번에는 메시지 큐에 사용자가 요청하는 것이 필요하다,

때마다 데이터가 (단지 데이터 시스템 충돌을하지 않음) 최대 큐에서 꺼내어

이러한 요청은, 메시지 큐에 누적됩니다

레저 요청이 덜하지만, 시스템이 최대 데이터 처리량을 가진 사람을 처리 할 때까지,

따라서, 메시지의 축적은 곧 해결 될 것입니다

MQ-6

장점과 메시지 큐의 단점

이점

그것은 특별한 장면 혜택에서의 대응이 , 디커플링 , 비동기 , 클리핑 .

결점

  1. 시스템 가용성을 감소

    외부 시스템 종속성이 중단하기 더 쉽고, 소개했다.

    모든 멋진을 끊고 MQ

  2. 증가 시스템의 복잡성

    어떻게 메시지가 소비 반복되지 않도록하기

    어떻게 누락 된 메시지의 경우에 대처하기

    어떻게 그 주문 유형의 메시지를 보장하기 위해

  3. 일관성

    A 系统处理完了直接返回成功了,人都以为你这个请求就成功了;但是问题是,要是 BCD 三个系统那里,BD 两个系统写库成功了,结果 C 系统写库失败了,咋整?你这数据就不一致了。

Kafka、ActiveMQ、RabbitMQ、RocketMQ有什么优缺点?

特性 ActiveMQ RabbitMQ RocketMQ Kafka
单机吞吐量 万级,比 RocketMQ、Kafka 低一个数量级 同 ActiveMQ 10 万级,支撑高吞吐 10 万级,高吞吐,一般配合大数据类的系统来进行实时数据计算、日志采集等场景
topic 数量对吞吐量的影响 topic 可以达到几百/几千的级别,吞吐量会有较小幅度的下降,这是 RocketMQ 的一大优势,在同等机器下,可以支撑大量的 topic topic 从几十到几百个时候,吞吐量会大幅度下降,在同等机器下,Kafka 尽量保证 topic 数量不要过多,如果要支撑大规模的 topic,需要增加更多的机器资源
时效性 ms 级 微秒级,这是 RabbitMQ 的一大特点,延迟最低 ms 级 延迟在 ms 级以内
可用性 高,基于主从架构实现高可用 同 ActiveMQ 非常高,分布式架构 非常高,分布式,一个数据多个副本,少数机器宕机,不会丢失数据,不会导致不可用
消息可靠性 有较低的概率丢失数据 基本不丢 经过参数优化配置,可以做到 0 丢失 同 RocketMQ
功能支持 MQ 领域的功能极其完备 基于 erlang 开发,并发能力很强,性能极好,延时很低 MQ 功能较为完善,还是分布式的,扩展性好 功能较为简单,主要支持简单的 MQ 功能,在大数据领域的实时计算以及日志采集被大规模使用
  1. 一般的业务系统要引入 MQ,最早大家都用 ActiveMQ,但是现在确实大家用的不多了,没经过大规模吞吐量场景的验证,社区也不是很活跃,所以大家还是算了吧,我个人不推荐用这个了;
  2. 나중에는 RabbitMQ를 사용하기 시작하지만, 자바 엔지니어가 깊이있는 연구를 가서 그것을 제어, 기업, 거의 제어 할 수없는 상태에 있지만, 사람들도 정말 오픈 소스, 상대적으로 안정적인 지원 활동이다 얼랑 언어를 많이 방지 않습니다 높은;
  3. 하지만 지금은 점점 더 많은 기업이 실제로 RocketMQ, 정말 좋은, 결국 함께 갈 것입니다, 알리 생산하지만, 위험 사회가 갑자기 노란색 (현재 RocketMQ가 기증 된 잃었다 수 있습니다 아파치 ,하지만 활동이 GitHub의에 높은 사실 아니다 )는 RocketMQ 추천, 그렇지 않으면 돌아가서 정직 RabbitMQ 그것으로, 다른 사람이 활성 오픈 소스 커뮤니티가있는 것이다 노란색하지 자신의 기술 강도가 절대적으로 확신하고 있습니다.
  4. 그래서 중소 기업 , 기술 강도는 좋은 선택은 기술적 인 문제가 RabbitMQ와 함께, 특히 높은 아닌,보다 일반적인이다, 대기업 RocketMQ와, 인프라, 강력한 R & D 강도가 좋은 선택이 될 것입니다.
  5. 이 경우 데이터의 넓은 지역 을 실시간으로 계산 카프카는 업계 표준입니다 확실히 문제, 지역 사회 활동가의 높은 수준입니다 함께, 노란색하지, 사실을 언급하지 않을 것이다, 수집 및 다른 장면을 기록하는이 모든 분야에서 세계 거의 규범.

추천

출처www.cnblogs.com/heihaquyu/p/12103079.html