網關
PublicGateWay:用戶服務網關
AdminGateWay:管理員服務網關java
服務:
CommonIntegration:通用集成服務,主要包含發送短信,郵件,上傳文件等等,可被別的各個服務所調用。
IntegrationClient: CommonIntegration微服務的Feign client項目,可被被的微服務所包含,可直接使用來調用CommonIntegration的接口。
JobService:定時任務服務,通常不會被別的服務所調用。
UserService: 用戶服務
OrderAccountService: 用戶訂單及帳戶服務。
ActivityService: 活動服務。
config: 各個服務的配置文件,方便部署。spring
父項目pom文件 -------------------------------- <?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>com.xiayu</groupId> <artifactId>XiaYuApplication</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <parent> //父項目的父項目爲springboot,版本爲2.0.3.RELEASE <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.3.RELEASE</version> <relativePath/> </parent> <modules> //各個子模塊 <module>EurekaRigstryCenter</module> <module>PublicGateWay</module> <module>CommonIntegration</module> <module>UserService</module> <module>AdminGateWay</module> <module>OrderAccountService</module> <module>JobService</module> <module>ActivityService</module> <module>IntegrationClient</module> </modules> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <spring-cloud.version>Finchley.RELEASE</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> <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> <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> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
EurekaRigstryCenter 註冊中心 pom文件apache
<?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"> <parent> <artifactId>XiaYuApplication</artifactId> <groupId>com.xiayu</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>EurekaRigstryCenter</artifactId> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <type>jar</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> //引入eureka-server依賴 </dependency> </dependencies> </project>
EurekaRigstryCenterApplication 啓動類springboot
package com.xiayu; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication //springboot註解 @EnableEurekaServer //eureka 註冊中心 public class EurekaRigstryCenterApplication { public static void main(String[] args) { SpringApplication.run(EurekaRigstryCenterApplication.class); //啓動項目 } }
yml配置文件app
spring: application: name: EurekaRigstryCenterApplication //服務名稱 server: port: 8083 //服務端口 eureka: instance: hostname: localhost client: registerWithEureka: false //自身做爲註冊中心,就不須要註冊到註冊中心 fetchRegistry: false //代表本身是註冊中心 serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ //註冊中心地址,各個服務註冊到註冊中心,須要此url
訪問註冊中心(尚未服務註冊到註冊中心)maven
註冊中心目錄結構spring-boot