微应用是什么_微服务是什么

6bc5f2a02f6c2479e4bf7ddaebb4f34f.png

dcdb0e7b958d29879031a8ba6d4f80d2.png

你考虑过吗?什么是微服务,为什么越来越多的企业,为了使自己构建的应用满足客户的期望,而和微服务架构进行整合呢?

微服务,又叫微服务架构,是一种软件架构方式。它将应用构建成一系列按业务领域划分模块的、小的自治服务。

在微服务架构中,每个服务都是自我包含的,并且实现了单一的业务功能。

10cfd5838a386d8cdfdf289140c391d5.png

简单来说,就是将一个系统按业务划分成多个子系统,每个子系统都是完整的,可独立运行的,子系统间的交互可通过HTTP协议进行通信(也可以采用消息队列来通信,如RoocketMQ,Kafaka等)。

所以,不同子系统可以使用不同的编程语言实现,使用不同的存储技术。但是,因为子系统服务数量越多,管理起来越复杂,因此需要采用集中化管理,例如Eureka,Zookeeper等都是比较常见的服务集中化管理框架;同时,使用自动化部署(如Jenkins)减少人为控制,降低出错概率,提高效率。

09a88932dd2b9b5573fd8a8b6de2153e.png

场景--购物车应用

传统的一体化架构实现:所有的功能都被放到了一个代码库中,业务都开展在一个基础性的数据库之下,功能包含:品牌管理,商品管理,接收付款、客户服务等。当需要添加新品牌的详细信息时(新增了有别于旧品牌设置的结构),此时开发者不仅需要为这个服务添加新的标签而修改代码,而且还要重构整个系统并进行部署。

与之相反的是,微服务架构可以帮助开发者克服使用旧架构时所面临的挑战,并且使得这个购物车应用可以很容易地被构建、部署和扩展。因为它为搜索、推荐、品牌管理、商品管理、客户服务等业务分别创建不同的微服务,当需求来临时,它只需修改并更新对应的微服务即可。

26cf0e084a2297471e5bb106276ee7d6.png

微服务的特点

● 解耦:同一系统内的服务大部分可以被解耦。因此应用,作为一个整体,可以轻易地被构建、修改和扩展。

● 组件化:微服务可以被看成相互独立的组件,这些组件可以被轻易地替换和升级。

● 业务能力:微服务很小,它们可以专注于某种单一的能力

● 自治:开发者和团队可以独立地工作,提高开发速度。

● 持续交付:允许持续发布软件新版本,通过系统化的自动手段来创建、测试和批准新版本。

● 职责明确:微服务不把应用看成一个又一个的项目。相反,它们把应用当成了自己需要负责的项目。

● 去中心化管理:关注于使用正确的工具来完成正确的工作。这也就是说,没有标准化的方式或者技术模式。开发者们有权选择最好的工具来解决问题。

● 敏捷性:微服务支持敏捷开发。任何新功能都可以被快速开发或丢弃。

b83075adfc3928ca5e35abc55f481df7.png

微服务的优势

● 独立开发:基于各个微服务所独有的功能,它们可以被轻易开发出来。

● 独立部署:基于它们所提供的服务,它们可以被独立地部署到应用中。

● 错误隔离:即便其中某个服务发生了故障,整个系统还可以继续工作。

● 混合技术栈:可以使用不同的语言和技术来为同一个应用构建不同的服务。

● 按粒度扩展:可以根据需求扩展某一个组件,不需要将所有组件全部扩展。

2072e3d743062ed1ddabf4894c369808.png

通过上面的内容我们了解到微服务的特点与优势,以致于越来越多的企业来使用微服务。

那么,下一节特别先生将带领大家认识微服务架构--SpringCloud,我是特别先生,微信关注--特别先生讲Java,每天都有Java干货分享,不迷路。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值