电商平台微服务体系架构

经过一系列的微服务设计, 下面使用一张维导图完整表示这个电商平台的微服务架构设计模型,如图 3-6 示。

这是一个为简单的电商平台微服务架构设计模型,并且使用了粗粒度的微服务划分方法划分微服务,但是这已经可以划分出二十几个微服务了,如果再结合使用多副本的方式进行部署,那么一个电商平台至少要运行四十几个微服务。

电商平台微服务项目工程

从3.6 节的设计模型中,可以组建出如表 3-1 所示的电商平台的各个微服务工程。

经过工程的组建,电商平台的二十几个微服务,就可以分布在十儿个项目工程之中 。其中,除最后几个微服务项目工程的模块结构略有不同外(即商家管理微服务项目、平台管理微服务项目和商城微服务项目),其他大部分项目工程的模块结构基本相同。

微服务项目数据库选型

每个微服务项目都可以有各自独立的数据库,因此,每个项目工程都可以根据自身的业务特点选择合适的数据库。

其中,在浏览记录微服务项目中,是对用户浏览商品的足迹进行记录,因而它的数据量会比较大,所以使用 NoSQL 数据库 比如 MongoDB )会比较合适。订单微服务项目同样适合使用MongoDB 。其他微服务项目的数据库,基本都可以使用 MySQL。

在生产环境的安装和部署中,我们还将进行高可用和高性能的数据库集群设计。例如,对于MySQL来说,通过使用主从设计、读写分离设计等方法,可以构建成一个可以持续扩容的数据库集群架构。有关这方面的实现细节,将在后续的相关章节中进行介绍。其实不管数据库如何设计,它对于微服务的调用来说都是完全透明的,所以我们在项目工程中进行开发时,并不用花心思去理会数据库管理系统中的复杂的设计。

电商平台微服务项目代码库

限于篇幅,本文不能提供整个电商平台所有微服务项目的开发实例,但为了便于说明和演示,将会提供如表 3-2 所示的几个微服务项目工程的实例。这些实例工程包括电商平台中的类目管理、商品管理、订单管理、商家管理、平台管理和移动商城等方面的业务功能,涵盖了本文提倡的微服务架构设计方法及一些先进技术的使用。通过对这些实例的演练,相信读者可以熟练地使用微服务架构的设计和开发方法。完成其他一些项目工程的创建和开发。

小结

本章使用微服务架构设计的方法,构建了一个大型的电商服务应用平台。这个平台大体上由提供接口服务的 RESTAPI 微服务和提供人机交互操作界面的 WebUI 微服务两部分组成,并在此基础上,构建了商家管理后台、运营商管理后台和移动商城前台。

在后续章节中,我们将详细介绍各个实例项目的开发方法,以及相关微服务应用的使用演示。

本文给大家讲解的内容是大型电商平台设计实例:电商平台微服务体系架构、电商平台微服务项目工程、项目数据库选型、项目代码库

  1. 下篇文章给大家讲解的是SpringCloud微服务架构实战:开发环境的准备;
  2. 觉得文章不错的朋友可以转发此文关注小编;
  3. 感谢大家的支持!

