微服务架构?干掉干掉!

1.什么是架构?

架构(Architecture)一词来源于建筑领域,其本身就是建筑的意思,也有体系结构的意思。

也有解释称:规划,设计和建造建筑物的过程的产物。

(个人理解:架构是一种设计理念,相当于为创建制定方向)

  1. 架构有哪些概念?

想要了解架构,就得了解结构由哪些相关的概念!!!

  1. 模式(Pattern)

提到模式我们大家第一想法可能是基于面向对象的23种基本设计模式,那么什么是模式?为什么用到模式?模式是一种对普遍问题的普遍解决方案,把一类问题的共性所提取,来用同样的方法来解决这个问题。

  1. 类库(Library)

什么是类库?对于这个概念,我一开始也不太明白,翻阅资料之后,我的理解是可复用功能,和可复用工具的集合,比如我们的maven仓库里面的jar包。

  1. 框架(Framework)

提到框架,我觉得对每一个开发者来说都使用过,在前辈的汗水下,所设计出来的框架,为我们后辈所熟知并使用,例如SSM,SSH,JDK。

  1. 模块(Module)

模块还是比较好理解的,就举电商网站来说明吧,电商网站分为很多模块,用户模块,商品模块,管理员模块等等,模块是业务或系统按照特定维度的一种切分,也可以看作各种功能按照某种分类聚合的一种形式。

  1. 组件(Component)

提到组件的话我觉得可能有过Vue使用经验的人很能理解,组件是一组可以复用的业务功能的集合,包含一些对象和其行为,比如日志组件,权限组件。

  1. 服务(Service)

服务可能在我看来算是最重要的点,从之前的面向服务编程,到现在微服务架构,都和服务离不开关系,那么服务究竟是什么?我觉得,服务是一种对外提供业务处理能力的功能,服务需要使用明确的接口方式。

  1. 平台(Platform)

平台这个概念就是所有可能做的事的集合。

微服务的九个目标

高性能

高性能保证系统必须满足预期的性能目标,在并发用户数,并发事务数,吞吐量和延迟等指标方面达到预估值,支撑目标人群的正常使用。

可靠性

可靠性主要体现在业务数据和流程一致性上,必须可靠!!!

稳定性

软件系统必须保证在用户的使用周期内长期稳定运行,需要有一定的容错能力。

可用性

关于可用性,我觉得非常中要,高可用是当前非常火的一个概念,简单来讲,有点像MySQL里面的主从复制,但两者之间的差别特别大,有用过Docker的里面有个哨兵模式,两者结合一下,我觉得就是高可用,也就是说高可用是指在制定时间内提供服务能力的概率值。(后期我会出一个专题讲高可用,以及分布式组件上的高可用)

安全性

用户的业务数据是很重要的,这就保证我们要做到保障其安全,这也是一个重要目标。

灵活性

软件系统应该具备不同特点的用户群和目标市场的能力。

易用性

软件系统必须拥有较好的用户体验,方便用户使用。

可扩展性

业务和技术都在不断发展变化,软件系统需要随时根据变化来做到动态扩展。

可维护性

软件系统的维护包括修复现有的错误,以及将新的需求和改进添加到已有系统。

(本人参考文献:高可用可伸缩微服务架构)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值