内容简介:Martian框架的第一个网关组件(Martian-gateway 1.0.2),功能较少,目前只实现了以下功能: 可以从zookeeper获取微服务接口,以负载均衡的方式进行请求的转发 可以自定义过滤器,来扩展一些功能 具体的使用方法 ...
Martian框架的第一个网关组件(Martian-gateway 1.0.2),功能较少,目前只实现了以下功能:
- 可以从zookeeper获取微服务接口,以负载均衡的方式进行请求的转发
- 可以自定义过滤器,来扩展一些功能
具体的使用方法
一、引入以下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());
}
}
完成以上三步,一个网关就搭建完成了
接下来如何使用呢
很简单,一般发起一个请求,分两种场景:
- 希望服务器返回JSON格式数据(大部分场景)
- 希望服务器返回一个文件流(文件下载,excel导出,等场景)
返回JSON格式数据
请求方式如下
http://IP:端口号,或者域名/router/要请求的微服务name/微服务上的MarsApi方法名
返回一个文件流
请求方式如下
http://IP:端口号,或者域名/download/要请求的微服务name/微服务上的MarsApi方法名
注意事项
因为目前只是第一版,所以功能还不是很完善,所以造成了以下缺陷:
- 目前只实现了请求转发功能,但是这个转发是带负载均衡的
项目官网
http://mars-framework.com/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 微服务网关组件 Zuul 2.1.2 发布,新增重要特性
- BudWk 7.0.0 发布,微服务网关 + 组件化 + API 接口化
- Soul 网关发布 2.2.0,让高性能网关变得如此简单!
- 远行API网关(200428)
- zuul网关实现解析
- 设计一个HTTP网关
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。