机制 消息

消息队列中间件的选型与比较

消息队列是一种重要的分布式系统组件,可用于异步通信、削峰填谷、解耦系统、数据缓存等多个方面。在选择消息队列时,需要考虑诸多因素,包括性能、可靠性、可用性、扩展性、可维护性、社区支持等等。 一、MQ介绍 1. Kafka Kafka 是一种高吞吐量、分布式的消息队列系统。它以日志为基础,支持高吞吐量、 ......
队列 中间件 消息

.Net DI(Dependency Injection)依赖注入机制

1、简介 DI:Dependency Injection,即依赖注入,他是IOC的具体实现。 在DI中,底层服务对象不再负责依赖关系的创建,而是交由顶端调用进行管理注入 好处:降低组件之间的耦合度,使代码更加灵活 2、实例 我们举个例子,有个User Login的功能,Login需要通过DB验证,D ......
Dependency Injection 机制 Net DI

微服务学习计划——消息队列

微服务学习计划——消息队列 我们在微服务中一个命令会逐渐调用各个微服务,但如果一一调用不仅需要微服务实时同步交互还会浪费效率 所以我们通常会采用MQ,也就是消息队列Message Queue来处理这个问题 下面我们会通过几个方法介绍消息队列: MQ RabbitMQ SpringAMQP MQ 首先 ......
队列 消息

JAVA重试机制多种方式深入浅出

重试机制在分布式系统中,或者调用外部接口中,都是十分重要的。 重试机制可以保护系统减少因网络波动、依赖服务短暂性不可用带来的影响,让系统能更稳定的运行的一种保护机制。 为了方便说明,先假设我们想要进行重试的方法如下: @Slf4j @Component public class HelloServi ......
深入浅出 多种 机制 方式 JAVA

Nodejs 发送 TCP 消息的正确姿势

最近使用 NODE-RED 跟 TCP 打交道。NODE-RED 里内建了一个节点叫“tcp-out”,看文档呢使用这个节点可以很方便的把 payload 用 TCP 协议发送出去,但是事实上事情没有这么简单。其实当我第一次看到这个节点用法的时候我就觉得会有问题,果不其然。既然节点有问题,那么就干脆 ......
姿势 消息 Nodejs TCP

Java+Redis 通过Lua 完成库存扣减,创建消息队列,异步处理消息--实战

需要完成功能 借助redis Stream 数据结构实现消息队列,异步完成订单创建,其中涉及到了缓存(击穿,穿透,雪崩),锁(Redisson),并发处理,异步处理,Lua脚本 IDE:IDEA 2022 1、读取库存数据 【Lua】 2、判断库存 【Lua】 3、扣减库存 【Lua】 4、创建队列 ......
消息 队列 实战 库存 Redis

云原生时代顶流消息中间件Apache Pulsar部署实操之轻量级计算框架

本篇逐层递进了解Pulsar Functions的基本概念和理论,如工作原理、处理保证模式、窗口函数;进一步搭建Pulsar函数运行环境,一步步操作演示函数也包括窗口函数的示例使用,最后通过Java语言实现原生语言接口和Pulsar函数SDK两种方式的代码示例、打包、部署和结果验证。 ......
轻量 轻量级 中间件 框架 消息

云原生时代顶流消息中间件Apache Pulsar部署实操之Pulsar IO与Pulsar SQL

本篇重点了解Pulsar IO的基础,通过两个示例演示如何一步步实操安装Cassandra和JDBC PostgreSQL的年连接器,进而配置和创建Pulsar Sink 并验证结果,也进一步熟悉一些常见pulsar-admin命令,最后还演示Pulsar SQL简单使用。 ......
Pulsar 中间件 消息 时代 Apache

微信小程序结合php后台实现登录授权机制详解

微信小程序应用的用户登录授权机制相当复杂,官方给出了下面一张流程图来解释: 下面结合这张图来详细讲述下小程序的登录验证授权机制。 首先,小程序应用实现登录验证的前提是需要在微信开放平台注册一个开发者账号,申请到AppID 和 AppSecret。并申请开启“获取用户信息”的权限。 然后 ,在小程序中 ......
后台 机制 程序 php

玩转钉钉消息推送!

我是3y,一年CRUD经验用十年的markdown程序员👨🏻‍💻常年被誉为职业八股文选手 在前阵子我就已经接入了钉钉的群机器人和工作消息推送,一直没写文章同步到给大家。 像这种接入渠道的工作,虽然我没接入过,但可预见性地就是看看官方文档,然后对着文档一顿学习,复制下接入的代码,然后调试,最后就 ......
消息

