河北pc端网站建设,石家庄互联网公司有哪些,建数据库的网站多少钱,国外网站空间租用哪个好文章目录 前言一、搭建gateway项目1.1 pom配置1.2 新增配置如下 二、新增server服务2.1 pom配置2.2新增测试接口如下 三、测试验证3.1 分别启动两个服务#xff0c;查看nacos是否注册成功3.2 测试 总结 前言
前面已经完成了springcloudalibaba项目搭建#xff0c;接下来搭建… 文章目录 前言一、搭建gateway项目1.1 pom配置1.2 新增配置如下 二、新增server服务2.1 pom配置2.2新增测试接口如下 三、测试验证3.1 分别启动两个服务查看nacos是否注册成功3.2 测试 总结 前言
前面已经完成了springcloudalibaba项目搭建接下来搭建gateway项目这里启动两个服务一个是gateway服务一个是server服务请求从gateway到server服务。 一、搭建gateway项目
1.1 pom配置 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-loadbalancer/artifactId/dependency这里的lb需要加上否则使用 lb://方式寻找服务启动后请求报错如下
Service Unavailable 503完整的pom如下
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.springcloudalibaba/groupIdartifactIdgateway/artifactIdversion0.0.1-SNAPSHOT/versionnamegateway/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version8/java.versionspring-boot.version2.6.13/spring-boot.versionspring-cloud.version2021.0.5/spring-cloud.versionspring-cloud-alibaba.version2021.0.5.0/spring-cloud-alibaba.version/propertiesdependencies!-- SpringCloud Gateway --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-loadbalancer/artifactId/dependency!-- SpringCloud Alibaba Nacos --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId/dependency!-- SpringCloud Alibaba Nacos Config --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-bootstrap/artifactId/dependency/dependenciesdependencyManagementdependencies!-- SpringCloud 微服务 --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependency!-- SpringCloud Alibaba 微服务 --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion${spring-cloud-alibaba.version}/versiontypepom/typescopeimport/scope/dependency!-- SpringBoot 依赖配置 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion${spring-boot.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion2.6.0/versionconfigurationexcludesexcludegroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/exclude/excludes/configuration/plugin/plugins/build/project
1.2 新增配置如下
spring:cloud:gateway:discovery:locator:#开启服务发现功能从注册中心获取服务列表nacos-服务管理-服务列表#默认服务名称需要为大写可以通过配置lower-case-service-id: true 改变这一规则enabled: trueroutes:- id: server #payment_route #路由的ID没有固定规则但要求唯一建议配合服务名uri: lb://server #匹配后提供服务的路由地址predicates:- Path/server/**- MethodGET,POST-Path/server/** 匹配 /server/路径下的到server服务
二、新增server服务
2.1 pom配置
这要增加web模块和增加EnableDiscoveryClient到启动类即可 server端pom配置如下
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.springcloudalibaba/groupIdartifactIdserver/artifactIdversion0.0.1-SNAPSHOT/versionnameserver/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version8/java.versionspring-boot.version2.6.13/spring-boot.versionspring-cloud.version2021.0.5/spring-cloud.versionspring-cloud-alibaba.version2021.0.5.0/spring-cloud-alibaba.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- SpringCloud Alibaba Nacos --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId/dependency!-- SpringCloud Alibaba Nacos Config --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-bootstrap/artifactId/dependency/dependenciesdependencyManagementdependencies!-- SpringCloud 微服务 --dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependency!-- SpringCloud Alibaba 微服务 --dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion${spring-cloud-alibaba.version}/versiontypepom/typescopeimport/scope/dependency!-- SpringBoot 依赖配置 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion${spring-boot.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion2.6.0/versionconfigurationexcludesexcludegroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/exclude/excludes/configuration/plugin/plugins/build/project
2.2新增测试接口如下
package com.springcloudalibaba.gateway.control;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;RestController
public class Control {RequestMapping(value /hello)public String index() {System.out.println(testname: );return testName;}}三、测试验证
3.1 分别启动两个服务查看nacos是否注册成功 查看日志和查看nacos上的服务可以知道已经注册成功了。
3.2 测试
这里新增了一个hello的接口请求地址如下 http://localhost:8080/server/hello
这个请求会先到gateway服务然后再去请求server服务http://localhost:8080/server/hello– http://localhost:8081/hello,可以看到返回结果和server中的代码返回一致测试成功。
总结
1.alibaba lb的包和gateway的一起使用否则使用lb方式查找服务会有问题导致请求失败。 2.- Path/server/** 表示路径带server的路由到你指定的服务中去真正请求的时候会去掉server这一截。