微服务简介

通常介绍一个知识点,应该是从【是什么】→【为什么】→【怎么用】这三点,递进式说明。

今天咱们先从【为什么】开始说,为的是让大家能更生动形象的理解微服务的概念。


进入正题,我们先举个生活中的例子。

为什么要用微服务

传统单体项目

业务逻辑都是混在一个项目中。

【如左图的老王小吃】

点菜做饭收钱 全部由一个人一条龙服务。

生意做大点,雇个人,被雇佣的员工也是要负责点菜做饭收钱

好处是:成本低。

弊端是:

1.同时来了几位客人,给第一个点完菜,还不能马上去做饭,需要给第二位客人点菜。。。然后再逐一做。。。客人等待时间较长

2.万一有点儿事,餐馆就不能正常营业了。

微服务项目

按照业务/功能拆分为多个小服务。每个小服务只负责一块业务。

这些服务间进行协作,完成整个系统功能。

【如右图的大餐厅】

服务员负责点菜,厨师负责做饭,收银员负责结账。

服务员,厨师,收银员 可以看成3个微服务。这3个微服务一起协作,完成整个流程。

好处是,

1.彼此之间各司其职。哪类员工不够就单招哪类员工。(增加某个微服务部署的数量)

如果服务员中有一个请假,最多其他服务员忙一点,分担一下服务员工作。不会影响到厨师和收银。

2.客人多了,服务员给第一位客人点完菜,交给厨师去做饭,服务员就可以去为第二位客人点餐了。

客人等候时间短。

弊端:成本高。


接下来,我们回到开发中,用术语来给微服务下个定义。

微服务是什么

我的理解

把传统的单体项目,按照功能业务划分为多个小的服务,每个服务都是独立运行的单体项目。

项目间利用HTTP API进行通信。协作完成整套业务逻辑。

各个服务可以采用不同的开发语言及数据库实现。服务间是松耦合的。

各教育平台的解说

  • 把一个单独的应用程序开发为一套小服务

  • 每个小服务独立运行在自己的进程中。

  • 服务间使用轻量级机制(HTTP API)通信

  • 这些服务围绕业务能力来构建

  • 通过完全自动化部署机制来独立部署。

  • 各个服务可以使用不同的编程语言,不同的数据库来实现。

  • 保持最低限度的集中式管理。——松耦合

补充:易混淆概念——微服务是架构设计方式,分布式是系统部署方式。集群则是物理形态。微服务是在 SOA 上做的升华。

怎么用

身为一个Java开发者,目前比较主流的是用SpringCloud实现微服务框架。

SpringCloud提供了一套微服务解决方案(很多微服务相关组件,后期逐一学习),

大大降低了创建微服务项目的门槛。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值