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

Joker123456789: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/

如何绑定域名到具体的某个文章

balabalaguguji:现在有一个文档: https://easydoc.top/s/17790664 想要用域名 docs.simple.com 绑定到这个文档 请问有什么方式可以做到。

国家政务服务平台的域名错误

Tianao:通过域名 gjzwfw.www.gov.cn 打开国家政务服务平台后发现网页左上角写的域名是 www.gjzwfw.gov.cn ,但直接访问这个域名会被重定向到 www.gov.cn 。

阿里云又有活动了啊

948888269:阿里云域名特惠 cn9 元 com23 元域名最低价购买开展活动 https://www.h9i.cn/archives/1117.html948888269:看着还不错

请教:微信个人订阅号现在不支持开发选项中的基本配置修改吗?

binghe:现在手上这个号,原来是可以配置修改的,但是这几天我试了很多次,每次修改就提示参数错误,但是检查了很多次,换字符串,换域名都试过,都不行。是不是现在已经不支持了?图 1 是我以前设置的,完全可用。https://pic.downk.cc/item/5f5afeea160a154a6746b4de.jpg图 2 是修改时提示错误https://pi…

继续套路云还是换腾讯云?

dupreesun:几年前在套路云上购买了域名和 ECS 服务器,发现今年要到期了, 大家都知道老用户与狗的典故。当初备案都是在套路云上做的,换到腾讯云会不会有坑? 域名指向腾讯云上的主机可以吗?