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

韩国男女直接做的视频网站seo查询 站长之家

韩国男女直接做的视频网站,seo查询 站长之家,嵩明建设局网站,网站建设方案文档一、前言 openfeign和dubbo均是rpc框架 RPC(Remote Procedure Call,远程过程调用)框架 是一种允许程序像调用本地方法一样调用远程服务器上函数的技术。它隐藏了底层网络通信的复杂性,让开发者可以专注于业务逻辑,实现…

一、前言

openfeign和dubbo均是rpc框架

RPC(Remote Procedure Call,远程过程调用)框架 是一种允许程序像调用本地方法一样调用远程服务器上函数的技术。它隐藏了底层网络通信的复杂性,让开发者可以专注于业务逻辑,实现分布式系统中不同服务之间的高效协作

文本计划在一个应用中同时使用openfeigndubbo来进行远程调用,前端提供el-switch组件来进行切换

showCase

分别使用dubbo和feign进行了1万笔数据的导出测试

请添加图片描述

二、实践

2-1、模块拆分

先前只有一个security-demo服务,如今拆分成security-demobase-service两个服务,其中model-manage模块用来管理微服务中通用的实体类,remote-client用来管理远程调用:
在这里插入图片描述
其中和excel导出相关的具体实现被移动到了base-service服务中,计划在security-demo通过openfeign和dubbo等方式来调用导出接口。

2-2、依赖引入

在远程调用管理中引入dubbo、openfeign、nacos、通用实体相关依赖,其中${dubbo.version}取父pom的<dubbo.version>2.7.15</dubbo.version>

		<dependencies><!-- Dubbo Spring Boot Starter --><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>${dubbo.version}</version></dependency><!-- Dubbo Registry Nacos --><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-registry-nacos</artifactId><version>${dubbo.version}</version></dependency><!-- Spring Cloud Alibaba Nacos Discovery --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!-- Spring Boot Actuator --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- OpenFeign --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><dependency><groupId>com.tgh</groupId><artifactId>model-manage</artifactId><version>0.0.1-SNAPSHOT</version><scope>compile</scope></dependency></dependencies>

在服务调用方security-demo和服务提供方base-service引入model-manageremote-client

        <dependency><groupId>com.tgh</groupId><artifactId>remote-client</artifactId><version>0.0.1-SNAPSHOT</version><scope>compile</scope></dependency>

2-3、后端环境&配置变更

由于涉及到微服务之间的通信,涉及到服务的注册和发现,本文以nacos作为注册中心,于是需要安装并运行nacos,安装细节不赘述,博主将nacos安装在ubuntu机器中

base-service yml配置

spring:profiles:active: devapplication:name: base-servicedatasource:url: jdbc:postgresql://192.168.125.102:5432/dbname?user=postgres&password=postgresdriver-class-name: org.postgresql.Drivercloud:nacos:discovery:server-addr: 192.168.125.102:8848redis:host: 192.168.125.102port: 6379password: redisdatabase: 0
server:port: 8081
management:endpoints:web:exposure:include: '*'
# Dubbo配置
dubbo:application:name: ${spring.application.name}qos-enable: falseprotocol:name: dubboport: 20881payload: 20971520provider:payload: 20971520timeout: 600000threads: 200       # 增大服务端线程池registry:address: nacos://${spring.cloud.nacos.discovery.server-addr}namespace: ${spring.cloud.nacos.discovery.namespace}scan:base-packages: com.tghconsumer:check: false
logging:level:org.springframework.boot.web.servlet.context: DEBUGorg.apache.tomcat: DEBUGorg.apache.dubbo: DEBUGorg.alibaba.dubbo: DEBUG
#sql日志
mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

security-demo yml配置

#---------------dev环境配置---------------
#pg数据源
spring:datasource:url: jdbc:postgresql://192.168.125.102:5432/dbname?user=postgres&password=postgresdriver-class-name: org.postgresql.Driverapplication:name: security-democloud:nacos:discovery:server-addr: 192.168.125.102:8848redis:host: 192.168.125.102port: 6379password: redis # 如果有密码database: 0rabbitmq:host: 192.168.125.102port: 5672username: adminpassword: adminvirtual-host: /
logging:level:org.springframework.transaction: DEBUGorg.springframework.jdbc: DEBUGorg.apache.dubbo: DEBUGorg.alibaba.dubbo: DEBUG
#rabbit-mq
mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
server:port: 8888
feign:client:config:default:  # 对所有Feign客户端生效connectTimeout: 5000  # 连接超时时间(毫秒)readTimeout: 100000     # 读取超时时间(毫秒)
# Dubbo配置
dubbo:application:name: ${spring.application.name}qos-enable: falseregistry:address: nacos://${spring.cloud.nacos.discovery.server-addr}namespace: ${spring.cloud.nacos.discovery.namespace}scan:base-packages: com.tghconsumer:payload: 20971520timeout: 600000check: false       # 启动时不强制检查服务可用性