AIR32F103(九) CAN总线的通信和ID过滤机制及实例

CAN 是一种典型的广播式网络, 在实际应用中, 如果只希望接收到特定类型的数据, 就要借助过滤器来实现. AIR32/STM32的CAN控制器包含14个过滤器, 可以设置为 屏蔽模式 或 列表模式 对CAN总线上的报文进行过滤. 当节点希望接收到一种报文时, 可以用屏蔽位模式进行过滤, ......
总线 实例 机制 F103 AIR

redis(10)事务和锁机制

Redis事务定义 Redis 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 Redis 事务的主要作用就是串联多个命令防止别的命令插队。 Multi、Exec、discard Redis 事务中有 Multi、Ex ......
机制 事务 redis

云原生时代顶流消息中间件Apache Pulsar部署实操-上

本篇先部署Apache Pulsar 最新版本2.11.0的 Locally Standalone,并通过创建Topic、生产消息和消费消息验证基础环境;接着通过二进制也即是所谓裸机部署方式一步步演示如何部署Pulsar的分布式集群,并通过Admin客户端验证基于租户、命名空间一些消息管理和使用简单... ......
中间件 消息 时代 Apache Pulsar

《深入理解java虚拟机》第七章读书笔记——虚拟机类加载机制

系列文章目录和关于我 一丶虚拟机类加载机制是什么 java虚拟机将描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可用被虚拟机直接使用的java类型。 二丶类加载时机 1.什么时候会触发虚拟机的类类加载昵? 遇到new(使用new关键字实例化对象),getstat ......
机制 笔记 java

RabbitMQ 延迟消息实战

RabbitMQ 延迟消息实战 现实生活中有一些场景需要延迟或在特定时间发送消息,例如智能热水器需要 30 分钟后打开,未支付的订单或发送短信、电子邮件和推送通知下午 2:00 开始的促销活动。 RabbitMQ 本身没有直接支持延迟队列的功能,如果您搜索“如何在 RabbitMQ 中使用延迟消息” ......
实战 RabbitMQ 消息

MQ收到无序的消息时如何进行业务处理

业务背景 跟第三方系统做对接,双方通过ActiveMQ进行通信,消息之间是有内在关联的,也就是消息本来应该是有业务顺序的,但由于一些原因,现在收到消息是乱序的,这种情况下做业务处理就有一点小问题了 方案一:自己重排序 收到消息后,自己在内存排序,然后按顺序丢到队列中,自己控制消息的发送和接收保证收到 ......
消息 业务

好消息!微信小程序开发环境自带vConsole

背景介绍 事情是这样子的,我们在开发小程序的时候,需要在真机上把相关的日志打出来以便进行问题定位和回溯,于是在编程界就有个今天这个新闻。 好消息!广东某男子发现微信小程序开发环境自带vConsole. 同学,你看到这个新闻不震惊不兴奋打鸡血吗?你开发小程序都少装一个vConsole包呢!!! 基于D ......
好消息 vConsole 环境

什么是push通知栏消息?

我是3y,一年CRUD经验用十年的markdown程序员👨🏻‍💻常年被誉为职业八股文选手 今天继续更新Austin,给Austin新增一个发送渠道(PUSH通知栏推送) Push通知栏消息是非常常见的,几乎每个APP都会做这个功能(没有消息推送的APP不是一个好的APP) 一般我们认为Push ......
通知栏 消息 push

C#实现聊天消息渲染、图文混排(支持Windows、Linux)

在实现聊天软件时,渲染文字表情图文混排是一项非常繁琐的工作,再加上还要支持GIF动图、引用消息、撤回消息、名片等不同样式的消息渲染时,就更加麻烦了。那么有简单的实现办法吗?嗯,有的。 ......
Windows 消息 图文 Linux

vivo 超大规模消息中间件实践之路

作者:vivo 互联网存储技术团队-Luo Mingbo、中间件团队- Liu Runyun 本文根据“2022 vivo开发者大会"现场演讲内容整理而成。 本文主要介绍超大数据规模场景下分布式消息中间件在vivo的应用实践。 在线业务侧主要从RocketMQ集群部署架构、平台系统架构、日常运维操作 ......
中间件 规模 消息 vivo

分布式事务 | 使用 dotnetcore/CAP 的本地消息表模式

