SpringCloud Gateway 快速入门_01 朱雀 2022-09-05 11:30 166阅读 0赞 ### 文章目录 ### * * * * * 一、网关模块搭建 * * 1. 引入依赖 * 2. 配置 * 3. 启动类 * 二、产品服务模块搭建 * * 2.1. 引入依赖 * 2.2. 配置 * 2.3. 控制层 * 2.4. 启动类 * 2.5. 启动产品模块 * 三、启动中间件 * * 3.1. nacos启动 * 3.2. 启动gateway * 3.3. 配置域名映射 * 四、测试验证 * * 4.1. 测试产品服务 * 4.2. 网关访问产品 ##### 一、网关模块搭建 ##### ###### 1. 引入依赖 ###### <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <spring.cloud-version>Hoxton.SR9</spring.cloud-version> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> </dependencies> <dependencyManagement> <!--https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E--> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring.cloud-version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> ###### 2. 配置 ###### 访问`product.gblfy.com**`就会路由到`http://localhost:9000` 这里的9000端口我们的产品服务模块 server: port: 8081 spring: cloud: gateway: routes: - id: product uri: http://localhost:9000 predicates: - Host=product.gblfy.com** ###### 3. 启动类 ###### package com.gblfy.gatewayserv; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class GatewayServApplication { public static void main(String[] args) { SpringApplication.run(GatewayServApplication.class, args); } } ##### 二、产品服务模块搭建 ##### ###### 2.1. 引入依赖 ###### <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--服务注册发现--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <!--spring-cloud-alibaba 版本控制--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.6.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> ###### 2.2. 配置 ###### server: port: 9000 management: endpoints: web: exposure: include: '*' spring: cloud: nacos: discovery: service: product-serv server-addr: localhost:8848 ###### 2.3. 控制层 ###### package com.gblfy.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; @RestController public class ProductController { //http://localhost:9000/product/" + productId @GetMapping("/product/{ productId}") public String getProductName(@PathVariable Integer productId) { return "IPhone 12"; } } ###### 2.4. 启动类 ###### package com.gblfy; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ProductAplication { public static void main(String[] args) { SpringApplication.run(ProductAplication.class); } } ###### 2.5. 启动产品模块 ###### ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDgxNjczOA_size_16_color_FFFFFF_t_70] ##### 三、启动中间件 ##### ###### 3.1. nacos启动 ###### ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDgxNjczOA_size_16_color_FFFFFF_t_70 1] ###### 3.2. 启动gateway ###### ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDgxNjczOA_size_16_color_FFFFFF_t_70 2] ###### 3.3. 配置域名映射 ###### ![在这里插入图片描述][2756b14e4c174c9b960e4beaacfd5005.png] ##### 四、测试验证 ##### ###### 4.1. 测试产品服务 ###### [http://localhost:9000/product/1][http_localhost_9000_product_1] ![在这里插入图片描述][1270a45dbd9f42ceb6fe268074ecb74b.png] ###### 4.2. 网关访问产品 ###### 通过网关gateway访问产品模块服务 [http://product.gblfy.com:8081/product/1][http_product.gblfy.com_8081_product_1] ![在这里插入图片描述][669728a535cc46c292fb78ed2e1e03f9.png] [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDgxNjczOA_size_16_color_FFFFFF_t_70]: /images/20220829/fc3ef728b7114e27833540d0ecaeaa08.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDgxNjczOA_size_16_color_FFFFFF_t_70 1]: /images/20220829/4054cf421f354d73a8fbefd427ce2404.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDgxNjczOA_size_16_color_FFFFFF_t_70 2]: /images/20220829/3189cc093efb4f9a8186300e3fa09127.png [2756b14e4c174c9b960e4beaacfd5005.png]: /images/20220829/d6558e2776334374a1d1fe04fbc45f96.png [http_localhost_9000_product_1]: http://localhost:9000/product/1 [1270a45dbd9f42ceb6fe268074ecb74b.png]: /images/20220829/77dac5eb72c5463aa471057187f48927.png [http_product.gblfy.com_8081_product_1]: http://product.gblfy.com:8081/product/1 [669728a535cc46c292fb78ed2e1e03f9.png]: /images/20220829/906dda9725734d56850f96747c5932a8.png
还没有评论,来说两句吧...