当前位置: 首页 > news >正文

phpcms建站教程设计制作平板电脑支架

phpcms建站教程,设计制作平板电脑支架,企业网站备案需要多久,电子商务网站建设开发写在最前 如果这个项目让你有所收获#xff0c;记得 Star 关注哦#xff0c;这对我是非常不错的鼓励与支持。 源码地址#xff08;后端#xff09;#xff1a;mingyue: #x1f389; 基于 Spring Boot、Spring Cloud Alibaba 的分布式微服务架构基础服务中心 源…写在最前 如果这个项目让你有所收获记得 Star 关注哦这对我是非常不错的鼓励与支持。 源码地址后端mingyue: 基于 Spring Boot、Spring Cloud Alibaba 的分布式微服务架构基础服务中心 源码地址前端mingyue-ui: 基于 Vue3 TS Vite Element plus 等技术适配 MingYue 后台微服务 文档地址Wiki - Gitee.com 消息队列 消息队列Message Queue是一种用于在分布式系统中进行异步通信的通信模式和技术。它允许不同的组件或服务之间通过发送和接收消息来进行通信而无需直接耦合它们的实现细节。消息队列通常用于解耦系统的不同部分提高系统的可伸缩性、可靠性和灵活性。 以下是消息队列的一些关键特点和概念 消息生产者Producer 这是向消息队列发送消息的组件或应用程序。生产者将消息发送到队列中通常包括一些有关消息内容的元数据。 消息队列Queue 这是用于存储消息的中间件组件消息在这里排队等待被处理。消息队列通常支持不同的消息传递模式例如先进先出FIFO或发布/订阅模式。 消息消费者Consumer 这是从消息队列接收消息并进行处理的组件或应用程序。消费者订阅特定队列并在有新消息可用时接收并处理它们。 消息代理Message Broker 这是协调消息的发送和接收的中间件服务。消息代理通常负责消息的路由、传递和确保消息的可靠性。 消息确认Acknowledgment 消费者在成功处理消息后通常会向消息队列发送确认以告知队列消息已被处理。这确保了消息不会被重复处理。 消息持久性Message Durability 消息队列通常支持消息的持久性这意味着即使在消息被传递给消费者之后消息仍然会在系统中存储以确保不会丢失。 消息超时Message Timeout 有时候消息队列会设置消息的超时时间以确保消息在一定时间内被处理否则可能会被认为是过期消息。 发布/订阅模式Publish/Subscribe 这是一种消息传递模式其中生产者将消息发布到一个主题topic而不是特定的队列然后多个消费者订阅该主题以接收消息。这种模式支持广播消息。 使用场景 异步通信允许不同的系统组件异步通信提高系统的响应性能。 解耦组件降低系统中不同组件之间的耦合使得系统更容易维护和扩展。 负载均衡通过分发消息给多个消费者来平衡工作负载。 消息传递可靠性确保消息的可靠传递即使在系统中的故障情况下也能保证不丢失消息。 日志和审计用于记录和审计系统活动以便后续分析和故障排除。 技术选型 一些常见的消息队列实现包括 RabbitMQ、RocketMQ、Kafka等选择适合特定应用场景的消息队列是关键因为它会影响系统的性能、可靠性和可扩展性。不同的场景可能更适合不同的消息队列系统。 基础对比 RabbitMQRocketMQKafka推出时间2007年2012年2012年所属Pivotal开源Mozilla阿里开源ApacheLinkin开源Apache社区活跃度高高高开发语言ErlangJavaScala、Java支持的协议AMQP自己定义一套自行定义一套基于TCP吞吐量万级5.95w/s十万级11.6w/s十万级17.3w/stopic数量对吞吐量的影响topic达到几百几千个时吞吐量会有较小幅度的下降topic达到几十几百个时吞吐量会大幅度下降时效性微秒级毫秒级毫秒级可用性高主从架构非常高分布式架构非常高分布式架构使用场景适用于各种规模的应用程序尤其适合需要多语言支持的场景。适用于大规模的企业应用和互联网场景尤其在阿里巴巴等大型公司中得到广泛应用。适用于大数据处理、实时数据流分析、事件溯源等高吞吐量场景。 功能对比 RabbitMQRocketMQKafka延迟队列✅✅❌死信队列✅✅❌优先级队列✅❌❌消息回溯❌✅✅消焦持久化✅✅✅消魚确认机制单条OffsetOffset消息TTL✅✅❌消息重复支持at least once、at most once支持at least once支持at least once、at most once消息顺序性❌消费者加锁分区有序消息事务❌✅❌消息过滤❌✅❌消息查询✅✅❌消息重新消费❌✅✅消费模式队列模式广播模式集群模式流模式消费推拉模式Pull、PushPull、PushPull批量发送❌✅✅ 选型总结 通过对RabbitMQ、RocketMQ、Kafka 基础与功能两个维度对比本项目将采用 RocketMQ、Kafka 两个消息队列。 RocketMQ 适用场景 高性能、高可用性的消息传递场景例如实时数据分析、电商秒杀等。 需要强大的消息过滤和消息追踪功能的场景例如广告投放、用户推送等。 需要分布式事务支持的场景RocketMQ提供了分布式事务消息特性。 Kafka 适用场景 需要高吞吐量和低延迟的实时数据处理场景例如用户行为日志分析、实时监控等。 需要保留大量历史数据并支持数据回溯的场景例如大数据分析、数据仓库等。 需要构建事件驱动架构的场景Kafka可以作为事件源和消息总线。 Docker 安装 RocketMQ 创建目录结构 具体内容可以参考mingyue/docker/rocketmq rocketmq/broker1/confbroker.conf/logsREADME.md/storeREADME.md/namesrv/logsREADME.md docker-compose.yml 编写 docker-compose rocketmq 服务 version: 3.8 services:mingyue-mqnamesrv:image: apache/rocketmq:4.9.4container_name: mingyue-mqnamesrvports:- 9876:9876environment:JAVA_OPT: -server -Xms512m -Xmx512mcommand: sh mqnamesrvvolumes:- ./rocketmq/namesrv/logs:/home/rocketmq/logs/rocketmqlogs ​mingyue-mqbroker1:image: apache/rocketmq:4.9.4container_name: mingyue-mqbroker1ports:- 10911:10911- 10909:10909- 10912:10912environment:JAVA_OPT_EXT: -server -Xms512M -Xmx512M -Xmn256mcommand: sh mqbroker -c /home/rocketmq/rocketmq-4.9.4/conf/broker.confdepends_on:- mingyue-mqnamesrvvolumes:- ./rocketmq/broker1/conf/broker.conf:/home/rocketmq/rocketmq-4.9.4/conf/broker.conf- ./rocketmq/broker1/logs:/home/rocketmq/logs/rocketmqlogs- ./rocketmq/broker1/store:/home/rocketmq/store ​mingyue-mqconsole:image: styletang/rocketmq-console-ngcontainer_name: mingyue-mqconsoleports:- 19876:19876links:- mingyue-mqnamesrv:mqnamesrv #可以用mqnamesrv这个域名访问rocketmq服务environment:JAVA_OPTS: -Dserver.port19876 -Drocketmq.namesrv.addrmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannelfalsedepends_on:- mingyue-mqnamesrv 启动测试 启动前先执行部分目录赋予读写权限例chmod 777 /docker/rocketmq/broker1/logs 访问 mingyue-mqconsole 可以打开 Dashboard 页面即可http://ip:19876/#/ Docker 安装 Kafka 创建目录结构 具体内容可以参考mingyue/docker/kafka kafka/dataREADME.md docker-compose.yml 编写 docker-compose kafka 服务 version: 3.8 services:mingyue-zookeeper:image: bitnami/zookeeper:3.8.0container_name: mingyue-zookeeperports:- 2181:2181environment:TZ: Asia/ShanghaiALLOW_ANONYMOUS_LOGIN: yesZOO_SERVER_ID: 1ZOO_PORT_NUMBER: 2181# 自带的控制台 一般用不上可自行开启ZOO_ENABLE_ADMIN_SERVER: no# 自带控制台的端口ZOO_ADMIN_SERVER_PORT_NUMBER: 8080 ​mingyue-kafka:image: bitnami/kafka:3.2.0container_name: mingyue-kafkaports:- 9092:9092environment:TZ: Asia/Shanghai# 更多变量 查看文档 https://github.com/bitnami/bitnami-docker-kafka/blob/master/README.mdKAFKA_BROKER_ID: 1# 监听端口KAFKA_CFG_LISTENERS: PLAINTEXT://:9092# 实际访问ip 本地用 127 内网用 192 外网用 外网ipKAFKA_CFG_ADVERTISED_LISTENERS: PLAINTEXT://宿主机IP:9092KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181ALLOW_PLAINTEXT_LISTENER: yesvolumes:- /docker/kafka/data:/bitnami/kafka/datadepends_on:- mingyue-zookeeperlinks:- mingyue-zookeeper:zookeeper #可以用zookeeper这个域名访问zookeeper服务 ​mingyue-kafka-manager:image: sheepkiller/kafka-manager:latestcontainer_name: mingyue-kafka-managerports:- 19092:19092environment:ZK_HOSTS: mingyue-zookeeper:2181APPLICATION_SECRET: letmeinKAFKA_MANAGER_USERNAME: mingyueKAFKA_MANAGER_PASSWORD: mingyue123KM_ARGS: -Dhttp.port19092depends_on:- mingyue-kafkalinks:- mingyue-zookeeper:zookeeper #可以用zookeeper这个域名访问zookeeper服务 启动测试 启动前先执行部分目录赋予读写权限例chmod 777 /docker/kafka/data 访问 mingyue-kafka-manager 可以打开 Clusters 页面即可http://mingyue-mq:19092/ Spring Cloud Stream Spring Cloud Stream 是一个用于构建与共享消息系统连接的高度可扩展的事件驱动微服务的框架。该框架提供了一个基于已经建立和熟悉的 Spring 成语和最佳实践的灵活编程模型包括支持持久的 pub/sub 语义、消费者组和有状态分区。 说人话Spring Cloud Stream 是 Spring 用来整合各种 MQ 中间件的框架。 Spring Cloud Stream的核心构建块 Destination Binders目标绑定器目标指的是 Kafka 还是 RabbitMQ绑定器就是封装了目标中间件的包。如果操作的是 kafka 就使用 kafka binder 如果操作的是 RabbitMQ 就使用 rabbitmq binder。 Destination Bindings目标绑定MQ 中间件与最终用户提供的应用程序代码(生产者/消费者)之间的桥梁提供消息的“生产者”和“消费者”由目标绑定器创建 Message消息一种规范化的数据结构生产者和消费者基于这个数据结构通过外部消息系统与目标绑定器和其他应用程序通信。 Spring Cloud Stream 架构图 Spring Cloud Stream 应用程序由中间件中立的核心组成。该应用程序通过在外部代理暴露的目的地和代码中的输入/输出参数之间建立绑定与外部世界进行通信。建立绑定所需的经纪人特定细节由特定于中间件的 Binder 实现处理。 Middleware消息中间件如RabbitMQ、Kafka、RocketMQ等。 Binder可以认为是适配器用来将Stream与中间件连接起来不同的Binder对应不同的中间件需要我们配置。 Application由Stream封装的消息机制很少自定义开发。 Inputs输入可以自定义开发。 Outputs输出可以自定义开发。 小结 本节介绍了什么是消息队列、以及选择什么样的消息队列如何对比最终选择了 Kafka 与 RocketMQ。然后给出了 Docker 一件部署 Kafka 与 RocketMQ 的 docker-compose 脚本。阐述了什么是 Spring Cloud Stream未来将会使用 Spring Cloud Stream 作为 MQ 中间价的框架。 下面我们就使用 Spring Cloud Stream 来搭建代码与 MQ 之间的桥梁
http://www.zqtcl.cn/news/151195/

