1-2 云商城架构设计

1、架构设计

  云商城采用了当前主流的微服务技术架构,微服务技术栈采用了当前主流的SpringCloud Alibaba技术栈,从接入层、网关层、服务层、数据同步、服务治理、数据处理、第三方接口多个方面进行了精心设计,技术经过了多次挑选、优中选优,最终打造了一套全网最优质的的微服务商城架构体系,解决了大型微服务电商应用中绝大多数难点、痛点问题。

2、前后端分离

  我们过去开发一套系统,前端、后端都需要协同工作,很多时候分工不明确、责任不清晰,沟通成本大幅增加。为了提升开发效率、降低沟通成本,前后端分离的模式应运而生,前后端分离的开发模式会让各组开发人员工作更专注,沟通只需要通过前期沟通好的开发文档进行开发即可。开发流程如下图:

  前后端分离项目中可以大大减轻前后端开发人员的工作量、大大提升开发效率、为了减少沟通成本我们通过SwaggerAPI文档来沟通的、那么怎么使用SwaggerAPI文档呢?我接下来继续介绍。

3、Swagger使用

3.1 在线工具

  编写Swagger接口,可以用Swagger Editor,地址:https://editor.swagger.io/

3.2 本地查看

  接口编写好了,可以导出到本地.

  为了能够更加直观来查看相关的接口,我们通过用swagger-ui展示,下载地址:https://swagger.io/tools/swagger-ui/

  Swagger UI是通过读取Swagger Edit的导出的YAML/JSON文件,来进行接口测试。Swgger UI的站点域名要和发送请求的域名一样。不然浏览器会报跨域错误。