ubuntu开放8848、9848、9849端口

sudo ufw allow 8848/tcp
sudo ufw allow 9848/tcp
sudo ufw allow 9849/tcp
sudo ufw enable

2-4、前端调整

工单列表查询从调用 security-demo服务调整为base-service服务

在这里插入图片描述
在前缀调整后,需在vite.config.ts的server.proxy中加入

      '/base': { // 以 '/asset' 开头的请求会被代理target: 'http://localhost:8081', // 后端服务器地址changeOrigin: true, // 允许跨域rewrite: (path) => path.replace(/^\/base/, '') // 重写路径,去掉 '/asset'}

工单列表查询页面,增加el-switch组件来进行切换dubbo和feign

在这里插入图片描述

三、补充说明

3-1、使用dubbo可能遇到的问题

3-1-1、com.alibaba.nacos.api.exception.NacosException: Client not connected, current status:STARTING

nacos新增的gRPC通信方式,需要多开两个端口9848、9849,博主的nacos安装在ubuntu机器上,可执行如下指令:

sudo ufw allow 9848/tcp
sudo ufw allow 9849/tcp
sudo ufw enable

3-1-2、Caused by: java.lang.IllegalStateException: Serialized class com.tgh.entity.excel.WorkOrderLogSearchVO must implement java.io.Serializable

Dubbo方法的入参和入参都需要实现Serializable,为什么?

(1) 二进制协议需要严格序列化

Dubbo 默认使用 Hessian2 或 Kryo 等二进制序列化协议,要求所有跨网络传输的对象必须实现 Serializable 接口,因为:

二进制切割:需要精确计算对象字节大小和字段偏移量。类型安全:反序列化时必须还原原始类结构,避免数据丢失。

(2) 性能优化考虑

二进制序列化比JSON更高效,但需要预先定义类型结构。非 Serializable 对象无法保证序列化/反序列化的确定性。

3-1-3、org.apache.dubbo.remoting.RemotingException: Data length too large: 15871746, max payload: 8388608

Dubbo默认只能传输小于8M的内容,需要手动修改Dubbo的配置
服务提供方

  protocol:name: dubbopayload: 20971520  # 20MBprovider:payload: 20971520timeout: 600000threads: 200       # 增大服务端线程池

服务调用方

  consumer:payload: 20971520timeout: 600000check: false       # 启动时不强制检查服务可用性

3-1、测试数据初始化

本文采用pg数据库,工单初始化脚本可以参考PostgreSQL 分区表——范围分区SQL实践的执行脚本新增2400w行。
也可从后端代码script/sql/init.sql中获取

3-2、代码仓

后端:https://gitee.com/pinetree-cpu/parent-demon
前端:https://gitee.com/pinetree-cpu/hello_vue3

http://www.dtcms.com/wzjs/314158.html

相关文章:

  • 日本人做的中国摇滚网站百度怎么精准搜索
  • 商用图片做公司网站可以吗百度网盘登陆入口
  • 正规的网站建设专业公司百度下载免费
  • 企业网站开发报价表优化百度涨
  • 伊犁网站建设公司成品短视频app下载有哪些
  • 莘庄做网站合肥网站建设公司
  • web服务器端技术主要包括seo优化点击软件
  • 网站搭建合同范本爱链工具
  • wordpress 动态网站模板下载免费建站
  • 杭州建设信息港官网真人seo点击平台
  • 怎么做付费的小说网站如何创建一个网页
  • 哪里有免费建设网站刷粉网站推广
  • 网站轮播广告动画怎么做怎样做好销售和客户交流
  • 运城网站制作网络营销推广外包平台
  • 网站域名怎么看2022世界足球排行榜
  • 毕业设计做网站答辩会问什么如何制作网站免费建站
  • 番禺建设网站公司排名交换链接
  • 内蒙包头网站开发制作网站推广
  • 国医堂网站平台建设批量查询收录
  • 5千ip的网站能赚多少钱安徽网站设计
  • 思行做网站无锡seo排名收费
  • 伊宁市做网站热搜关键词
  • 宝塔做网站443链接seo排名点击器曝光行者seo
  • 有没有专门做教育培训的网站数据分析师培训机构推荐
  • 做网站获流量西安seo优化系统
  • 青岛网站定制品牌网络营销成功案例
  • 域名有什么用合肥seo推广外包
  • 个人网站前置审批项建网站用什么工具
  • 网站做app收费标准中国搜索引擎有哪些
  • 自己做网站推广产品石家庄手机端seo