微服务的基础理解《一》

最近刚接触微服务的项目,了解了许多微服务的相关服务和概念。当你需要在短时间内吸收很多概念的时候,最好的办法不是拿个本子疯狂在网上查资料以笔记的方式记下来。而是针对每个概念,从这三个角度来思考理解:1、它是什么? 2、适用于什么场景? 3、为什么选择它?每个概念就相当于一个点,在这过程中用一种思维像一根线一样把它们串起来形成一个体系,就能更好地掌握它。

1、微服务

1.1 什么是微服务?

网络上针对微服务有很多不同的定义,而且对于概念的解释网上总是能给出无穷尽的回答,所以需要站在个人的立场上,用自己的语言和思维去整合。

微服务是一种分布式架构风格,与自上而下的传统单体架构不同。它不再执着于系统中每一个模块间的调用与被调用的关系,而是专注于一次只干好一件事情。把庞大笨重的系统功能细分化,每个分出来的业务可以独立部署、运行、测试与发布。是一种松耦合、非常具有独立性和拓展性的架构设计。

借用网上经常描述微服务概念的图:航班预订应用

这里写图片描述

1.2适用于什么场景?

可以这样反问:是什么场景需求促使了微服务大行其道?
有两方面原因。
第一,是传统的IT架构普遍面临的难题:

  • 整体式架构应用开发系统,如CRM、ERP等大型应用,均采取了自顶向下的单体架构设计模式。这当然有许多可取之处,但随着代码量和应用规模的增加,对于功能的增加带来了巨大的开发和维护成本,可拓展性不足。已经满足不了快速更新的需求。
  • 随着移动互联网的发展,以及越来越多的硬件加入移动互联(比如汽车)企业被迫将其应用迁移到现代化UI界面架构以便兼容移动设备,这就需要企业应用能够快速上线

  • 随着应用云化的日益普及(比如京东全力加入CNCF,推广云原生应用计算),生于云端的应用具有与传统IT不同的技术基因和开发运维模式。

第二,其实微服务不是一个新概念,为什么在短时间内获得如此大的影响力?
因为支撑起微服务的相关条件已经慢慢成熟。

  • 轻量级运行时技术栈的出现并普及(Golang,Node.js, WAS Liberty等)
  • 新的轻量级协议(RESTful API接口, 轻量级消息机制)
  • 新的方法与工具(Agile, DevOps, TDD, CI, XP, Puppet, Chef…)
  • 简化的基础设施(应用容器化技术Docker)

所以可以一句话概括微服务使用的场景:数据量、用户数目、使用频率、更新频率都比较大的场景。

1.3为什么选择它?

很简单。因为传统的架构设计已经很难满足快速变化的需求。

最后:

微服务涉及很多技术以及概念。会在以后的篇幅中详细写出。因为我本人也是刚踏入微服务大门,正在努力赶上团队大神们的步伐。有说的不对的地方,也请各位大神拍砖指导。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值