IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇

IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇


文章目录

  • IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇
  • 前言
  • 一、创建项目目录结构(项目服务总架构)
    • 1.项目配置Maven
  • 二、项目服务总架构基础上创建分支服务项
    • 1.创建eureka-service服务
      • 方式一、创建eureka-service服务(选其中一个方式就行)
      • 方式二、创建eureka-service服务(选其中一个方式就行)
    • 2.创建producer-service服务(生产者)
    • 3.创建consuming-service服务(消费者)
    • 4.创建Zuul-service服务(网关服务微服务请求入口)
  • 总结


前言

为什么学习微服务架构?学习微服务架构需要那些技术储备?
1、在我们刚接触的项目当中大部分都是单体架构(除了一线互联网公司),单体结构的特点就是以满足业务需求是第一位,技术实现其次所以业务量不是跟大比如一些公司的内部使用系统。设想如果用户量、业务量很大呢单体架构很难支撑,所以我们要采用微服务架构解决高并发的问题。
2、技术储备首先要学习Spring Boot框架(可查看我的文章SpringBoot篇),因为Spring Cloud架构是在Spring Boot就框架的基础上进行开发和搭建,也可以理解为多个Spring Boot项目放在一起就是一个分布式Spring Cloud项目

这只是创建项目结构也可实现,具体实现细节可详见我的文章:分布式微服务Spring Cloud框架搭建详细流程_中等篇。


提示:以下是本篇文章正文内容,下面案例可供参考

一、创建项目目录结构(项目服务总架构)

点击 + Create New Project 创建新的项目
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第1张图片
点击 Maven 然后 Next
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第2张图片
Groupld:定义了项目属于哪个组,举个例子,如果你的公司是com,有一个项目为zhx,那么groupId就应该是com.zhx
Artifactld:项目名称(总架构项目的名称)
点击 Next
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第3张图片
检查项目名称及工作空间目录路径 没问题点击 Finish
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第4张图片
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第5张图片

1.项目配置Maven

点击 File ----> Settings
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第6张图片
配置Maven:File —> Settings —> Build, Execution, Deployment —> Build Tools —> Maven
User settings file:你maven服务的conf文件夹的settings.xml文件
Local repository:本地仓库的路径(存放从中央仓库、阿里云镜像下载的Jar包)
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第7张图片

二、项目服务总架构基础上创建分支服务项

1.创建eureka-service服务

方式一、创建eureka-service服务(选其中一个方式就行)

选中项目点击右键 New---->Module
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第8张图片
选中1、Spring Initializr 2、 钩住Default
然后点击 Next
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第9张图片
Group:项目坐标
Artifact: 注册中心服务的项目名称
然后点击 Next
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第10张图片
选中 Spring Cloud Discovery -------> Eureka Server
然后点击 Next
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第11张图片
然后点击 Finish
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第12张图片
在总架构的基础上已创建注册中心服务
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第13张图片
pom.xml添加依赖(如果你是按照以上步骤操作,都是自动添加的依赖)

<dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-netflix-eureka-serverartifactId>
dependency>

配置文件在resource文件夹下创建application.yml配置文件

server:
  port: 10000   #端口号
spring:
  application:
    name: eureka-service    #服务名
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10000/eureka
    register-with-eureka: false #不注册自己,列表当中看不到自己
    fetch-registry: false #不注册自己

方式二、创建eureka-service服务(选其中一个方式就行)

选中项目点击右键 New---->Module
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第14张图片
选中Maven 点击 Next
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第15张图片
点击 Next
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第16张图片
点击 FinishIEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第17张图片
在总架构的基础上已创建注册中心服务
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第18张图片

2.创建producer-service服务(生产者)

选中项目点击右键 New---->Module
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第19张图片
选中Maven 点击 Next
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第20张图片

