网关调用其他项目的方法(RPC实现)

简介: 网关调用其他项目的方法(RPC实现)

网关业务逻辑

问题: 网关项目比较存粹,没有操作数据库的包,并且还要调用我们之前写过的代码?复制粘贴维护麻烦 理想:直接请求到其他项目的方法

怎么调用其他项目的方法?

复制代码和依赖,环境

  1. HTTP请求(提供接口,供其他项目调用)
  2. RPC
  3. 把公共的代码打个jar包,其他项目去引用

HTTP请求怎么调用

  1. 提供方提供一个接口(地址,请求方法,参数,返回值)
  2. 调用方使用HTTP Client之类的代码包去发送HTTP请求

RPC

作用

像调用本地方法一样去调用远程方法

优点

  1. 对开发者更透明,减少很多的沟通成本
  2. RPC向远程服务器发送请求时,未必使用HTTP协议,比如还可以使用TCP/IP,性能更高。(内部服务更实适用) 注意: 这里注册中心只提供信息,并不会帮助调用

Dubbo框架(RPC实现)

常见框架内GRPC,TRPC; 最好的学习方式:阅读官方文档dubbo.incubator.apache.org/zh/docs3-v2…

两种使用方式:

  1. Spring Boot代码(注解+编程式):写Java接口,服务提供者和消费者都去引用这个接口 偏程导
  2. DL(接口调用语言):创建一个公共的接口定义文件,服务提供者和消费者读取这个文件。优点是跨语言,所有的框架都认识

底层是Triple协议: dubbo.incubator.apache.org/zh/docs3-v2…

使用nacos

整合Nacos注册中:Nacos | Apache Dubbo Nacos下载地址:Nacos 快速开始

Windows

我们找到nacos的bin目录下单机运行

启动命令(standalone代表着单机模式运行,非集群模式): startup.cmd -m standalone

添加依赖

这里的nacos版本应该是你自己拥有的版本

<dependency>  
    <groupId>org.apache.dubbo</groupId>  
    <artifactId>dubbo</artifactId>  
    <version>3.0.9</version>  
</dependency>  
<dependency>  
    <groupId>com.alibaba.nacos</groupId>  
    <artifactId>nacos-client</artifactId>  
    <version>2.1.2</version>  
</dependency>
目录
相关文章
|
9月前
|
Java API Maven
淘东电商项目(05) - Swagger及网关统一管理API
淘东电商项目(05) - Swagger及网关统一管理API
92 0
|
2月前
|
JSON Java API
技术笔记:springboot项目使用拦截器实现一个简单的网关请求透传
技术笔记:springboot项目使用拦截器实现一个简单的网关请求透传
65 0
|
3月前
|
人工智能 自然语言处理 负载均衡
这款 AI 网关项目简直太棒了,轻松接入OpenAI、LLama2、Google Gem)ini等 100 多种大语言模型!
这款 AI 网关项目简直太棒了,轻松接入OpenAI、LLama2、Google Gem)ini等 100 多种大语言模型!
174 1
|
9月前
|
前端开发 应用服务中间件 nginx
用docker和nginx部署前端项目访问本地java网关gateway服务
本地开发 java 微服务项目,但是拿到的对应的web前端项目只有打包编译过后的 dist 目录里的静态资源(里面只有一个index.html和一些编译过后的 js、css文件),前端接口需要先访问到 java 的网关服务,然后网关里再做转发
378 1
|
9月前
|
监控 API Nacos
微服务轮子项目(19) -Alibaba Sentinel限流熔断(网关流控)
微服务轮子项目(19) -Alibaba Sentinel限流熔断(网关流控)
84 0
|
9月前
|
设计模式 SQL 安全
淘东电商项目(72) -互联网安全架构设计(责任链模式重构网关流程)
淘东电商项目(72) -互联网安全架构设计(责任链模式重构网关流程)
43 0
|
9月前
|
SQL 安全 API
淘东电商项目(71) -互联网安全架构设计(网关验证AccessToken)
淘东电商项目(71) -互联网安全架构设计(网关验证AccessToken)
40 0
|
10月前
18SpringCloud - 服务网关 zuul项目示例
18SpringCloud - 服务网关 zuul项目示例
21 0
|
Kubernetes Cloud Native 应用服务中间件
对比 5 个开源网关项目,这家 SaaS 企业如何统一网关架构
对比 5 个开源网关项目,这家 SaaS 企业如何统一网关架构
44537 14
|
监控 负载均衡 安全
手把手教你搭建SpringCloud项目(十三 )集成Gateway新一代服务网关
手把手教你搭建SpringCloud项目(十三 )集成Gateway新一代服务网关
264 0