-
跨语言传输协议-Thirft
Apache Thrift
Apache Thrift 软件框架,用于可伸缩的跨语言服务开发,它将软件堆栈和代码生成引擎结合在一起,构建了在c++、Java、Python、PHP、Ruby、Erlang、Perl、Haskell、c#、Cocoa、JavaScript、Node之间高效无缝地工作的服务。js、Smalltalk、OCaml、Delphi等语言。
优点
Thrift实际上...
2018-09-20 02:06:48 |
Protocol
-
Spring 整合 ActiveMQ-04-事务管理
事务管理
对于使用过 spring 管理数据库相关操作的,肯定都知道数据库事务。
对于 JMS,Spring 同样也提供了事务支持。
事务的管理
Spring提供了一个JmsTransactionManager,用于管理单个JMS ConnectionFactory的事务。这允许JMS应用程序利用Spring的托管事务特性,如第17章事务管理所述。JmsTransactionMana...
2018-09-20 01:35:26 |
MQ
-
Spring 整合 ActiveMQ-03-消息类型转换
消息类型转换
为了方便域模型对象的发送,JmsTemplate有各种发送方法,这些方法将Java对象作为消息数据内容的参数。
JmsTemplate中的convertAndSend()和receiveAndConvert()重载方法将转换过程委托给MessageConverter接口的实例。
这个接口定义了一个简单的契约,用于在Java对象和JMS消息之间进行转换。
默认实现Simp...
2018-09-20 01:35:26 |
MQ
-
Spring 整合 ActiveMQ-02-MessageListener
Listener
首先讲述 Spring 支持的几种消息监听器。
MessageListener
MessageListener 是最原始的消息监听器,它是 JMS 规范中定义的一个接口。
如同上一节中给出的例子 spring activemq 入门整合
ConsunerMessageListener.java
import javax.jms.JMSException;...
2018-09-20 01:35:26 |
MQ
-
Spring 整合 ActiveMQ-01-入门
Spring ActiveMQ 整合实战
基础知识
JMS
ActiveMQ
实战代码
环境准备
启动 activeMQ,本次测试使用 docker。
项目结构
├── pom.xml
└── src
├── main
│ ├── java
│ │ └── com
│ │ └── github
│ │ ...
2018-09-20 01:35:26 |
MQ
-
MQ 手写-01-概览
何时需要 MQ
当你需要使用消息队列时,首先需要考虑它的必要性。
可以使用mq的场景有很多,最常用的几种,是做业务解耦/最终一致性/广播/错峰流控等。
反之,如果需要强一致性,关注业务逻辑的处理结果,则RPC显得更为合适。
解耦
解耦是消息队列要解决的最本质问题。所谓解耦,简单点讲就是一个事务,只关心核心的流程。
而需要依赖其他系统但不那么重要的事情,有通知即可,无需等待结果。换...
2018-09-20 01:35:26 |
MQ
-
rocketsmq-10-operation 运维部署
运维管理
1 集群搭建
1.1 单Master模式
这种方式风险较大,一旦Broker重启或者宕机时,会导致整个服务不可用。不建议线上环境使用,可以用于本地测试。
1)启动 NameServer
### 首先启动Name Server
$ nohup sh mqnamesrv &
### 验证Name Server 是否启动成功
$ tail -f ~/logs/r...
2018-09-20 01:35:26 |
MQ
-
rocketsmq-09-deploy 部署
Dledger集群搭建
前言
该文档主要介绍如何部署自动容灾切换的 RocketMQ-on-DLedger Group。
RocketMQ-on-DLedger Group 是指一组相同名称的 Broker,至少需要 3 个节点,通过 Raft 自动选举出一个 Leader,其余节点 作为 Follower,并在 Leader 和 Follower 之间复制数据以保证高可用。
Rock...
2018-09-20 01:35:26 |
MQ