css网页设计实例代码_大型电商平台设计实例:电商平台项目工程、数据库选型、代码库...相关推荐

  1. 网页设计代码_盘点2020年网站设计工具让设计师插上翅膀

    一直以来网页设计和前端是2个职位,设计负责制作效果图,而前端负责将效果图转化为html代码.因为设计理念的差距,前端工程师往往并不能完全表达设计的意图,因此,如何让设计师设计的效果图和最后呈现出来的网 ...

  2. 领域驱动设计之领域模型_在领域驱动的设计,贫乏的领域模型,代码生成,依赖项注入等方面……...

    领域驱动设计之领域模型 埃里克·埃文斯(Eric Evans)已制定了域驱动设计(DDD). Martin Fowler是DDD的大力支持者和拥护者. 这些都是非凡的名字,几乎可以肯定的是,他们正在支 ...

  3. 系统怎么设计usb启动_在启动中启动设计系统

    系统怎么设计usb启动 重点 (Top highlight) Design systems are all the rage now and you've probably seen this ter ...

  4. 优秀的java代码_像这样写,Java菜鸟也能写出牛逼的代码

    场景一 有时候我们会遇到一个方法就是占满了整个屏幕,其中各种if else 判断 ,for 循环嵌套,时不时来穿插着各种a b c参数,让人看得实在是眼花缭乱.让后面维护的人望而却步,也实在的代码块后 ...

  5. UML设计java程序_利用UML序列图设计Java应用程序详解

    [IT168 技术文章] Java应用程序由许多类所构成,是Java实现面向对象应用程序的核心.类图主要描述Java应用程序中各种类之间的相互静态关系,如类的继承.抽象.接口以及各种关联.要利用UML ...

  6. 一次完整的嵌入式开发课程设计经历(附:项目工程及关键代码)

    终于结束了一个星期的嵌入式课程设计(其实也就五天时间),简单说一下这个培训的过程吧.首先介绍了一下Linux的基础知识吧(反正后来也没用上),包括怎么在虚拟机中操作文件以及一些基础的操作命令,然后介绍 ...

  7. 手机关机代码_华为手机电池不耐用?只需在拨号键中输入一串代码,续航能力暴涨...

    不知道你有没有发现到华为手机因为长时间用久后,手机的电池容量就会下跌的比别人快,这到底是什么原因呢?或手机明明还有30%的电量却自动关机了,如果你也发生过这种情况,首先不用急着去换手机电池,考虑到是手 ...

  8. 电子产品设计emc风险评估_书籍介绍:EMC设计方法与风险评估技术

    <EMC设计方法与风险评估技术>预计于2020年3月由电子工业出版社出版.它是一本全面解读EMC风险评估技术的书籍. 前言与介绍: 本书是基于作者2008年出版的<电子产品EMC设计 ...

  9. 冒泡排序代码_凡人能看懂的冒泡排序和快速排序(附动态图和代码详解))

    这是第一篇公众号文章,所以内容打算写的浅简一点. 这篇文章将主要介绍两种非常普遍的排序方式:冒泡排序和快速排序.内容包括两种排序的原理,代码剖析,以及时间复杂度分析. 因为注意到很多快排的文章在介绍完 ...

最新文章

  1. poj 3723 Conscription (并查集)
  2. Linux (七) 网络
  3. web.xml中的那些标签和意义
  4. 伯克利计算机科学录取率,Berkeley的CS「加州大学伯克利分校计算机科学系」
  5. 微型计算机文献,微型计算机控制系统期刊文章参考文献 哪里有微型计算机控制系统参考文献...
  6. 淘宝自动发货申请资格
  7. vue radio双向绑定_Vue 双向绑定
  8. C语言经典贪心算法之加油站问题(详解)
  9. 20190915:(leetcode习题)对称二叉树
  10. js去掉所有html标记
  11. 【ubuntu操作系统入门】Ubuntu常用命令大全二
  12. 012-JDK可视化监控工具-jstack
  13. 深度学习计算机视觉的简介_商业用途计算机视觉简介
  14. 几种流行Webservice框架性能对比 .
  15. android 调用音乐播放器,android调用音乐播放器,三种方
  16. 女生学UI合适吗?橙色优学告诉你女生UI设计优势
  17. 【亚伦博客】《蝙蝠侠前传2:黑暗骑士》里发生了什么
  18. 如何写好测试用例的标题
  19. 人工势场算法 Matlab版源码
  20. IBM x3750 M4安装ESXi5.5

热门文章

  1. python中怎么把值添加进列表_在Python中为子列表添加值
  2. 华为旗舰陆续升级鸿蒙系统,华为鸿蒙重磅来袭:今年4月起 华为旗舰手机将陆续升级鸿蒙系统!...
  3. 我是非计算机专业学生,非计算机专业学生怎么走上计算机技术之路?
  4. html转chm后脚本错误,win10系统打开chm资料弹出窗口提示脚本出现错误的恢复办法...
  5. 分布式 WebSocket 集群解决方案
  6. 真相!没项目经验高薪就无望?
  7. matlab stract结构_MATLAB 的基础知识
  8. matlab错误103 577,小编为你作答win7系统安装MATLAB出现 license manager error 103错误的还原教程...
  9. PyTorch中AdaptiveAvgPool函数总结
  10. python调用c++总结