网关调用其他项目的方法(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>
目录
相关文章
|
Java API Maven
淘东电商项目(05) - Swagger及网关统一管理API
淘东电商项目(05) - Swagger及网关统一管理API
106 0
|
25天前
|
负载均衡 Java API
项目中用的网关Gateway及SpringCloud
Spring Cloud Gateway 是一个功能强大、灵活易用的API网关解决方案。通过配置路由、过滤器、熔断器和限流等功能,可以有效地管理和保护微服务。本文详细介绍了Spring Cloud Gateway的基本概念、配置方法和实际应用,希望能帮助开发者更好地理解和使用这一工具。通过合理使用Spring Cloud Gateway,可以显著提升微服务架构的健壮性和可维护性。
33 0
|
2月前
|
存储 前端开发 JavaScript
前端的全栈之路Meteor篇(四):RPC方法注册及调用-更轻量的服务接口提供方式
RPC机制通过前后端的`callAsync`方法实现了高效的数据交互。后端通过`Meteor.methods()`注册方法,支持异步操作;前端使用`callAsync`调用后端方法,代码更简洁、易读。本文详细介绍了Methods注册机制、异步支持及最佳实践。
|
6月前
|
JSON Java API
技术笔记:springboot项目使用拦截器实现一个简单的网关请求透传
技术笔记:springboot项目使用拦截器实现一个简单的网关请求透传
252 0
|
7月前
|
人工智能 自然语言处理 负载均衡
这款 AI 网关项目简直太棒了,轻松接入OpenAI、LLama2、Google Gem)ini等 100 多种大语言模型!
这款 AI 网关项目简直太棒了,轻松接入OpenAI、LLama2、Google Gem)ini等 100 多种大语言模型!
254 1
|
前端开发 应用服务中间件 nginx
用docker和nginx部署前端项目访问本地java网关gateway服务
本地开发 java 微服务项目,但是拿到的对应的web前端项目只有打包编译过后的 dist 目录里的静态资源(里面只有一个index.html和一些编译过后的 js、css文件),前端接口需要先访问到 java 的网关服务,然后网关里再做转发
462 1
|
Kubernetes Cloud Native 应用服务中间件
对比 5 个开源网关项目,这家 SaaS 企业如何统一网关架构
对比 5 个开源网关项目,这家 SaaS 企业如何统一网关架构
44789 23
|
监控 API Nacos
微服务轮子项目(19) -Alibaba Sentinel限流熔断(网关流控)
微服务轮子项目(19) -Alibaba Sentinel限流熔断(网关流控)
118 0
|
设计模式 SQL 安全
淘东电商项目(72) -互联网安全架构设计(责任链模式重构网关流程)
淘东电商项目(72) -互联网安全架构设计(责任链模式重构网关流程)
58 0
|
SQL 安全 API
淘东电商项目(71) -互联网安全架构设计(网关验证AccessToken)
淘东电商项目(71) -互联网安全架构设计(网关验证AccessToken)
55 0