spring boot微服务架构学习系列之系统架构简介(一)

 引言

        在这里你将学会微服务架构系统开发,我们把我们的一个完整的工程切分为多个子模块,每一个模块就是一个单独的微服务。

 数据服务我们将用到mysql、mongdb、redis、elasticserch、rabbitmq

技术栈你将学会spring cloud全家桶、spring boot、springdata jpa、mysql读写分离、redis集群

Mongdb集群\mongdb集群。

1系统架构

  系统采用前后端分离架构,并且技术用到了最新的SpringBoot+SpringCloud+SpringMVC+SpringData 我们把这种架构也称之为全家桶。

1.1系统模块

我们把我们的工程分为18个子模块

 

模块名称

模块中文名称

tensquare_common

公共模块

tensquare_article

文章微服务

tensquare_base

基础微服务

tensquare_friend

交友微服务

tensquare_gathering

活动微服务

tensquare_qa

问答微服务

tensquare_recruit

招聘微服务

tensquare_user

用户微服务

tensquare_spit

吐槽微服务

tensquare_search

搜索微服务

tensquare_web

前台微服务网关

tensquare_manager

后台微服务网关

tensquare_eureka

注册中心

tensquare_config

配置中心

tensquare_sms

短信微服务

tensquare_article_crawler

文章爬虫微服务

tensquare_user_crawler

用户爬虫微服务

tensquare_ai

人工智能微服务

 

1.3接口规范

RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易 于理解、扩展方便,所以正得到越来越多网站的采用。

REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的 .

     REST 是Representational State Transfer的缩写,翻译是”表现层状态转化”。

可以 总结为一句话:REST是所有Web应用都应该遵守的架构设计指导原则。

    面向资源是REST最明显的特征,对于同一个资源的一组不同的操作。资源是服务器 上一个可命名的抽象概念,资源是以名词为核心来组织的,

首先关注的是名词。REST要 求,必须通过统一的接口来对资源执行各种操作。对于每个资源只能执行一组有限的操 作。

7个HTTP方法:GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS

 

2系统环境搭建

2.1开发环境要求

 需要jdk1.8环境

需要meaven3.3.9

需要idea开发工具

2.2测试工具postman

Postman中文版是postman这款强大网页调试工具的windows客户端,提供功能强大的 Web API & HTTP 请求调试。

软件功能非常强大,界面简洁明晰、操作方便快捷,设计得 很人性化。

Postman中文版能够发送任何类型的HTTP 请求 (GET, HEAD, POST, PUT..), 附带任何数量的参数+

 

Spring cloud微服务多模块化搭建

3.1搭建父工程

打开菜单选择file-newproject选择meaven,点击next

spring boot微服务架构学习系列之系统架构简介(一)_第1张图片

 

输入groupid和artifactId点击next

 

spring boot微服务架构学习系列之系统架构简介(一)_第2张图片

 

修改pom文件


    4.0.0
    com.tensquare
    tensquare_parent
    1.0-SNAPSHOT
    pom
    tensquare_parent
       
        org.springframework.boot
        spring‐boot‐starter‐parent
        2.0.1.RELEASE
        
    
    
        UTF‐ 8
        UTF‐ 8
        1.8
    
    
        
            org.springframework.boot
            spring‐boot‐starter‐web
        
        
            org.springframework.boot
            spring‐boot‐starter‐test
            test
        
    
    
    
    spring‐snapshots
    Spring Snapshots
    https://repo.spring.io/snapshot
    
        true
    
    
        
            spring‐milestones
            Spring Milestones
            https://repo.spring.io/milestone
            
                false
            
        
    
    
        
            spring‐snapshots
            Spring Snapshots
            https://repo.spring.io/snapshot
            
                true
            
        
        
            spring‐milestones
            Spring Milestones
            https://repo.spring.io/milestone
            
                false
            
        
        

 

3.2搭建公共子模块

搭建公共子模块 tensquare_common,选择工程newmodule

spring boot微服务架构学习系列之系统架构简介(一)_第3张图片

 点击finish

spring boot微服务架构学习系列之系统架构简介(一)_第4张图片

4搭建基础资源模块微服务

  4.1基础微服务模块搭建

  1.     搭建基础微服务模块tensquare_base , pom.xml引入依赖
  2. )创建启动类

  3. 在resources下创建application.yml

   

#配置server端口
server:
  port: 9001
spring:
  application:
    name: tensquare-base #服务名
  datasource:
    driverClassName: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/tensquare_base?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
    username: root
    password: root
  jpa:
     database: MySQL
     show-sql: true
     generate-ddl: true

 启动类

@SpringBootApplication
public class BaseApplication {

    public static void main(String[] args) {
        
        SpringApplication.run(BaseApplication.class);
    }

    @Bean public IdWorker idWorker(){
        
        return new IdWorker(1,1);
    }

}

  pom.xml

 



    
        tensquare_parent
        com
        1.0-SNAPSHOT
    
    4.0.0

    com.tensquare.base
    tensquare_base
    
        
            org.springframework.boot
            spring-boot-starter-data-jpa
        
        
            mysql
            mysql-connector-java
        
        
            com.tensquare
            tensquare_common
            1.0-SNAPSHOT
        
    

  4.2对标签表进行springdata增删改查操作并且启动项目测试

 

     见本人博客:博客

  4.3spring boot处理全局异常

   

@ControllerAdvice
public class BaseExceptionHandler {
    @ExceptionHandler(value = Exception.class)
    @ResponseBody
    public Result error(Exception e) {
        e.printStackTrace();
        return new Result(false, StatusCode.ERROR, e.getMessage());
    }

}

5测试

spring boot微服务架构学习系列之系统架构简介(一)_第5张图片

6关于作者

http://www.liph.fun

7源码下载

http://www.liph.fun/resource

 

你可能感兴趣的:(Spring,mvc,Spring,项目架构,工作总结,项目实战,Spring,boot)