十次方微服务开发V1.0全集

c#小王子 c#小王子 2021-10-18 782 Java


十次方微服务开发V1.0全集


1-系统设计与工程搭建


学习目标:

了解十次方的需求分析

理解十次方的系统设计以及RESTful

完成项目的前期准备工作(配置JDK 与 本地仓库)

完成十次方父模块与公共模块的搭建

完成基础微服务-标签CRUD的功能,掌握公共异常处理类


1 需求分析


1.1 十次方简介


《十次方》是程序员的专属社交平台,包括头条、问答、活动、交友、吐槽、招聘六大 频道。

十次方名称的由来:2的10次方为1024,程序员都懂的。

如果你是一位技术大咖,那么赶快发布文章,增加知名度吧。

如果你是一名技术小白,那么赶快到问答频道寻求帮助的,这里高手如云哦!

如果你不想错过各种技术交流会,那么请经常关注活动频道吧~

如果你还是单身,那么赶快到交友频道找到你心仪的另一半。

如果你有太多的苦恼,那么赶快吐个槽吧~

如果你正在找工作或是想跳槽拿高薪,那么来招聘频道淘金吧~


1.2 需求规格说明书

详见: 资源\文档\十次方需求规格说明书.docx


2 系统设计


2.1 系统架构

《十次方》采用前后端分离的系统架构,后端架构为:

SpringBoot+SpringCloud+SpringMVC+SpringData 我们把这种架构也称之为全家桶。


2.2 模块划分

我们的十次方工程共分为18个子模块(其中17个是微服务)



我们本章内容是搭建父工程、公共子模块tensquare_common和基础微服务 tensquare_base。




2.3 表结构分析

我们这里采用的分库分表设计,每个业务模块为1个独立的数据库。


tensquare_article 文章

tensquare_base 基础

tensquare_friend 交友

tensquare_gathering 活动

tensquare_qa 问答

tensquare_recruit 招聘

tensquare_user 用户

tensquare_spit 吐槽

详见 资源\文档\十次方数据库文档.xlsx


2.4 API文档

课程提供了前后端开发接口文档(采用Swagger语言进行编写),并与Ngin进行了整 合。双击Nginx执行文件启动后,在地址栏输入http://localhost:801 即可访问API文档 前后端约定的返回码列表.


2.5 理解RESTful


2.5.1 何为RESTful


理解、扩展方便,所以正得到越来越多网站的采用。REST这个词,是Roy Thomas

Fielding在他2000年的博士论文中提出的 .

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

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

面向资源是REST最明显的特征,对于同一个资源的一组不同的操作。资源是服务器

上一个可命名的抽象概念,资源是以名词为核心来组织的,首先关注的是名词。REST要

求,必须通过统一的接口来对资源执行各种操作。对于每个资源只能执行一组有限的操

作。

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

2.5.2 接口规范

我们在项目中用到了GET/POST/PUT/DELETE四种方法,现在介绍一下这四种方法

GET

安全且幂等

获取表示

变更时获取表示(缓存)

200(OK) - 表示已在响应中发出

204(无内容) - 资源有空表示

301(Moved Permanently) - 资源的URI已被更新

303(

See Other) - 其他(如,负载均衡)

304(not modified)- 资源未更改(缓存)

400 (bad request)- 指代坏请求(如,参数错误)

404 (not found)- 资源不存在

406 (not acceptable)- 服务端不支持所需表示

500 (

internal server error)- 通用错误响应

503 (

Service Unavailable)- 服务端当前无法处理请求

POST

不安全且不幂等

使用服务端管理的(自动产生)的实例号创建资源

创建子资源


部分更新资源

如果没有被修改,则不过更新资源(乐观锁)

200(OK)- 如果现有资源已被更改

201(

created)- 如果新资源被创建

202(

accepted)- 已接受处理请求但尚未完成(异步处理)

301(Moved Permanently)- 资源的URI被更新

303(

See Other)- 其他(如,负载均衡)

