您的位置:首页 > 其它

高并发场景下各种框架和开发语言的选择应用处理

2018-02-21 23:32 561 查看
常用框架mq消息队列,生产者-消费者异步消费
disruptor高并发处理框架,类似于mq生产者-消费者的模式
go语言在语言层面通过通信提高并发编程模型中高并发的性能
AKKA ACTOR模型,面向 ACTOR开发,创建actor使用actor传递消息,对actor实现监听,actor持久化,与spring集成使用inbox传递消息,实现Counter计数器actor

mq消息队列先创建连接createConnection,再创建会话session,创建队列destination,创建生产者producer,
创建textmessage, 生产者发送message
spring框架对mq进行了封装,使用jmsTemplate配置参数连接mq,配置destination参数,,回调创建message发送

jmstemplate extends jmsDestinationAccessor implements jmsoperation
jmsAccessor connectionFactory createConnection createSession()    destinationResolver resolverDestiantionName()
jmstemplate .send()-->createProducer(sesssion, destination) createMessage(session) producer.send(message)

jdbcTemplate extends jdbcAccessor implemnets jdbcOperations

MQ消息中间件特点 异步 解耦 可靠性 性能 路由 削峰 复杂
JMS规范,JAVA提供API
为什么使用Rocketmq ,activemq消息处理吞吐量万级别,RocketMq在百万级别,Kafaka有消息丢失,经历过爽十一,java实现
RocketMq 有消息存储持久化
标准的queue点对点,topic发布订阅,producer,consumer
rocketmq 集群 广播
broker 存储消息 namesvr offset 类似zookeeper
rocketmq监控,主备模式,2m-2s-syn, 2m-2s-asyn

eventbus

ack消息确认应答,确认下消息队列离队,AUTO_ACKNOWLEDGE自动确认,CLIENT_ACKNOWLEDGE消费端手动确认
事务&非事务性消息
存储5.7默认使用KahaDB文件存储,是AMQ默认存储的升级,AMQ5.0默认时候用AMQ文件存储
JDBC数据库存储配置,Memory内存消息存储

mq支持jms transaction,xa transaction两种事务
mq同步接受消息consumer.receive();异步接收consumer.setMessageListener(MessageListener listener)
jms规范本身异步

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