基于硬件的消息队列中间件 Solace 简介之二
前言......
前面简单介绍了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 : 从成本和所提供的性能上能够满足超大型公司重要数据, 云和物联网的要求.


下图为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中间件的基本功能:

原文链接:https://blog.csdn.net/aqudgv83/article/details/80745222
基于硬件的消息队列中间件 Solace 简介之二的更多相关文章
- Delayer 基于 Redis 的延迟消息队列中间件
Delayer 基于 Redis 的延迟消息队列中间件,采用 Golang 开发,支持 PHP.Golang 等多种语言客户端. 参考 有赞延迟队列设计 中的部分设计,优化后实现. 项目链接:http ...
- c#开源消息队列中间件EQueue 教程
一.简介 EQueue是一个参照RocketMQ实现的开源消息队列中间件,兼容Mono,具体可以参看作者的文章<分享一个c#写的开源分布式消息队列equeue>.项目开源地址:https: ...
- HQueue:基于HBase的消息队列
HQueue:基于HBase的消息队列 凌柏 1. HQueue简介 HQueue是一淘搜索网页抓取离线系统团队基于HBase开发的一套分布式.持久化消息队列.它利用HTable存储消息数据 ...
- 常用的消息队列中间件mq对比
原文地址:https://blog.csdn.net/qq_30764991/article/details/80239076 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量 ...
- 第二百九十一节,RabbitMQ多设备消息队列-安装与简介
RabbitMQ多设备消息队列-安装与简介 RabbitMQ简介 解释RabbitMQ,就不得不提到AMQP(Advanced Message Queuing Protocol)协议. AMQP协议是 ...
- nodejs一个函数实现消息队列中间件
消息队列中间件(Message Queue)相信大家不会陌生,如Kafka.RabbitMQ.RocketMQ等,已经非常成熟,在大大小小的公司和项目中也已经广泛使用. 有些项目中,如果是只使用初步的 ...
- ActiveMQ RabbitMQ RokcetMQ Kafka实战 消息队列中间件视频教程
附上消息队列中间件百度网盘连接: 链接: https://pan.baidu.com/s/1FFZQ5w17e1TlLDSF7yhzmA 密码: hr63
- 初试kafka消息队列中间件一 (只适合初学者哈)
初试kafka消息队列中间件一 今天闲来有点无聊,然后就看了一下关于消息中间件的资料, 简单一点的理解哈,网上都说的太高大上档次了,字面意思都想半天: 也就是用作消息通知,比如你想告诉某某你喜欢他,或 ...
- 初试kafka消息队列中间件二(采用java代码收发消息)
初试kafka消息队列中间件二(采用java代码收发消息) 上一篇 初试kafka消息队列中间件一 今天的案例主要是将采用命令行收发信息改成使用java代码实现,根据上一篇的接着写: 先启动Zooke ...
随机推荐
- 题解 【NOIP2016】魔法阵
[NOIP2016]魔法阵 Description 六十年一次的魔法战争就要开始了,大魔法师准备从附近的魔法场中汲取魔法量. 大魔法师有m个魔法物品,编号分别为1,2,...,m.每个物品具有一个魔法 ...
- Codeforces 833B / B34D The Bakery
题 OwO http://codeforces.com/contest/833/problem/B 解 首先读入的时候把数据读入到2 ~ n+1的位置(因为线段树处理不到0,所以后移了一格) dp[i ...
- 9种纯CSS3人物信息卡片动态展示效果
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- RSA加密解密,Base64String
///<remarks> /// DotNet.Utilities.RSACryption cryption = new DotNet.Utilities.RSACryption(); / ...
- 数据类型之字符串类型与Number类型
㈠字符串类型 ⑴在JS中字符串需要使用引号引起来 ⑵使用双引号或单引号都可以,但是不要混着用 ⑶引号不能嵌套,双引号不能放双引号,单引号不能放单引号 ⑷在字符串中,可以使用“\”作为转义字符,当表示一 ...
- 《剑指offer》算法题第六天
今日题目: 顺时针打印矩阵 包含min函数的栈 栈的压入.弹出序列 从上到下打印二叉树 二叉树搜索树的后序遍历序列 二叉树中和为某一值的路径 今天的题目都比较简单,下面一一介绍: 1. 顺时针打印矩阵 ...
- AcWing:143. 最大异或对(01字典树 + 位运算 + 异或性质)
在给定的N个整数A1,A2……ANA1,A2……AN中选出两个进行xor(异或)运算,得到的结果最大是多少? 输入格式 第一行输入一个整数N. 第二行输入N个整数A1A1-ANAN. 输出格式 输出一 ...
- Linux :vim 模式下的常用命令
[参考文章]:vim 复制一整行 复制多行 1. 查找命令 ?text 查找text,按n健查找下一个,按N健查找前一个 /text 反向查找text,按n健查找下一个,按N健查找前一个 ...
- Python 的with关键字
Python 的with关键字 看别人的代码时,with关键字经常会出现,博主决定梳理一下with以及python中上下文(context)的概念 1. 上下文管理器概念 Context Manage ...
- sklearn4_混合分类器
python机器学习-乳腺癌细胞挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003&u ...