400(bad request)- 指代坏请求

404 (not found)- 资源不存在

406 (not acceptable)- 服务端不支持所需表示

409 (

conflict)- 通用冲突

412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突)

415 (unsupported media type)- 接受到的表示不受支持

500 (

internal server error)- 通用错误响应

503 (

Service Unavailable)- 服务当前无法处理请求

PUT

不安全但幂等

用客户端管理的实例号创建一个资源

通过替换的方式更新资源

如果未被修改,则更新资源(乐观锁)

200 (OK)- 如果已存在资源被更改

201 (

created)- 如果新资源被创建

301(Moved Permanently)- 资源的URI已更改

303 (

See Other)- 其他(如,负载均衡)

400 (bad request)- 指代坏请求

404 (not found)- 资源不存在

406 (not acceptable)- 服务端不支持所需表示

409 (

conflict)- 通用冲突

412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突)

415 (unsupported media type)- 接受到的表示不受支持

500 (

internal server error)- 通用错误响应

503 (

Service Unavailable)- 服务当前无法处理请求

DELETE

不安全但幂等

删除资源

200 (OK)- 资源已被删除

301 (Moved Permanently)- 资源的URI已更改

303 (

See Other)- 其他,如负载均衡

400 (bad request)- 指代坏请求

404 (not found)- 资源不存在

409 (

conflict)- 通用冲突

500 (

internal server error)- 通用错误响应

503 (

Service Unavailable)- 服务端当前无法处理请求

3 项目前期准备

3.1 开发环境要求

JDK1.8

数据库mysql 5.7

开发工具 idea 2017.1.2

maven版本3.3.9

docker 最新版本

centos7

VMware Workstation Pro 12

注:十次方课程所有的环境都是基于docker的,所以我们在资料中提供了安装了docker

的centos7镜像,并已经下载了课程中使用的mysql等常用docker镜像。

将centos7镜像挂载到VMware Workstation,修改内存为8G。

用户名root 密码itcast

3.2 MYSQL建库建表(容器)


【下载地址】

百度网盘链接:https://pan.baidu.com/s/1EE_Qib22ewO6K6BukDaV7g

提取码:qpjy



相关文章


使用-JFreeChart来创建基于web的图表

使用-JFreeChart来创建基于web的图表

XStream使用文档

XStream使用文档

WebService发布过程及常见问题

WebService发布过程及常见问题

webpack实战入门进阶调优分享

webpack实战入门进阶调优分享

weblogic调优参数及监控指标

weblogic调优参数及监控指标

weblogic节点管理

weblogic节点管理

weblogic管理控制台概述

weblogic管理控制台概述

weblogic-部署和启动

weblogic-部署和启动

WebLogic-Server-性能及调优-调优-Java-虚拟机

Java 虚拟机(Java virtual machine,简称 JVM)是一种虚拟“执行引擎”实例,可在微处理器上执行 Java 类文件中的字节码。调整 JVM 的方式会影响 Weblogic Server 和应用程序的性能。

Velocity用户教程

Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。

Velocity用户手册

Velocity 用户手册是帮助页面设计者和内容提供者认识 Velocity 和其简单而功能强大的脚本语言――Velocity 模板语言(VTL)。在手册上的许多例子,都是用 Velocity 插入动态的内容到网页上,但是所有的 VLT 例子都能应用到其他的页面和模板中。


文章热度: 166291
文章数量: 333
推荐阅读

FlashFXP绿色版网盘下载,附激活教程 1782

FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具

Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1565

firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ

navicat for mysql中文绿色版网盘下载 1623

Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq

火车头采集器(旗舰版)绿色版网盘下载 1707

火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA

Photoshop(CS-2015-2023)绿色中文版软件下载 1824

安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64

知之

知之平台是全球领先的知识付费平台。提供各个领域的项目实战经验分享,提供优质的行业解决方案信息,来帮助您的工作和学习

使用指南 建议意见 用户协议 友情链接 隐私政策 Powered by NOOU ©2020 知之