微服务(一)之初识微服务

     1. 微服务简介

微服务是一个小的、松耦合的分布式服务。微服务允许将一个大型的应用分解为具有严格职责定义的便于管理的组件,使这些组件完全彼此独立。

     2. 为什么需要微服务?

传统应用程序或系统的所有UI(用户接口)、业务、数据库访问逻辑都被打包到一起,放到一整个应用程序中,并往往部署在一个应用服务器上。

而这个应用程序中可能涉及到若干个不同的业务模块,每个业务模块都有团队来进行维护,而各个团队对自己负责的业务模块都有不同的要求和交付需求。随着应用规模和复杂需求的新增,每一个模块的变更最终会导致整个应用程序的重新构建、测试以及部署上线。(打个比方,应用程序95%代码无变化,只更改5%甚至更少),此时就有行业人士开始考虑是否可以将应用程序按照业务拆分为不同的子系统子应用,然后各自独立运行和维护,而子系统之间通过某些方式的通信达到同样的业务目的。就这样,慢慢引出了微服务的概念。

     3. 微服务架构的特征

  • 应用程序逻辑分解为具有明确定义了职责范围的细粒度组件,这些组件互相协调提供解决方案。
  • 每个组件都有自己的职责领域,并且完全独立部署。
  • 微服务通信基于一些基本的原则(约定大于配置),并采用HTTP和JSON这样的轻量级通信协议,在服务消费者和服务提供者之间进行数据交换。
  • 应用程序始终使用技术中立的协议进行通信。(主流为JSON)
  • 微服务利用其小、独立和分布式的性质,使组织拥有明确责任领域的小型开发团队。

     4. Spring在微服务中充当的角色

Spring团队发现,许多开发团队正在从将应用程序的展现、业务和数据访问逻辑打包在一起并部署为单个制品的单体应用程序模型中迁移,正转向高度分布式的模型,服务能够被构建成可以轻松部署到云端的小型分布式服务。为此,Spring团队开发了Spring Boot和Spring Cloud。

Spring Boot提供了一个基于Java的、面向REST的微服务框架。只需一些简单的注解,Java开发者就能够快速构建一个可打包和部署的REST微服务。

Spring Cloud框架使实施和部署微服务到私有云或公有云变得更加简单。Spring Cloud在一个公共框架之下封装了多个流行的云管理微服务框架,并且让这些技术的使用和部署像为代码添加注解一样简便。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值