wsl中不配置互通,一个docker服务不能通过localhost地址访问另外的服务
打开或创建位于 %UserProfile%
目录下的 .wslconfig
文件(例如 C:\Users\你的用户名.wslconfig)。
[wsl2] memory=4GB # 分配给 WSL 2 的内存大小 processors=2 # 分配给 WSL 2 的 CPU 核心数 localhostForwarding=true # 是否启用 localhost 转发 [experimental] autoMemoryReclaim=gradual # 开启自动回收内存,可在 gradual, dropcache, disabled 之间选择 networkingMode=mirrored # 开启镜像网络 dnsTunneling=true # 开启 DNS Tunneling firewall=true # 开启 Windows 防火墙 autoProxy=true # 开启自动同步代理 sparseVhd=true # 开启自动释放 WSL2 虚拟硬盘空间
管理员身份运行PowerShell:
停止WSL: wsl --shutdown
启动WSL: wsl
org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.
这个错误信息表明你上传的文件大小超过了Tomcat服务器允许的最大限制。默认情况下,Tomcat对文件上传的大小有限制,通常是1MB(1048576字节)。
application.yml增加文件大小的配置
ymlspring:
servlet:
multipart:
max-file-size: 20MB
max-request-size: 20MB
java配置类
java
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.unit.DataSize;
import javax.servlet.MultipartConfigElement;
@Configuration
public class FileUploadConfig {
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
// 设置单个文件最大值
factory.setMaxFileSize(DataSize.ofMegabytes(2)); // 2MB
// 设置总上传数据总大小
factory.setMaxRequestSize(DataSize.ofMegabytes(2)); // 2MB
return factory.createMultipartConfig();
}
}
RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。
Spring Cloud Stream 是一个用于构建基于消息的微服务应用框架。它基于 SpringBoot 来创建具有生产级别的单机 Spring 应用,并且使用 Spring Integration 与 Broker 进行连接。
Spring Cloud Stream 提供了消息中间件配置的统一抽象,推出了 publish-subscribe、consumer groups、partition 这些统一的概念。
Spring Cloud Stream 内部有两个概念:Binder 和 Binding。
比如 Kafka 的实现 KafkaMessageChannelBinder,RabbitMQ 的实现 RabbitMessageChannelBinder 以及 RocketMQ 的实现 RocketMQMessageChannelBinder。
Binding 在消息中间件与应用程序提供的 Provider 和 Consumer 之间提供了一个桥梁,实现了开发者只需使用应用程序的 Provider 或 Consumer 生产或消费数据即可,屏蔽了开发者与底层消息中间件的接触。 文档
启动 Name Server
sh bin/mqnamesrv
启动 Broker
sh bin/mqbroker -n localhost:9876
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
Sentinel和Hystrix对比
Sentinel | Hystrix | |
---|---|---|
隔离策略 | 信号量隔离 | 线程池隔离/信号量隔离 |
熔断降级策略 | 基于响应时间或失败比率 | 基于失败比率 |
实时指标实现 | 滑动窗口 | 滑动窗口(基于 RxJava) |
规则配置 | 支持多种数据源 | 支持多种数据源 |
扩展性 | 多个扩展点 | 插件的形式 |
基于注解的支持 | 支持 | 支持 |
限流 | 基于 QPS,支持基于调用关系的限流 | 有限的支持 |
流量整形 | 支持慢启动、匀速器模式 | 不支持 |
系统负载保护 | 支持 | 不支持 |
控制台 | 开箱即用,可配置规则、查看秒级监控、机器发现等 | 不完善 |
常见框架的适配 | Servlet、Spring Cloud、Dubbo、gRPC 等 | Servlet、Spring Cloud Netflix |
业务需要播放rtsp视频流需要在本地实现推流功能
需要两个软件:
找到对应的压缩下载,windows举例 解压后双击打开.exe文件
选择一个对应版本,windows举例
下载压缩包,解压在D盘
在系统环境变量Path
中
添加目录D:\ffmpeg-7.1-full_build\ffmpeg-7.1-full_build\bin
测试是否成功
ffmpeg -version
输入命令开启推流
视频地址为:D:\videos\video2.mp4
新开一个命令行输入以下命令即可推流
ffmpeg -re -i D:\videos\video2.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/test