javaSpringBoot整合mqtt
前言:SpringBoot整合mqtt,实现消息接收,发送。
maven123456789101112<!-- MQTT --><dependency> <groupId>org.springframework.integration</groupId> <artifactId>spring-integration-mqtt</artifactId></dependency><!-- Eclipse Paho MQTT 客户端 --><dependency> <groupId>org.eclipse.paho</groupId> <artifactId>org.eclipse.paho.client.mqttv3</artifactId> <version>1.2.5</version></dependency><!-- MQTT -->
yml配置12 ...
Liunx安装EMQX
单机版 EMQX 的安装和基本配置说明。单机部署适用于开发测试或小型项目环境,单个 EMQX 实例支持 10000 个并发连接(需要优化配置)。若需求包括高可用性或横向扩展,请配置 EMQX 集群。
安装与启动1. 创建 EMQX 目录在 /data 下创建一个目录用于安装 EMQX:
123cd /datamkdir emqxcd /data/emqx
2. 下载 EMQX 安装包使用 wget 下载所需版本的 EMQX 安装包:
1wget https://www.emqx.com/zh/downloads/broker/4.4.4/emqx-4.4.4-otp24.1.5-3-el7-amd64.zip
3. 解压安装包如果未安装解压工具,请先安装 unzip:
1yum -y install zip unzip
然后解压下载的安装包:
1unzip emqx-4.4.4-otp24.1.5-3-el7-amd64.zip
4. 安装依赖(若需要)如 EMQX 启动时提示缺少依赖,可安装以下依赖项:
1yum -y install make gcc gcc-c++ ke ...
Docker开启国内镜像
前言:Docker在国内访问时,会遇见镜像文件拉取不下来或拉取慢的情况,阿里云提供了镜像访问,这块需要自己配置
部署登陆阿里云账户,搜索容器镜像服务 ACR,在左侧 镜像工具->镜像加速器可以看到每个人自己的加速器地址,
在下面的操作文档,选择自己需要的环境,
1sudo mkdir -p /etc/docker
12345sudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://********.mirror.aliyuncs.com"]}EOF
1sudo systemctl daemon-reload
1sudo systemctl restart docker
配置完成后,输入如下命令,可以在信息中找到配置的加速地址
1docker info
之后正常使用,就可以拉取下来镜像文件了
Docker部署后端项目
前言:使用docker部署后端项目,需要将打包好的jar包和dockerfile文件上传至服务器中同一个目录内,进入目录,构建镜像,并运行容器
编写 Dockerfile123456789101112131415161718192021222324# 基础镜像 JDK8 不需要改FROM eclipse-temurin:8-jre-slim# 作者MAINTAINER changwang# 工作目录 需要改WORKDIR /data/jar/listen# 设置时区ENV TZ=Asia/Shanghai# 同步docker内部的时间 不需要改RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone# 暴露端口 需要改EXPOSE 8081# 复制jar包到/data/jar/listen下 需要改ARG JAR_FILEADD ${JAR_FILE} ./listen-0.0.1-SNAPSHOT.jar# 指定jar包、日志的位置 需 ...
vscode使用npm报错,提示禁止运行脚本
前言:在使用vscode的过程中,运行npm报错,提示禁止运行脚本
解决方法
打开Windows PowerShell 输入set-executionpolicy remotesigned
1234567891011121314Windows PowerShell版权所有 (C) Microsoft Corporation。保留所有权利。尝试新的跨平台 PowerShell https://aka.ms/pscore6PS C:\Users\Administrator> get-executionpolicyRestrictedPS C:\Users\Administrator> set-executionpolicy remotesigned执行策略更改执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如 https:/go.microsoft.com/fwlink/?LinkID=135170中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略?[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] ...
Fiddler抓包
前言:Fiddler 是一个流行的 Web 调试代理工具,主要用于捕获和分析 HTTP 和 HTTPS 流量。它可以帮助开发人员和测试人员调试 Web 应用程序,发现和解决网络问题。
软件安装官网下载地址:https://www.telerik.com/download/fiddler
Your email:输入邮箱
下载完安装包后,启动安装包,自行安装,过于简单,不描述。
配置https证书选择 Tools -> Options -> https
勾选 Decrypt HTTPS traffic
点击 Actions
点击 Trust Root Certificate
点击弹出的框,选择 yes
PC端微信小程序抓包打开微信登陆页面,点击右上角 人员icon ,进入网络代理设置页面,使用代理选择开启,地址为 127.0.0.1 ,端口为 8888 ,点击 确定
选择需要抓包的微信小程序,点击进去,小程序进行的后端接口调用,会在 Fidder 看到
手机端App抓包待补充!
SpringCloud组件Gateway网关路由
前言:在微服务架构中,API 网关(API Gateway)是一个重要的组件,负责请求的路由、负载均衡、认证授权、流量控制和监控等功能。它充当客户端和后端服务之间的中介,使得客户端不需要直接调用各个微服务,而是通过网关进行统一访问。下面介绍一下 API Gateway 的主要功能和使用方法。
主要功能
请求路由:将客户端请求路由到合适的后端服务,根据路径、方法等进行精确匹配和转发。
负载均衡:在多个后端服务实例之间分配请求,保证系统的高可用性和负载均衡。
身份认证和授权:在网关层进行身份验证和授权,保护后端服务免受未经授权的访问。
流量控制:对流量进行限流、熔断和降级,保护后端服务免受流量突增的影响。
日志记录和监控:记录请求和响应的日志,并提供监控和报警功能,帮助开发者及时发现和解决问题。
协议转换:支持 HTTP、WebSocket、gRPC 等多种协议的转换,提升系统的兼容性。
gateway 网关路由正常情况,一般是在项目中创建一个子模块,专门用来作为网关,其他子模块的业务,由外界发送的网关,由网关来进行分发
创建网关模块正常创建模块即可,不进行演示
maven引入1234 ...
SpringCloud组件Sentinel熔断降级
前言:Sentinel 是阿里巴巴开源的一款面向分布式服务架构的流量防护组件,旨在通过流量控制、熔断降级、系统负载保护等功能保障微服务的稳定性和可靠性。Sentinel 主要用于微服务架构中的流量控制和系统稳定性保障,可以帮助开发者在高并发和复杂的分布式系统中实现高可用性。
主要特性
流量控制:基于 QPS(每秒查询次数)、并发线程数等维度进行限流,支持针对不同资源进行精细化流控。
熔断降级:当资源响应时间过长或发生错误比例过高时,触发熔断,暂时阻断对该资源的访问,以保护系统。
系统负载保护:根据系统的总体负载情况(如 CPU 使用率),动态调整流控策略,避免系统过载。
热点参数限流:支持针对请求中的热点参数(如商品 ID、用户 ID)进行限流,防止热点数据造成系统压力过大。
实时监控:提供完善的实时监控和报警功能,可以对流量控制和熔断降级的效果进行动态监控。
核心组件
Sentinel Core:流量控制和熔断降级的核心逻辑,提供 API 供业务代码调用。
Sentinel Dashboard:可视化控制台,用于实时监控、配置和管理 Sentinel 的规则。
Sentinel ...
SpringCloud组件Seata分布式事务
前言:Seata 是一个开源的分布式事务解决方案,旨在提供高性能和易于使用的分布式事务服务。它最初由阿里巴巴开源,现已成为 Linux 基金会旗下的一个项目。Seata 的名字源自于 “Simple Extensible Autonomous Transaction Architecture”,即简单可扩展的自治事务架构。
主要特性
高性能:Seata 采用了一系列优化策略,如并行处理、异步提交、分布式锁等,以确保在高并发场景下的高性能表现。
简单易用:Seata 提供了丰富的 API 和简洁的配置,使开发者可以快速上手并将其集成到现有系统中。
扩展性强:Seata 设计了可插拔的架构,开发者可以根据需要自定义和扩展事务管理策略。
多种事务模式:Seata 支持 AT(Automatic Transaction),TCC(Try-Confirm-Cancel),Saga 和 XA 等多种分布式事务模式,以适应不同的应用场景。
核心组件
**TM (Transaction Manager)**:事务管理器,负责全局事务的生命周期管理,包括事务的开始、提交和回滚。
**RM (Res ...
SpringCloud组件OpenFeign远程调用
前言:OpenFeign 是一个声明式的 HTTP 客户端,它使得我们可以更加方便地调用 REST 服务。通过简单的注解配置,OpenFeign 可以让我们像调用本地方法一样调用远程的 HTTP 接口。在 Spring Cloud 生态系统中,OpenFeign 被广泛用于服务之间的通信。
主要特性
声明式 HTTP 客户端:通过注解定义接口,不需要编写大量的 HTTP 客户端代码。
与 Spring Cloud 集成:无缝集成 Ribbon、Eureka 等 Spring Cloud 组件,实现负载均衡和服务发现。
支持多种编码器和解码器:可以自定义请求和响应的编码解码方式。
支持熔断器:与 Hystrix、Sentinel 等熔断器集成,增强服务的容错能力。
支持日志记录:提供详细的请求和响应日志,便于调试和监控。
OpenFeign 远程调用引入依赖12345678910<!--openFeign--><dependency> <groupId>org.springframework.cloud</groupId> ...