常用的网站记录 在线markdown
docker国内镜像加速
另一个maven仓库
java全栈知识体系
jdk版本-爪哇我话你知
代码随想录-算法
labuladong 的算法小抄
Data Structure Visualizations
股票自动交易助手
excalidraw
v2ex
免费图床
Redis命令集
在线搜索代码网站
Doug Lea’s Home Page
编程之路
ubuntu微信
常用命令记录 通用命令 -- 查询系统超过100M的文件 sudo find / -type f -size +100M -- 查找某某文件 sudo find / -name *.java ubuntu常用命令 -- 安装jdk sudo apt install openjdk-8-jdk -- 卸载jdk sudo apt purge openjdk-8-jdk -- 切换java版本 sudo update-alternatives --config java
什么是spi SPI就是Service Provider Interface,是一种动态的服务发现机制。 可以基于运行时动态的加载接口的实现类。通过(接口编程 + 策略模式 + 配置文件) 实现解耦和扩展。
应用 数据库驱动 基于该接口的实现有MySQL,PostgreSQL,SqlServer等。 SLF4J日志框架 Dubbo的SPI扩展 dubbo apache shenyu spring boot starter jdbc的应用 日志的应用 apache shenyu的spi应用 dubbo的spi应用 实现方式 市面上常见的SPI的实现方式有:
JDK的SPI实现 Dubbo的SPI实现、ShenYu的 SPI Spring的SPI实现 JDK的SPI实现流程为
dubbo是否有对文件上传下载导入导出的支持 项目当前架构: HTTP请求 -> 网关SpringCloudGateway -> 网关路由匹配 -> 网关dubbo泛化调用 -> dubbo服务 但与文件相关的操作,还是需要以Controller的形式暴露服务,因为涉及HttpServletResponse、ModelAndView、MultipartFile这些对象,如: @PostMapping("/upload") public Result uploadFile(@RequestParam("file") MultipartFile file) { ...... } **问题:**请问dubbo可支持文件类型的操作,向外暴露服务,从而去除掉controller ? 对于大文件类型的操作,我们建议在首次接收到 MultipartFile 请求之后将文件存储到 HDFS 或者 OSS 等存储介质上,然后在后端传递的时候直接通过一个标识符传递。对于小文件,将 file 转换成 byte 数组传递就行。 这个想的有点大,dubbo专注于分布式式RPC框架,如果把MVC功能,或者消息堆积之类的功能都实现了,就不太好专注于RPC,想的大一些其实可以考虑一些子项目Dubbo-MVC, Dubbo-MQ ,Dubbo-Framework 😄 dubbo是否有对文件上传下载导入导出的支持
打包常用的命令 # example打包 ./mvnw -B clean install -Pexample -DskipTests -f ./shenyu-examples/shenyu-examples-springcloud/pom.xml ./mvnw -B clean install -Pexample -DskipTests -f ./shenyu-examples/shenyu-examples-dubbo/pom.xml ./mvnw -B clean install -Pexample -DskipTests -f ./shenyu-examples/shenyu-examples-http/pom.xml ./mvnw -B clean install -DskipTests -f ./shenyu-client/pom.xml ./mvnw -B clean install -Pexample -DskipTests -f ./shenyu-examples/pom.xml ./mvnw -B clean install -Prelease -DskipTests -f ./shenyu-dist/pom.xml ./mvnw -B clean install -Pdocker -DskipTests -f ./shenyu-dist/pom.xml # 集成测试打包 ./mvnw -B clean install -Pit -DskipTests -f ./shenyu-integrated-test/shenyu-integrated-test-spring-cloud/pom.xml ./mvnw -B clean install -Pit -DskipTests -f ./shenyu-integrated-test/shenyu-integrated-test-alibaba-dubbo/pom.xml ./mvnw -B clean install -Pit -DskipTests -f ./shenyu-integrated-test/shenyu-integrated-test-common/pom.xml ./mvnw -B clean install -Pit -DskipTests -f ./shenyu-integrated-test/pom.xml # docker-compose启动 docker-compose -f ./shenyu-integrated-test/shenyu-integrated-test-spring-cloud/docker-compose.yml up -d docker-compose -f ./shenyu-integrated-test/shenyu-integrated-test-spring-cloud/docker-compose.yml up -d docker-compose -f ./shenyu-integrated-test/shenyu-integrated-test-http/docker-compose.yml up -d # 执行测试 ./mvnw test -Pit -f ./shenyu-integrated-test/shenyu-integrated-test-spring-cloud/pom.xml ./mvnw test -Pit -f ./shenyu-integrated-test/shenyu-integrated-test-alibaba-dubbo/pom.xml ./mvnw test -Pit -f ./shenyu-integrated-test/shenyu-integrated-test-http/pom.xml ./mvnw test -Pit -f ./shenyu-integrated-test/shenyu-integrated-test-http/pom.xml # docker-compose停止 docker-compose -f ./shenyu-integrated-test/shenyu-integrated-test-spring-cloud/docker-compose.yml down docker-compose -f ./shenyu-integrated-test/shenyu-integrated-test-alibaba-dubbo/docker-compose.yml down docker-compose -f ./shenyu-integrated-test/shenyu-integrated-test-http/docker-compose.yml down registry.cn-hangzhou.aliyuncs.com/apache/shenyu-admin:latest docker-compose -f ./shenyu-integrated-test/shenyu-integrated-test-http/docker-compose.yml logs --tail="all" 本地编译报错 ./mvnw clean install -Dmaven.javadoc.skip=true 执行以上命令,本地编译报错。
这里是Markdown 正文 hello world