美文网首页
37 手写java版本的消息中间件

37 手写java版本的消息中间件

作者: 滔滔逐浪 | 来源:发表于2020-08-05 09:43 被阅读0次

小项目做异步直接采用多线程,大项目采用mq
解耦: 就是将业务不同的场景隔离开,相互不影响。
生产者: 投递消息给MQ服务器端。MQ服务器端缓存该消息。
消费者: 消费者从mq服务器获取相应的消息

mq框架如何设计:
1,mq服务器端: 缓存生产者投递的消息 队列:
数据结构与算法课程
单机版本

package com.taotao.async_log.mq;

import org.apache.logging.log4j.util.Strings;

import java.util.concurrent.LinkedBlockingDeque;

/**
 *@author tom
 *Date  2020/8/5 0005 9:30
 *
 */
public class MQServer {
    public static void main(String[] args) throws InterruptedException {
        //定义mq服务器端
       LinkedBlockingDeque<String> linkedBlockingDeque= new LinkedBlockingDeque<String>();
       // System.out.println(linkedBlockingDeque.poll());
 //创建生产线程
        Thread producer=new Thread(()->{
            for (int i = 0; i < 10; i++) {
                linkedBlockingDeque.offer(i+"");
                System.out.println(Thread.currentThread().getName()+",向mq服务器端存放消费内容:"+i);

            }

        },"生产线程:");
        //主线程等待,生产线程投递万全部消息后则开始继续向下执行
     producer.start();
       producer.join();


        new Thread(()->{
            for (;;) {
              String msg=linkedBlockingDeque.poll();
              if(Strings.isEmpty(msg)){
                  return;
              }
                System.out.println(Thread.currentThread().getName()+",从mq服务器取出消息:"+msg);
            }

        },"消费线程线程:").start();
        //主线程等待,生产线程投递万全部消息后则开始继续向下执行








   }







}


手写MQ网络版本的思路:
一个mq服务器端存放多个不同的业务逻辑队列

网络通讯有哪些技术: netty,websocket.
{
"type":"生产者或者消费者",
"dequeName":"队列名称",
Data:{}

}

相关文章

  • 37 手写java版本的消息中间件

    小项目做异步直接采用多线程,大项目采用mq解耦: 就是将业务不同的场景隔离开,相互不影响。生产者: 投递消息给MQ...

  • Java消息中间件之RabbitMQ

    什么是消息中间件? 消息代理规范JMS(Java Message Service)JAVA消息服务:基于JVM消息...

  • 消息中间件概念

    什么是JMS Java消息服务(Java Message Service),Java平台中关于面向消息中间件的接口...

  • JMS

    慕课网Java消息中间件笔记 JMS定义 Java消息服务(Java Message Server)即JMS,是一...

  • ActiveMQ

    1.Java消息中间件学习笔记一 -- 什么是消息中间件? https://blog.csdn.net/winte...

  • JAVA名词汇

    1、Java中间件,分布式系统、分布式缓存、消息队列 JAVA中间件:包括服务框架中间件:解决集群间的访问通信问题...

  • 腾讯内容首发:分布式核心原理解析笔记+分布式消息中间件实践笔记P

    分布式消息中间件实践笔记 首先,这份分布式消息中间件实践笔记是以Java语言编写。 消息中间件是分布式系统中的重要...

  • JMS 使用说明(安装部署)

    JMS(Java Messaging Service)是Java平台上有关面向消息中间件的技术规范,它便于消息系统...

  • 消息中间件学习之JMS(1)

    说到消息中间件,不得不提一下 JMS。JMS是java消息服务(Java Message Service)应...

  • ActiveMQ(一) 简介

    JMS和ActiveMQ JMS(Java Messaging Service)是Java平台上有关面向消息中间件...

网友评论

      本文标题:37 手写java版本的消息中间件

      本文链接:https://www.haomeiwen.com/subject/pfhnrktx.html