nginx + spring gateway+spring 服务
背景
实践配置一套nginx +gateway+微服务的架构
架构
配置nginx
gateway配置
server: port: 8091 spring: application: name: gateway cloud: nacos: discovery: server-addr: localhost:8848 config: server-addr: localhost:8848 gateway: discovery: locator: enabled: true lower-case-service-id: true # routes: # - id: provide-service # uri: lb://provide-service # predicates: # - Path=/** # filters: # - StripPrefix=1
discovery.locator.enabled=true 会自动拉取nacos里的服务生成route,
gateway pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>open.source.test</groupId> <artifactId>nacos-discovery-test</artifactId> <version>1.0-SNAPSHOT</version> <name>nacos-discovery-test</name> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.5.RELEASE</version> <relativePath/> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
服务配置
生成A服务和B服务
spring.application.name=provide-serviceb server.port=9093 nacos.discovery.server-addr=127.0.0.1:8848
服务注册到Nacos
服务请求
http://springboot.com:8080/provide-servicea/te/hello
http://springboot.com:8080/provide-serviceb/te/hello
总结
下一篇:
Kafka部署安装及简单使用