项目接入到SOP

    • pom.xml添加版本配置
    • pom.xml添加SpringCloud支持
    1. <dependencies>
    2. <dependency>
    3. <groupId>org.springframework.cloud</groupId>
    4. <version>Greenwich.RELEASE</version>
    5. <scope>import</scope>
    6. </dependency>
    7. </dependencies>
    8. </dependencyManagement>
    • pom.xml依赖sop-service-common和nacos服务发现
    server.port=2222
    # 服务名称
    spring.application.name=story-service
    # nacos注册中心
    spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
    
    • 在springboot启动类上添加
    • 新增一个配置类,继承AlipayServiceConfiguration.java,内容为空

    到此准备工作就完成了,接下来可前往新增接口查看如何新增接口。

    如果是非Java项目接入,如php,需要做到以下几点:

    • 提供路由配置接口
    {
        "serviceId": "goods-service",
        "createTime": 1568603471646,
        "updateTime": 1568603471646,
        "description": null,
        "routeDefinitionList": [
            {
                "id": "goods.list1.0",
                "name": "goods.list",
                "version": "1.0",
                "uri": "lb://goods-service",
                "path": "/goods/list_goods",
                "order": 0,
                "ignoreValidate": 0,
                "status": 1,
                "mergeResult": 1,
                "permission": 0
            },
            ...
        ]
    }
    

    json参数说明

    routeDefinitionList元素参数说明

    参数名 是否必填 说明
    id 路由id,全局唯一,格式:接口名+版本号
    name 接口名称
    version 版本号
    uri 格式:lb:// + serviceId,如:lb://goods-service
    path 接口path,填端口号后面的path,如你的接口为http://open.domain.com:8080/goods/list_goods,填:
    order 固定填:0
    ignoreValidate 忽略签名验证,1:是,0:否
    status 启用状态,1:启用,2:禁用
    mergeResult 是否统一返回结果,1:是,0:否
    permission 是否需要权限访问,1:是,0:否
    • 服务注册到nacos
    • 在nacos的metadata中指定接口路径

    伪代码如下:

    完成以上步骤后,php服务注册到nacos,网关会触发监听事件,获取新注册的服务,然后会向你的服务拉取路由配置。