Spring Cloud:什么是微服务

 系列目录(持续更新。。。)

Spring Cloud:什么是微服务

Spring Cloud之一:注册与发现-Eureka工程的创建

Spring Cloud之二:服务提供者注册到Eureka Server

Spring Cloud之三:Eureka Server添加认证

Spring Cloud 之四:使用Feign实现微服务间的交互

Spring Cloud 之五:Feign使用Hystrix


目录 

什么是微服务

为什么要使用微服务

Spring Cloud是什么


本文只是帮助新手朋友更好的理解微服务,仅此而已!

什么是微服务

        什么是微服务呢?我不会使用太多的专业术语来阐述这个概念,以下纯属本人拙见!

        说起微服务,得先从单体应用开始说起。比如,我们开发了一套商城系统,我们把这个商城系统打包成war或jar部署到线上服务器,我们就可以说这个商城系统是一个单体应用!多数项目初期都是从单体应用开始的。

        商城系统里面包括用户模块、订单模块等,这时候我们把商城系统拆分成用户模块和订单模块(实际会拆分成更多的模块,我只是举个栗子。。。),也就是用户模块可以单独打包成一个war或jar包,订单模块也可以单独打包成一个包。这时候我们就可以称用户模块就是一个微服务,订单模块也是一个微服务!

我们可以这样理解:微服务就是从一个大模块中分离出来的一个个小的模块,但也表示我们需要布署更多的应用,以支撑我们的系统功能。

为什么要使用微服务

        那么为什么要使用微服务呢?或者,换句话说:为什么我们宁可部署多个应用,也不愿只部署一个应用呢?

        还是得从单体应用说起,单体应用包括了系统的所有功能,复杂性高,维护难度大,去改个Bug,可能产生新bug的几率非常高。而经过功能划分后的微服务(用户模块、订单模块)功能单一、代码量小,从而大大减少系统的开发难度,提高了系统的可维护性,并且微服务可以各自独立,各自有自己的技术栈(比如用户模块我可以使用MySql数据库,订单模块可以使用Oracle数据库)。

Spring Cloud是什么

        尽管微服务方案大大优于单体应用,但是细化成更多的模块就表示我们需要维护和部署更多的应用,运维成本大大提高!并且微服务与微服务之间会有一定的通信,那如何通信?如何处理通信时产生的异常呢?微服务多了,怎么查看各个微服务的状态呢?我怎么知道哪个微服务挂了?

        Spring Cloud就是基于上述问题,应运而生的一套分布式开发框架。它是由众多的组件组成,各个组件都有各自的使命。常用的组件大概如下:

        Eureka: 注册中心, 负责服务的注册和发现

        Ribbon: 负载均衡, 实现服务调用的负载均衡

        Hystrix: 熔断器

        Feign: 远程调用

        Gateway: 网关

        Spring Cloud Config: 配置中心

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值