关于微服务,你必须要知道的几个概念!!!

我们平时总说微服务、微服务、那么究竟什么是微服务呢?微服务跟传统的项目服务有什么区别呢?今天我们来一探究竟。

单体式架构

15200008-9c797c23942c343a.png
单体式架构

先来看看单体式架构:它的概念就是 将项目的代码都合归一处。如果项目很小的时候特别灵活。但是如果项目大起来的话,必然会带来一定的 缺点
1.项目迭代不灵活
2.项目组职责、权限不清
3.项目并发配置不灵活
4.项目部署扩展困难

微服务架构

15200008-4802d77fd604cbdd.png
微服务架构

微服务架构的核心观念就是“拆”,拆什么呢?就是 将项目拆分几个独立的功能单元(服务)的架构
必有其 优点
1.项目复杂度降低
2.团队界限明确
3.部署灵活

具体场景具体应用:

下面来看看什么样的产品用什么架构比较合适:


15200008-a980a857dc4b312c.png
场景

常见的微服务框架

1.Dubbo/Dubbox

由阿里巴巴开发、当当网改良,基于RPC服务

2.Spring Cloud

由Spring团队开发,基于RESTful

微服务架构-服务类型

1.Provider

提供者,提供服务的一方

2.Consumer

消费者,调用服务的一方


15200008-58e9fabe8aacf5b6.png
模块拆分

微服务架构-通信方式

1.RPC

全称:Remote Procedure Call
支持RPC的微服务框架:Dubbo/Dubbox
基于TCP、与平台有关

2.RESTful

全称:Representational State Transfer
支持RPC的微服务框架:Spring Cloud/Dubbox
基于HTTP、与平台无关

微服务架构-设计原则

1.单一职责原则

对一个项目拆分的时候,每一个项目只能包含这一个项目的业务,而不能包含其他项目的业务

2.围绕业务切分

不能随意切分,尽量一个业务拆成一个项目

3.谁创建谁负责

在实际工作中,用到微服务肯定是因为用户量非常大, 技术团队也很多,比如用户模块,是A团队创建的就不能让B团队插手开发和部署的事情。这一块与devops理念很相似。

其他概念

分布式

对于分布式,它更加关注的是项目的拆分,对于一个大项目而言,有ABC三个模块,分布式就是将这个大项目拆分为A项目、B项目、C项目,而除了这种垂直性的拆分,还有可能对每一个子项目进行分层,使得业务更具体。分布式其实就是拆分,分为垂直拆分和分层规划。

集群

集群更加关注的是项目的部署,也是同样的一个项目,当用户量不是很多的时候,部署一个服务器是没问题的,但是当用户量庞大起来的时候,服务器压力顶不住了,我们就可以将这一个项目部署成三个服务器,不管是轮询访问也好,随机访问也好,都将其称之为集群。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值