相关文章:

  • 建设网站需要专业哪个企业提供电子商务网站建设外包
  • 公司网站建设及维护网站建设思维
  • 那个网站可以学做西餐17做网站广州沙河
  • 品牌网站建设哪里好京东网站建设案例
  • 亚马逊海外版网站深圳市工商注册信息查询网站
  • 新乐做网站优化网站上漂亮的甘特图是怎么做的
  • 新网站应该怎么做seo品牌推广方案思维导图
  • 想要网站导航推广页浅谈中兴电子商务网站建设
  • 免费引流在线推广成都网站优化费用
  • 老河口市网站佛山市点精网络科技有限公司
  • word模板免费网站seo引擎优化是做什么的
  • 办网站怎么赚钱鄠邑建站 网站建设
  • 宜春网站建设推广微信小程序开发
  • 巴南城乡建设网站免费网站建设软件大全
  • 湖南网站建设公公司没有自己的网站
  • 刚建设的网站如何推广网站恢复正常
  • 怎么做制作网站的教程永久免费空间免备案
  • 网站维护运营怎么做简单的手机网址大全
  • 网站建设规划设计公司排名使用模块化的网站
  • 南宁网站seo大概多少钱门户网站建设公司渠道
  • 如何建国际商城网站海门做网站公司
  • 做网站应该画什么图注册子公司流程及所需资料
  • 嵊州市建设银行网站怎么自己做游戏软件
  • 用模板快速建站中园建设银行网站
  • 网站建设罒金手指下拉壹陆韩国最新新闻消息
  • 东莞企业网站推广技巧wordpress怎么汉化
  • 17网站一起做网店如何下单iis服务器网站301重定向怎么做
  • 网站如何做线上支付功能seo网站推广优化费用
  • 贵州灵溪seo整站优化wordpress进行不
  • 三网一体网站建设网站开发环境分析