本地消息表模式,其作为柔性事务的一种,核心是将一个分布式事务拆分为多个本地事务,事务之间通过事件消息衔接,事件消息和上个事务共用一个本地事务存储到本地消息表,再通过定时任务轮询本地消息表进行消息投递,下游业务订阅消息进行消费,本质上是依靠消息的重试机制达到最终一致性。 ......
分布式 dotnetcore 事务 消息 模式

uni-app + .NET 7实现微信小程序订阅消息推送

微信小程序的订阅消息是小程序的重要能力之一,为实现服务的闭环提供更优的体验。订阅消息我们应该经常见到,比如下单成功之后的服务通知,支付成功后的支付成功通知,都属于小程序的订阅消息。 ......
uni-app 消息 程序 uni app

RocketMQ消息短暂而又精彩的一生

大家好,我是三友~~ 这篇文章我准备来聊一聊RocketMQ消息的一生。 不知你是否跟我一样,在使用RocketMQ的时候也有很多的疑惑: 消息是如何发送的,队列是如何选择的?消息是如何存储的,是如何保证读写的高性能?RocketMQ是如何实现消息的快速查找的?RocketMQ是如何实现高可用的?消 ......
RocketMQ 一生 消息

MQ系列11:如何保证消息可靠性传输(除夕奉上)

MQ系列1:消息中间件执行原理 MQ系列2:消息中间件的技术选型 MQ系列3:RocketMQ 架构分析 MQ系列4:NameServer 原理解析 MQ系列5:RocketMQ消息的发送模式 MQ系列6:消息的消费 MQ系列7:消息通信,追求极致性能 MQ系列8:数据存储,消息队列的高可用保障 M ......
可靠性 消息

【RocketMQ】消息拉模式分析

RocketMQ有两种获取消息的方式,分别为推模式和拉模式。 推模式 推模式在【RocketMQ】消息的拉取一文中已经讲过,虽然从名字上看起来是消息到达Broker后推送给消费者,实际上还是需要消费向Broker发送拉取请求获取消息内容,推模式对应的消息消费实现类为DefaultMQPushCons ......
RocketMQ 消息 模式

Redis缓存何以一枝独秀?(2) —— 聊聊Redis的数据过期、数据淘汰以及数据持久化的实现机制

Redis作为一个非关系型数据库,由于其超高的并发处理性能,及其对缓存场景所提供的系列能力构建,使其成为了集中缓存的绝佳选择。本篇我们聊聊Redis数据管理的能力,如数据过期、数据淘汰、数据持久化等。 ......
数据 一枝独秀 Redis 缓存 机制

【Dubbo3终极特性】「流量治理体系」一文教你如何通过Dubbo-Admin实现动态进行流量隔离机制

背景信息 如果一个应用有多个版本在线上同时运行,部署在不同环境中,如日常环境和特殊环境,则 可以使用标签路由对不同环境中的不同版本进行流量隔离,将秒杀订单流量或不同渠道订单流量路由到特殊环境,将正常的流量路由到日常环境。即使特殊环境异常,本应进入特殊环境的流量也不会进入日常环境,不影响日常环境的使用 ......
流量 Dubbo Dubbo-Admin 终极 特性

【分布式技术专题】「LVS负载均衡」全面透析Web基础架构负载均衡LVS机制的原理分析指南

前提概要 在大规模互联网应用中,负载均衡设备是必不可少的组成部分,源于互联网应用的高并 发和大流量的冲击压力场景下,通常会在服务端部署多个无状态的应用服务器和若干有状态的存储服务器(数据库、缓存等等)实现高可用特点和机制。 LVS的介绍说明 官方站点:http://www.linuxvirtuals ......
分布式 架构 LVS 原理 机制

为什么使用消息队列?我这样回答,面试官直说讲得很清楚

为什么要使用消息队列,六个字总结:解耦、异步、消峰 1)解耦 传统模式下系统间的耦合性太强。怎么说呢,举个例子:系统 A 通过接口调用发送数据到 B、C、D 三个系统,如果将来 E 系统接入或者 B 系统不需要接入了,那么系统 A 还需要修改代码,非常麻烦。 如果系统 A 产生了一条比较关键的数据, ......
队列 消息

基于WebSocket的实时消息传递设计

概述 web管理系统中可以对业务数据执行新增和删除,现在需要当业务数据发生新增或删除操作后,尽可能实时的反应到WPF客户端上面。 web管理系统用VUE编写,后端服务为SpringBoot,WPF客户端基于.Netframework4.8编写。 整体架构 sequenceDiagram title: ......
实时 WebSocket 消息