微服务架构案例(01):项目技术选型简介,架构图解说明

一、单体架构

单体架构在中等偏小的业务中比较常见,场景模式就是单个应用、单个数据库。一个程序包(例如war格式或者Jar格式)包含所有业务需求功能,这是一种比较传统的架构风格。

单体架构的缺陷

  1. 复杂性高,整个项目包含的模块多,依赖模糊,修改程序容易触发不可知问题。
  2. 扩展能力受限,单体应用只能整体进行扩展,无法针对业务模块的特性进行伸缩。
  3. 稳定性差,任何微小的问题,都可能导致整个应用服务直接挂掉。

二、微服务架构

微服务架构是一种架构概念,核心思想在于通过将业务功能和需求分解到各个不同的服务中进行管理,实现对业务整体解耦。围绕业务模式创建应用服务,应用服务可独立地进行开发、迭代、部署。使项目的架构更加清晰明确。

微服务优劣势

  1. 单个服务对应单个业务功能,方便理解,开发,维护;
  2. 服务独立部署,可以根据每个服务的请求量来部署满足需求的规模;
  3. 数据库,服务,架构,业务拆分等难度增大,对技术能力要求较高;

三、项目简介

微服务架构案例核心内容,基于SpringCloud框架几个核心组件,Eureka服务注册与发现组件,Feign声明式的WebService客户端组件,Zuul动态路由网关组件。进行多个数据管理,多个服务管理搭建,多个中间件集成,多业务拆分等模式,搭建SpringCloud微服务框架的综合应用案例。

核心模块

  1. 业务拆分架构设计
  2. 多个中间件服务集成
  3. 微服务下代码分块管理
  4. 多个MySQL数据源管理

四、技术选型

1、核心框架组件

1. 基础层框架:Spring5+,SpringBoot2+,SpringCloud2+
2. 持久层框架:mybatis,mybatis-plus
3. 开发组件:Druid,Log4j,FastJson,JodaTime,JavaMail
4. 中间件集成:RocketMQ,Redis,Quart,ElasticSearch
5. 数据存储:MySQL、Redis、ElasticSearch

2、代码分层结构

01_1

五、项目架构

1、架构图解

01_2

2、架构说明

  • 客户端接口服务
1. 用户端服务接口;
2. 管理端服务接口;
3. 数据入库服务接口;
4. 数据分析服务接口
  • 通用服务接口
1. RocketMQ消息队列服务 ;
2. ElasticSearch搜索引擎服务 ;
3. Quart定时器服务 ;
4. Redis缓存服务 ;
5. 基础业务:Token认证服务 ;
6. 基础业务:MsgBox消息中心服务 ;
  • 微服务组件
1. 路由网关:Zuul组件;
2. 服务注册与发现:Eureka组件;
3. 服务间调用组件:Feign组件;
  • 数据存储容器
MySQL、Redis、ElasticSearch

这样,本节案例就结束了。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/722479

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。