软件开发定制定制nacos整合gateway配置

spring官方gateway 软件开发定制定制选择学习的版本Doc

软件开发定制定制创建父子项目

1、软件开发定制定制第一步创建父模块,父模块导入pom

  1. <!--父模块打包方式pom-->
  2. <packaging>pom</packaging>
  3. <!--配置管理-->
  4. <properties>
  5. <maven.compiler.source>8</maven.compiler.source>
  6. <maven.compiler.target>8</maven.compiler.target>
  7. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  8. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  9. <java.version>1.8</java.version>
  10. <spring-cloud-alibaba.version>2.2.8.RELEASE</spring-cloud-alibaba.version>
  11. <spring-cloud.version>Hoxton.SR12</spring-cloud.version>
  12. </properties>
  13. <!--SpringBoot-->
  14. <parent>
  15. <groupId> org.springframework.boot</groupId>
  16. <artifactId>spring-boot-starter-parent</artifactId>
  17. <version>2.3.12.RELEASE</version>
  18. </parent>
  19. <!--SpringCloud 需要做版本的统一 官方地址:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E-->
  20. <dependencyManagement>
  21. <dependencies>
  22. <dependency>
  23. <groupId>com.alibaba.cloud</groupId>
  24. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  25. <version>${spring-cloud-alibaba.version}</version>
  26. <type>pom</type>
  27. <scope>import</scope>
  28. </dependency>
  29. <dependency>
  30. <groupId>org.springframework.cloud</groupId>
  31. <artifactId>spring-cloud-dependencies</artifactId>
  32. <version>${spring-cloud.version}</version>
  33. <type>pom</type>
  34. <scope>import</scope>
  35. </dependency>
  36. </dependencies>
  37. </dependencyManagement>

2、第二步创建gateway服务,这个是gateway服务的pom

  1. <!--子模块打包方式pom-->
  2. <packaging>jar</packaging>
  3. <dependencies>
  4. <!--gateway的pom-->
  5. <dependency>
  6. <groupId>org.springframework.cloud</groupId>
  7. <artifactId>spring-cloud-starter-gateway</artifactId>
  8. </dependency>
  9. <!--服务注册与发现-->
  10. <dependency>
  11. <groupId>com.alibaba.cloud</groupId>
  12. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  13. </dependency>
  14. <!--nacos的配置-->
  15. <dependency>
  16. <groupId>com.alibaba.cloud</groupId>
  17. <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  18. </dependency>
  19. </dependencies>

3、第三步 注册到注册中心,有个nacos的教程

gateway服务的application.yml配置跟bootstrap.yml,好像可以不用配application.yml,springBoot启动会加载配置文件,只要配置了远程的,就可以不用配置这个application.yml

本地application.yml

  1. server:
  2. port: 7000
  3. spring:
  4. application:
  5. name: service-gateway
  6. cloud:
  7. nacos:
  8. discovery:
  9. server-addr: 127.0.0.1:8848 #Nacos注册中心地址
  10. gateway:
  11. discovery:
  12. locator:
  13. #开放服务名访问方式 true时候,可以使用地址 http://localhost:7000/service-wx/xler/wx/test1 就是直接可以通过服务名然后去定位controller地址进行访问
  14. #false就 只能 通过配置的路由进行访问
  15. enabled: false
  16. lower-case-service-id: true #服务名小写
  17. routes: #路由配置
  18. - id : wx #指定服务id,随便取,但是不能重复
  19. uri: lb://service-wx #去注册中心找这个服务名 后面这个就是服务的名字spring.application.name: service-gateway
  20. predicates: #断言,匹配访问的路径
  21. - Path=/gg/xler/wx/** #服务访问路径
  22. filters: #过滤
  23. - StripPrefix=1 #请求转发的时候会去掉 /gg访问路径 最终转发请求的服务地址:
  24. globalcors: #跨域配置
  25. cors-configurations:
  26. '[/**]':
  27. allowedOrigins:
  28. - "http://127.0.0.1:8081" #允许跨域
  29. - "http://127.0.0.1:8082"
  30. allow-credentials: true
  31. allowed-headers: "*"
  32. allowedMethods: #请求方式
  33. - GET
  34. - POST
  35. - DELETE
  36. - PUT
  37. - PATCH
  38. - OPTIONS
  39. - HEAD
  40. - CONNECT
  41. - TRACE

配置远程配置文件

  1. spring:
  2. main:
  3. allow-bean-definition-overriding: true #允许bean覆盖 我也不懂
  4. profiles:
  5. active: dev #环境
  6. cloud:
  7. nacos:
  8. discovery:
  9. enabled: true #开启服务注册发现
  10. server-addr: 127.0.0.1:8848 #nacos注册中心地址
  11. group: DEFAULT_GROUP #分组
  12. namespace: 4cfc2538-6811-4761-b3ce-2bcaa6b68d71 #命名空间
  13. username: nacos #nacos账户密码
  14. password: nacos
  15. ip: 127.0.0.1 #服务器地址
  16. config:
  17. enabled: true # 是否开启配置中心,默认true
  18. server-addr: 127.0.0.1:8848 #配置中心
  19. file-extension: yaml #配置文件格式
  20. prefix: xler-gateway #配置前缀 ,默认使用sring.application.name
  21. group: xler #配置分组
  22. namespace: 4cfc2538-6811-4761-b3ce-2bcaa6b68d71 #命名空间

4、第四步,创建启动类

@SpringBootApplication
@EnableDiscoveryClient 用于nacos的客户端的服务注册发现的注册

 5、第五步,启动就完事了。就注册到nacos了

6、创建其他的服务,然后注册到nacos,通过网管去访问

 

 

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发