前言......

前面简单介绍了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 简介之二的更多相关文章

  1. Delayer 基于 Redis 的延迟消息队列中间件

    Delayer 基于 Redis 的延迟消息队列中间件,采用 Golang 开发,支持 PHP.Golang 等多种语言客户端. 参考 有赞延迟队列设计 中的部分设计,优化后实现. 项目链接:http ...

  2. c#开源消息队列中间件EQueue 教程

    一.简介 EQueue是一个参照RocketMQ实现的开源消息队列中间件,兼容Mono,具体可以参看作者的文章<分享一个c#写的开源分布式消息队列equeue>.项目开源地址:https: ...

  3. HQueue:基于HBase的消息队列

    HQueue:基于HBase的消息队列   凌柏   ​1. HQueue简介 HQueue是一淘搜索网页抓取离线系统团队基于HBase开发的一套分布式.持久化消息队列.它利用HTable存储消息数据 ...

  4. 常用的消息队列中间件mq对比

    原文地址:https://blog.csdn.net/qq_30764991/article/details/80239076 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量 ...

  5. 第二百九十一节,RabbitMQ多设备消息队列-安装与简介

    RabbitMQ多设备消息队列-安装与简介 RabbitMQ简介 解释RabbitMQ,就不得不提到AMQP(Advanced Message Queuing Protocol)协议. AMQP协议是 ...

  6. nodejs一个函数实现消息队列中间件

    消息队列中间件(Message Queue)相信大家不会陌生,如Kafka.RabbitMQ.RocketMQ等,已经非常成熟,在大大小小的公司和项目中也已经广泛使用. 有些项目中,如果是只使用初步的 ...

  7. ActiveMQ RabbitMQ RokcetMQ Kafka实战 消息队列中间件视频教程

    附上消息队列中间件百度网盘连接: 链接: https://pan.baidu.com/s/1FFZQ5w17e1TlLDSF7yhzmA 密码: hr63

  8. 初试kafka消息队列中间件一 (只适合初学者哈)

    初试kafka消息队列中间件一 今天闲来有点无聊,然后就看了一下关于消息中间件的资料, 简单一点的理解哈,网上都说的太高大上档次了,字面意思都想半天: 也就是用作消息通知,比如你想告诉某某你喜欢他,或 ...

  9. 初试kafka消息队列中间件二(采用java代码收发消息)

    初试kafka消息队列中间件二(采用java代码收发消息) 上一篇 初试kafka消息队列中间件一 今天的案例主要是将采用命令行收发信息改成使用java代码实现,根据上一篇的接着写: 先启动Zooke ...

随机推荐

  1. laravel 之 cookie 使用

    <?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use Illuminate\Http\Resp ...

  2. yii 上传视频(ajax)

    实现一个功能:提交表单的时候,需要上传视频,把视频上传到oss上,然后把url作为表单值传到后端保存到数据库.需要ajax异步实现. 遇到了一个这样报错:Bad Request: 您提交的数据无法被验 ...

  3. Ubuntu:19.04程序启动缓慢

    造冰箱的大熊猫@cnblogs 2019/5/8 Ubuntu 19.04,程序(Firefox.Terminal.Nautilus)启动非常缓慢.点击桌面工具栏上的Nautilus图标后,隔了很久才 ...

  4. 内存拷贝函数 memcpy

    windows下实现: void* __cdecl memcpy(void* dst,const void* src,size_t count) { void*ret=dst; #if defined ...

  5. Codevs 1213 解的个数(exgcd)

    1213 解的个数 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 已知整数x,y满足如下面的条件: ax+by+c=0 p< ...

  6. Android 内存 - 获取单个应用内存限制

    方法一: adb shell getprop | grep dalvik.vm.heapgrowthlimit [dalvik.vm.heapgrowthlimit]: [64m] 方法二: Acti ...

  7. JavaWeb-RESTful(一)_RESTful初认识

    系列博文 JavaWeb-RESTful(一)_RESTful初认识 传送门 JavaWeb-RESTful(二)_使用SpringMVC开发RESTful_上 传送门 JavaWeb-RESTful ...

  8. Xpath中text(),string(),data()的区别

    摘要: 在XPath中,经常使用text()和string(),而我一般都是想到哪个用哪个,究竟他们之间有什么不同,没有在意过. 本质区别 text()是一个node test,而string()是一 ...

  9. HNOI2015菜肴制作

    一开始,没想出来,先topsort判环,把impossible拿到手,然后划分联通块,对每个联通块跑一遍topsort,觉得可对了,然后被大样例教育明白了,知道自己的策略错在哪了. 接着在纸上疯狂手模 ...

  10. python文件夹中pycache文件是什么

    python(pycache文件的问题):python属于脚本语言,执行python文件需要通过python解释器将源码转换为字节码,然后供cpu读取,pycache文件夹里面保存的就是py文件对应的 ...