浅析微服务架构:项目技术选型、架构流程设计

一、单体架构

单体架构在中等偏小的业务中比较常见,场景模式就是单个应用、单个数据库。一个程序包(例如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、代码分层结构

浅析微服务架构:项目技术选型、架构流程设计

五、项目架构

1、架构图解

浅析微服务架构:项目技术选型、架构流程设计

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

版权声明及安全提醒:本文转自网络平台,文章仅代表作者观点,不代表「金融文库」立场。相关版权归原作者所有,「金融文库」仅提供免费交流与学习,相关内容与材料请勿用于商业。我们感谢每一位原创作者的辛苦付出与创作,如本转载内容涉及版权及侵权问题,请及时联系我们客服处理(微信号:JRwenku8),谢谢!

(0)
上一篇 2020年6月11日 下午2:38
下一篇 2020年6月12日 上午9:44

相关推荐

  • 2018阿里云栖大会:智能化日志中心

    2018云栖大会演讲嘉宾PPT材料下载。云栖大会是由阿里巴巴集团主办的全球顶级科技大会,汇聚时代最强大脑,描绘新技术发展趋势和蓝图,展现云计算、大数据、人工智能等蓬勃发展的科技生态全景。云栖大会系列活动已经累计吸引超过十万人现场参与,数千万人在线参与。2018年云栖大会将在深圳、南京、上海、武汉、重庆、杭州、广东、北京等地陆续举办。

    2018年12月12日
  • 普元数据治理白皮书

    普元数据治理白皮书,本专辑包括数据治理、数据质量管理、大数据平台架构等培训与学习资料。

    2020年1月10日
  • 信贷场景下全流程数据风控体系

    信贷场景下全流程数据风控体系,本专题收集26份了金融领域的风控技术实践,包括金融风控、支付风险、智能风控、大数据风控、风控架构。

    2018年2月6日
  • 银行客户标签体系规划

    标签开发动因   一线营销人员缺少客户开发的工具。以往一线客户经理进行客户拓展和产品营销时,常常依赖于现有客户的转介,或者基于一些简单的变量进行筛选(如客户金融资产、客户层级等)。…

    2022年3月29日
  • 《大型分布式网站架构设计与实践》

    《大型分布式网站架构设计与实践》,本专辑包括银行核心系统分布式架构培训分享、实践经验与电子书等相关资料。

    2020年1月16日
  • 标签体系与用户画像

    一、标签体系概览 01 什么是对象 02 什么是标签? 标签是人为设定的、根据业务场景需求,对目标对象运用一定的算法得到的高度精炼的特征标识。 标签是对对象某个维度特征的描述与刻画…

    2023年4月8日