【微服务架构设计实施】第一部分:架构篇-1:微服务架构与Spring Cloud介绍

〇、概述

一、微服务架构与Spring Cloud

(一)概念

不同说法:细粒度的、清凉组件化的小型SOA(面向服务架构)

统一说法:小型应用程序(服务组件),使用轻量级设计方法和HTTP协议通信

理想说法:可以不同语言编写,完全独立自治

(二)定义

广义:复杂系统组件化拆分,轻量通信方式整合,得到拆分的独立组件化小应用

组件:代码&函数式调用

微服务组件:应用&HTTP通信提供接口服务

精髓:分而治之(复杂系统拆分)、合而用之(轻量方式整合【多实例、多服务、多副本整合,分布式资源和低廉机器组成强大服务系统】)

HTTP通信:通过服务注册与发现,使用服务实例名调用【通过负载均衡器从服务注册列表选用可用的服务实例,再通过实例注册的ip+端口路由到相关的服务】,而非ip+端口【优点:基于api的微服务,可以在任意主机发布,随时更改主机端口,发布任意个副本】

特点:小型化(每个组件变小&专注)、自治化(解耦&服务迭代降低影响)、扁平化(有序可控、杂而不乱、发挥更大优势)、轻量级设计(api同步通信-REST协议、消息异步通信-轻量消息总线)、渐进式设计(业务驱动、快速迭代 不断调整、使产品趋于成熟)

(三)微服务架构与整体式架构的区别

整体式架构:笨重、难以更新(牵一发动全身)、稳定性欠缺(整个崩溃)、不方便持续开发(难以适应需求变更、快速迭代敏捷开发,成为业务发展绊脚石)

微服务架构:复杂事情简单化、快速更新迭代、高可用(并发、高流量访问、规模化发展)

结构图:整体式六边形(不同适配器)

微服务架构

参考:https://www.sohu.com/a/439667700_715776

(四)微服务架构与SOA的比较

SOA:粗粒度&松耦合的面向服务架构设计方法,使用企业服务总线ESB构建信息系统【工具:Dubbo/Dubbox】

SOA本质:业务访问基础服务

区别:微服务轻量级(HTTP协议,通过restful实现),SOA重量级(复杂协议,如WebService)

微服务优势:高可用、伸缩性、负载均衡、故障转移,通过微服务治理(三维结构),提供无限可扩展空间

(五)为什么要使用微服务架构

开发简单

快速响应需求变化

随时随地更新

系统稳定可靠

规模持续扩展

(六)为实施微服务架构做好准备

观念转换:做项目改为做产品(不断迭代),构建生态体系

团队管理方式转变:围绕业务功能分配

自动化基础设施建设:CICD+docker实施交付

(七)为什么使用Spring Cloud

Netflix OSS开源组件

Spring Cloud开发套件:

阿里巴巴实现了标准,并整合多个组件

左边是Spring Cloud自己写了接口和实现类

右边是各个厂商写的实现类(实现Spring Cloud的标准)

(八)Spring Cloud组件说明

(九)Spring Cloud的版本说明

二、微服务架构最佳设计

(一)合理划分微服务

(二)微服务治理

(三)Rest API微服务设计

(四)Web UI微服务设计

(五)微服务之间调用规则设计

(六)数据最终一致性设计

(七)分布式集群架构设计

(八)微服务运行环境安全设计

三、电商平台微服务设计实例

(一)电商平台总体设计

(二)电商平台业务模型设计

(三)创建Rest API微服务

(四)创建Web UI微服务

(五)电商平台微服务体系结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值