目标:
- 掌握微服务架构的相关概念
- 掌握微服务架构设计原则
行业分类:
传统软件行业:面向企业开发应用软件,软件的最终使用者为企业内部员工。
互联网软件行业:面向广大互联网市场开发软件,软件的最终使用者为互联网的所有用户。
两种分类的对比:
| 比较项 | 传统软件行业 | 互联网软件行业 |
| 面向用户 | 企业内部用户 | 互联网线上用户 |
| 用户量 | 小 | 庞大 |
| 并发考虑 | 少/几乎不用考虑 | 必须考虑 |
| 项目代码量 | 少 | 多 |
| 数据量 | 小 | 海量数据 |
| 架构方式 | 单体式架构 | 分布式微服务架构 |
| 开发团队 | 单个团队 | 多个团队 |
| 部署 | 单个服务器 | 集群服务器 |
| 运维复杂度 | 低 | 高 |
架构分类:
软件架构分类
图示:
相关概念
- Provider和Consumer
- RPC
- 分布式
- 集群
1.是分布式与集群用一张图示意:

概念:
集群:单机处理到达瓶颈的时候,你就把单机复制几份,这样就构成了一个“集群”。集群中每台服务器就叫做这个集群的一个“节点”,所有节点构成了一个集群。每个节点都提供相同的服务,那么这样系统的处理能力就相当于提升了好几倍(有几个节点就相当于提升了这么多倍)。
分布式:将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为“服务”。这些子系统能够独立运行在web容器中,它们之间通过RPC方式通信。
2.RPC
RPC:分布式意味着物理节点的隔离,隔离就需要通信,通信的解决方案之一就是RPC,所以RPC(Remote Procedure Call,远程过程调用)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。
常见架构介绍:
Dubbo/Dubbox:
- http://dubbo.io/
- https://github.com/dangdangdotcom/dubbox
- 区别:Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和Spring框架无缝集成。Dubbox为其升级版,由当当网进行改良。
SpringCloud :
- http://projects.spring.io/spring-cloud/
- SpringCloud是基于SpringBoot基础上构建的,用于快速构建分布式系统的通用模式的工具集。它提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、等组件。
微服务架构设计原则:
- 围绕业务切分
- 单一职责
- 谁创建,谁负责
微服务项目实现步骤:
1. 选择微服务框架:
- Dubbo/Dubbox
- Spring Cloud
2.根据业务拆分项目
3.选择部署策略:Docker虚拟化部署

509

被折叠的 条评论
为什么被折叠?



