基于硬件的消息队列中间件 Solace 简介之二
小短篇介绍关于Solace https://blog.csdn.net/aqudgv83/article/details/79495489 .
前面简单介绍了Solace来自于哪家公司, 主要能做哪些事情. 本篇主要进一步介绍Solace作为消息传递的中间件如何工作的.
传统意义上来讲, 每当我们谈到消息中间件时, 首先想到的是基于Message Queue,有Apache的 Active MQ, IBM的Webshere的 MQ, Rabbit MQ都是基于内存/持久化到磁盘来实现的. 还有一种Oracle Advance MQ, 这是一种基于oracle数据库实现的Queue.天然支持基于数据库的操作.相当好用,只是了解的人不多,使用的也少,没有被广泛应用.
近些年,大数据的兴起, 使得对消息中间件的要求变得更高, 要求稳定,高效,可追溯,分布式的支持,实效性, 如Kafka , Redis.
Solace是不同于以上的消息队列及缓存的机制, 它是完全基于硬件实现的消息队列中间件.速度,效率,吞吐量,可靠性都高于以上几种消息中间件, 不同的是它是收费的,而且对于中小型企业控制成本来讲, 基本不是首选. 但是它在世界范围内的金融企业得到了广泛的认可和使用.
Solace提供两种设备模型:
- PubSub+ 3530 : 从成本和提供的性能上有效地满足了中型企业的需求.
- PubSub+ 3560 : 从成本和所提供的性能上能够满足超大型公司重要数据, 云和物联网的要求.
I/O Cards 4x1GE |
I/O Cards 8x1GE, 2x10GE, 8x10GE |
连接 Enterprise/JMS: 6,000 connections IoT/Web/REST: 6,000 connections |
连接 Enterprise/JMS: 30,000 connections IoT/Web/REST: 200,000 connections |
Non-Persistent (Direct) Messaging Point to Point: 4.7M msgs/sec with Fanout: 4.7M msgs/sec Throughput: 4Gbps Latency: 28 microseconds |
Non-Persistent (Direct) Messaging Point to Point: 9.3M msgs/sec with Fan-out: 28.4M msgs/sec Throughput: 80 Gbps Latency: 18 microseconds |
Persistent (Guaranteed) Messaging Point to Point: 75,000 msgs/sec With Fan-out: 450,000 msgs/sec Throughput: 1 Gbps |
Persistent (Guaranteed) Messaging Point to Point: 645,000 msgs/sec With Fan-out: 5,530,000 Throughput: 9 Gbps |
下图为Solace的基本结构:
通过这样一张简图, 可以有一个大体印象, 一台Solace的服务的整体结构分布于硬件上是怎样的一种体现. 后面的文章会详细介绍每个port是什么用的.
API的支持:
Solace APIs提供一个底层基于UDP,用C++/Java编的JCMP API的一个统一访问Solace设备的API,用于提供通信服务, 支持的语言版本有: C, .NET, iOS, Java, JavaScript, JMS and Node.js.
目前有一个通用的开源的Apache Qpid - AMQP 1.0 (Advanced Message Queuing Protocol) , 它实现了事物的管理,查询,分发,安全及跨平台的支持. 主参考: https://qpid.apache.org/
面向消息的中间件主要的作用是用来在不同组件, 系统间传递信息.目的是将整个平台或者系统的上下游间进行架构上的解耦合. 使得系统间的运行流转可通过中间件的作为传递的桥梁,起到连通的作用.尤其是像Solace这样的可靠稳定的基于硬件的设备,更加适合于不仅系统内的各组件可以拆分, 不同平台, 系统同样可以它作为桥梁进行信息的整合,备份. 在分布式的系统架构中,它可以起到中间媒介的作用.
Solace中间件的基本功能:
TBD(由于工作的原因暂停了,后面会持续更新。)
基于硬件的消息队列中间件 Solace 简介之二相关推荐
- python消息队列中间件_常见的消息队列中间件介绍
题目 为什么使用消息队列? 消息队列有什么优点和缺点? Kafka.ActiveMQ.RabbitMQ.RocketMQ 都有什么区别,以及适合哪些场景? 什么是消息队列 在正式介绍和对比Kafka. ...
- rabbitmq实战:高效部署分布式消息队列_一文看懂消息队列中间件--AMQ及部署介绍...
概述 最近有个小项目用到了AMQ来做消息队列,之前介绍的主要是rabbitmq,所以今天主要提一下AMQ,也简单介绍下两者的区别~ 消息队列中间件 消息队列中间件(简称消息中间件)是指利用高效可靠的消 ...
- 【BCVP】实现基于 Redis 的消息队列
聆听自己的声音 如果自己学不动了,或者感觉没有动力的时候,看看书,听听音乐,跑跑步,休息两天,重新出发,偷懒虽好,可不要贪杯. 话说上回书我们说到了,Redis的使用修改<[BCVP更新]Sta ...
- 消息中间件系列(七):如何从0到1设计一个消息队列中间件
消息队列作为系统解耦,流量控制的利器,成为分布式系统核心组件之一. 如果你对消息队列背后的实现原理关注不多,其实了解消息队列背后的实现非常重要. 不仅知其然还要知其所以然,这才是一个优秀的工程师需要具 ...
- 使用kafka消息队列中间件实现跨进程,跨服务器的高并发消息通讯
作者 | 陈屹 责编 | 欧阳姝黎 近来工作上接收到一项任务,实现c++后台服务器程序,要求它能承载千万级别的DAU读写请求.目前实现千万级高并发海量数据请求的服务器设计在"套路 ...
- c#开源消息队列中间件EQueue 教程
一.简介 EQueue是一个参照RocketMQ实现的开源消息队列中间件,具体可以参看作者的文章<分享一个c#写的开源分布式消息队列equeue>.项目开源地址:https://githu ...
- MQ消息队列中间件:
MQ消息队列中间件: 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应. 异步通讯:就像发信息,不需要马上回复. 同步调用的优点: 时效性较强,可以立即得到结果 同步调用的问题: ...
- 浅谈消息队列及常见的分布式消息队列中间件
背景 分布式消息队列中间件是是大型分布式系统不可缺少的中间件,通过消息队列,应用程序可以在不知道彼此位置的情况下独立处理消息,或者在处理消息前不需要等待接收此消息.所以消息队列主要解决应用耦合.异步消 ...
- activemq消息丢失_基于Redis实现消息队列的典型方案
基于Redis实现消息队列典型方案 1 概述 2 基于List的 LPUSH+BRPOP 的实现 3 PUB/SUB,订阅/发布模式 4 基于SortedSet有序集合的实现 5 基于 Stream ...
最新文章
- 全局变量:global与$GLOBALS的区别和使用
- Struts2 + uploadify 多文件上传完整的例子!
- 为什么TCP连接要三次握手?
- 使用CSS实现网格+渐变背景色的Web页面背景
- spyder python下载_Spyder Python软件-Spyder Python下载-最火手机站
- 4.1 android 头像,微商抠图软件换头像app
- 解决在Access中显示ActiveX部件不能创建对象
- Thymeleaf 教程
- 操作系统的目标和作用
- 甘特图(xGantt)项目管理 - 多维企业级
- DNS 智能解析功能评测之国内部分总结篇~
- Oracle DB 序列
- 至联云讲解《IPFS/Filecoin上线后会涨的八大理由》
- hdu 1824 Let's go home(2-sat 基础题)
- AI_综述:3D目标检测于RGB-D(Object detection in RGB-D images)
- [Elasticsearch]cat API的使用
- java多线程核心技术_Java多线程编程核心技术(笔记)
- NGUI之UITable
- 文本比对-python
- 从业五年java的感受 十