安装

  1. 下载并且安装node.js(自行下载安装https://nodejs.org/zh-cn/)

  2. npm install -g http-server

  3. 下载项目https://github.com/swagger-api/swagger-ui 并且解压。

  4. 进入swagger-ui文件夹。运行hs -p 500

  5. 进入http://127.0.0.1:500/dist/index.html就可以看到swagger页面了

使用
导入swagger.json文件把之前Swagger Edit导出的swagger.json文件复制到dist文件夹里面,修改index.html的url路径,改成指向swagger.json。就可以读取json文件的内容了。

访问 http://127.0.0.1:500/dist/index.html 即可

注意不要访问 http://localhost:500/dist/index.html 会出现跨域提示的问题

3.3 批量生成

  很多时候,我们没法快速开发完所有功能,但是有很多功能基本都是增删改查,我们可以利用工具先将增删改查的通用Swagger Api生成好,后面直接在对应基础上更改就可以了。 批量生成代码

链接:https://pan.baidu.com/s/15mBl5zFPRNGk5r1o2ZnLrw
提取码:nc4q

核心配置文件

#swagger 的路径、相对于当前项目
swaggerpath=com.bobo.swaggerui
#响应对象封装的名字RespResult
#respbean=RespResult
# 多条件收搜、默认是 /search
#search=/find
#多条件搜索+分页 默认是 /search/{page}/{size}   {size}表示路径参数
#pagesearch=/find/{page}/{size}
#生成文件的名称 默认:swagger.json
filename=goods.json
# 数据源配置
url=jdbc:mysql://192.168.100.130:3306/shop_goods
uname=root
pwd=123456
driver=com.mysql.jdbc.Driver

代码目录结构

生成商品表的json文件

生成订单表的json文件

将生成的相关json文件拷贝到swagger-ui的json目录下:

将添加的json文件在dist目录下的index.html文件中添加信息

 <div id="cgpj">所有项目:<select onchange="change(this.value)" id="pj"><option value="http://127.0.0.1:500/json/swagger.json">测试文件</option><option value="http://127.0.0.1:500/json/goods.json">商品信息</option><option value="http://127.0.0.1:500/json/order.json">订单信息</option></select></div>

查看效果

  这样话我们就可以很快的生成系统的相关API接口文档、方便前后端程序员的开发。特殊的接口我们只需要在此基础上修改即可。

------->> 你学会了吗?

1-2 云商城架构设计相关推荐

  1. 基于微服务和Docker容器技术的PaaS云平台架构设计

    本文讲的是基于微服务和Docker容器技术的PaaS云平台架构设计[编者的话]在系统架构上,PaaS云平台主要分为微服务架构.Docker容器技术.DveOps三部分,这篇文章重点介绍微服务架构的实施 ...

  2. 云盘数据库设计mysql_一份最实用的云数据库架构设计与实践指南(内含PPT)

    原标题:一份最实用的云数据库架构设计与实践指南(内含PPT) Tips:点击文末[阅读原文]或登陆云盘:http://pan.baidu.com/s/1bo9Ni7l 即可下载5月21日DBAplus ...

  3. mysql云架构设计_MySQL云数据库架构设计实践 洪斌@爱可生

    1. 8 MySQL云数据库架构设计实践 1 0 2 C C T D 洪斌 2. 关于我 洪斌 南区负责人 2010年加入爱可生至今 0 2 C C T D 8 1 上海爱可生致力于为行业客户提供开源 ...

  4. 基于Docker的CaaS容器云平台架构设计及市场分析

    基于Docker的CaaS容器云平台架构设计及市场分析 1 项目背景-概述: "在移动互联网时代,企业需要寻找新的软件交付流程和IT架构,从而实现架构平台化,交付持续化,业务服务化. 容器将 ...

  5. 阿里云 FaaS 架构设计与创新实践

    作者 | 朱鹏,阿里云 Serverless 技术专家 基于 ECS 的 FaaS 在阿里云传统架构,用户通过互联网进入到负载均衡系统中,再通过负载均衡把系统的请求调度到不同的机器上去.这种传统的架构 ...

  6. re.containerbase.startinternal 子容器启动失败_微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计(微服务架构实施原理)...

    走过路过不要错过 点击蓝字关注我们 基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发.部署.运维管理.持续开发持续集成的流程.平台提供基础设施.中间件 ...

  7. 基于微服务和Docker的PaaS云平台架构设计

    基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发.部署.运维管理.持续开发持续集成的流程.平台提供基础设施.中间件.数据服务.云服务器等资源,开发人员 ...

  8. 架构思维成长系列教程(十二)- 云平台架构设计

    背景 云平台是个非常宽泛的领域,一般分成:IaaS 基础设施即服务.PaaS 平台即服务.SaaS 软件即服务,本文侧重介绍企业私有云平台架构. 内容 云平台技术架构 云平台技术架构 如图所示,这是一 ...

  9. 一面数据: Hadoop 迁移云上架构设计与实践

    背景 一面数据创立于 2014 年,是一家领先的数据智能解决方案提供商,通过解读来自电商平台和社交媒体渠道的海量数据,提供实时.全面的数据洞察.长期服务全球快消巨头(宝洁.联合利华.玛氏等),获得行业 ...

最新文章

  1. 这篇 ReentrantLock 看不懂,加我我给你发红包
  2. 【转】几种页面重定向代码总结
  3. 【leetcode】394. Decode String
  4. php文件上传的经验分享
  5. Git record
  6. Effective Java之消除受检警告(二十四)
  7. ssh(Spring+Spring mvc+hibernate)——EmpServiceImpl.java
  8. python切割图像,使用Python图像库将一个图像切割成多个图像
  9. idea的maven project消失解决方案
  10. 小程序中input标签没有反应_鸢尾花预测:如何创建机器学习Web应用程序?
  11. post发送byte数组_KAFKA消息发送
  12. python延时队列_如何通过Python实现RabbitMQ延迟队列
  13. java8 循环jsonarray_JSONArray 遍历方式
  14. 《现代体系结构上的UNIX系统:内核程序员的对称多处理和缓存技术(修订版)》——2.3 直接映射高速缓存...
  15. 用WinZip Pro创建Zip文件
  16. 小米智能插座接入HomeKit
  17. 网易mysql微专业_网易MySQL数据库工程师微专业学习笔记(一)
  18. Bochs源码分析 - 28:bochs开启x2apic与SMP编译说明
  19. python版钉钉回调
  20. GitGitHub 笔记

热门文章

  1. 获取指定年月的天数(PHP代码函数)
  2. appcode创建CodeSnippets像xcode那样的自定义代码片段和导出方法
  3. α波与睡眠梭形波的判读
  4. C++ stoi 介绍
  5. stm32定时器定时中断
  6. 【十种常见排序算法】
  7. Linux系统和C语言简介
  8. 头文件中自定义PCL点云数据类型并在项目中使用
  9. php 打印数组 还原,PHP 重新格式化var_dump/print_r打印的数组
  10. 2022茶艺师(中级)上岗证题库及模拟考试