点击 Next
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第21张图片
点击 Finish
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第22张图片
在总架构的基础上已创建生产者服务
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第23张图片
pom.xml添加依赖

 <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-netflix-eureka-clientartifactId>
        dependency>
        <dependency>
            <groupId>org.mybatis.spring.bootgroupId>
            <artifactId>mybatis-spring-boot-starterartifactId>
            <version>1.1.1version>
        dependency>
        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>5.1.47version>
        dependency>
        
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>jstlartifactId>
            <version>1.2version>
        dependency>
        <dependency>
            <groupId>org.apache.tomcat.embedgroupId>
            <artifactId>tomcat-embed-jasperartifactId>
            <scope>providedscope>
        dependency>
        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
        dependency>
    dependencies>

配置文件在resource文件夹下创建application.yml配置文件

spring:
  application:
    name: producer-service   #服务名称
    datasource:    
      username: root    ##数据库用户,改成自己的
      password: root   ##数据库密码,改成自己的
      url: jdbc:mysql://localhost:MySql/MySql?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
      driver-class-name: com.mysql.jdbc.Driver
server:
  port: 8083    #服端口号
eureka:
  client:
    service-url: # EurekaServer地址
      defaultZone: http://127.0.0.1:10000/eureka
  instance:
    prefer-ip-address: true # 当调用getHostname获取实例的,返回ip而不是host名称
    ip-address: 127.0.0.1 # 指定自己的ip信息,不指定的话会自己寻找

3.创建consuming-service服务(消费者)

选中项目点击右键 New---->Module
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第24张图片
选中Maven 点击 Next
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第25张图片
点击 Next
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第26张图片
点击 Finish
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第27张图片
在总架构的基础上已创建消费者服务
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第28张图片
pom.xml添加依赖

     <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-netflix-eureka-clientartifactId>
        dependency>
        
        <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-openfeignartifactId>
        dependency>

配置文件在resource文件夹下创建application.yml配置文件

spring:
  application:
    name: consuming-service    #服务名称
server:
  port: 8082     #端口号
eureka:
  client:
    service-url: # EurekaServer地址
      defaultZone: http://127.0.0.1:10000/eureka
  instance:
    prefer-ip-address: true # 当调用getHostname获取实例的,返回ip而不是host名称
    ip-address: 127.0.0.1 # 指定自己的ip信息,不指定的话会自己寻找

4.创建Zuul-service服务(网关服务微服务请求入口)

选中项目点击右键 New---->Module
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第29张图片
选中Maven 点击 Next
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第30张图片
点击 Next
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第31张图片
点击 Finish
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第32张图片
在总架构的基础上已创建网关服务服务
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第33张图片
pom.xml添加依赖

<dependencies>
        
        <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-netflix-zuulartifactId>
        dependency>

        <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-netflix-eureka-clientartifactId>
        dependency>
dependencies>

配置文件在resource文件夹下创建application.yml配置文件

spring:
  application:
    name: zuul-server   ##服务名称
server:
  port: 10088     ##端口号
eureka:
  client:
    service-url: # EurekaServer地址
      defaultZone: http://127.0.0.1:10000/eureka
    instance:
      prefer-ip-address: true # 当调用getHostname获取实例的,返回ip而不是host名称
      ip-address: 127.0.0.1 # 指定自己的ip信息,不指定的话会自己寻找
      #instance-id: zuul.com
zuul:
  #ignored-services:
  prefix: /api         #请求前缀
  routes:
    producer-service: /aa/**     #通过http://localhost:10088/api/aa/hello
    consuming-service: /bb/**        #通过http://localhost:10088/api/bb/xhello访问

备注:SpringCloud组件,以及版本号要对应上,否则会出现版本不一致的情况
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第34张图片
1、项目当中要是想根据技术选型实现业务需求,在项目总结构当中根据以上步骤创建服务项即可(组件说明见上边图片Component)
2、结合下面这个图来看,能够清晰每个组件是干什么用的
IEDA搭建Spring Cloud微服务项目架构(包含服务目录结构)详解_基础篇_第35张图片


总结

提示:当然这只是阐述一下微服务项目开发的一个基本的流程,一个微服务的项目服务会有跟多,可以引用相关组件来实现业务需求,但是如果服务比较多接口定义一定要规范并且要汇总接口调用基线,可参考我的文章:分布式微服务Spring Cloud框架搭建详细流程_中等篇。

你可能感兴趣的:(java后端技术架构,spring,cloud,微服务,架构,分布式,云原生)