跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Martian 框架发布了 第一个网关组件
未分類
21 9 月 2020

Martian 框架发布了 第一个网关组件

Martian 框架发布了 第一个网关组件

資深大佬 : Joker123456789 5

Martian 框架的第一个网关组件( Martian-gateway 1.0.0 ),功能较少,目前只实现了以下功能:

  1. 可以从 zookeeper 获取微服务接口,进行请求的转发
  2. 请求转发是负载均衡的方式进行

具体的使用方法

一、引入以下 maven 坐标

<dependency>     <groupId>com.github.yuyenews</groupId>     <artifactId>mars-gateway-starter</artifactId>     <version>最新版,具体看《组件介绍》</version> </dependency> 

二、创建一个配置类,继承 MarsGateWayConfig

重写里面的方法,可以实现定制化配置,具体看下面的注释

public class GateWayConfig extends MarsGateWayConfig {      public CloudConfig getGateWayConfig() {         CloudConfig cloudConfig = new CloudConfig();         // 服务名称         cloudConfig.setName("");         // 尽量长一点,防止接口过多来不及发布         cloudConfig.setSessionTimeout(10000L);         // 请求 Mars-Cloud 接口超时时间         cloudConfig.setTimeOut(10000L);         // zookeeper 地址,多个地址用英文逗号分割         cloudConfig.setRegister("");         // 负载均衡策略(暂时只支持轮询,随机两种)         cloudConfig.setStrategy(Strategy.POLLING);         return cloudConfig;     }      /******** 以下方法均有默认值,如果采用默认值的话,可以不重写 ********      /**     * 端口号     * @return     */     public int port(){         return 8080;     }      /**     * 线程池配置     * @return 线程池配置     */     public ThreadPoolConfig getThreadPoolConfig(){         return new ThreadPoolConfig();     }      /**     * 跨域配置     * @return 跨域配置     */     public CrossDomainConfig crossDomainConfig(){         return new CrossDomainConfig();     }  } 

三、创建一个启动类

这里调用的是 StartGateWay 里面的 start 方法,千万别看错了

public class ExpStart {      public static void main(String[] args) {         StartGateWay.start(ExpStart.class, new GateWayConfig());     } } 

完成以上三步,一个网关就搭建完成了

接下来如何使用呢

很简单,一般发起一个请求,分两种场景:

  1. 希望服务器返回 JSON 格式数据(大部分场景)
  2. 希望服务器返回一个文件流(文件下载,excel 导出,等场景)

返回 JSON 格式数据

请求方式如下

http://IP:端口号,或者域名 /router/要请求的微服务 name/微服务上的 MarsApi 方法名 

返回一个文件流

请求方式如下

http://IP:端口号,或者域名 /download/要请求的微服务 name/微服务上的 MarsApi 方法名 

注意事项

因为目前只是第一版,所以功能还不是很完善,所以造成了以下缺陷:

  1. 返回的文件流,没有文件名的后缀,所以需要前端重命名一下
  2. 目前只实现了请求转发功能,但是这个转发是带负载均衡的

项目官网

http://mars-framework.com/

大佬有話說 (0)

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具