SpringCloud基础内容学习

103 阅读2分钟

前言

近几年随着各大互联网厂商的崛起,用户量的持续增加,单体服务面临的压力越来越大,并且如果服务挂了,整个系统将不可用,所以微服务架构的优势越来越明显。比如一个传统的电商系统,如果使用微服务的方式部署的话,从业务角度可以拆分为如下几个服务:订单,商品,物流、购物车、支付、库存以及营销。微服务就是将一个完整的系统拆分为多个小服务,每个小服务拥有独立的进程、独立的存储,各个小服务通过http或者其他通信方式来通讯。这种情况下如果,物流服务挂了,是不影响商品浏览和订单支付的。

SpringCloud是什么?

通过上面的阐述大概可以了解微服务是什么意思了。微服务的概念我理解下来是比较泛的,任何一个系统如果是由多个小服务共同构成,我认为就可以认为是一种微服务架构了,比如SOA架构,我理解它也是一种微服务。然而现在好多资料上都认为只有使用了springCloud的系统才算作是微服务。说到底,springCluod其实只是微服务的一种实现工具,类似的工具还可以是dubbo,或者自定义的框架。比如我所在的公司,就没有使用springCloud和dubbo但是也实现了微服务架构。 SpringCloud提供了如下几个功能: 1、服务发现: zk、Eureka、consule
2、软负载均衡: nginx或者ribbion
3、服务网关: zuul和spring-cloud-gateway
4、服务调用工具:Feingn
5、还有类似服务熔断之类的工具

一个简单的SpringCloud工程模块示例:

image.png

总结

springCloud的优点:
1、Spring Cloud 是基于 Spring封装的,质量、稳定性、持续性都可以得到保证。
2、spirng Cloud 子服务一般使用Spring Boot,更加便于业务落地。
3、Spring Cloud 是 Java 领域最适合做微服务的框架。相比于其它框架,Spring Cloud 对微服务周边环境的支持力度最大。对于中小企业来讲,使用门槛较低。
4、Spring Cloud 是微服务架构的最佳落地方案。
5、与分布式系统相关的复杂性 – 包括网络问题,延迟开销,带宽问题,安全问题。
6、处理服务发现的能力 – 服务发现允许集群中的进程和服务找到彼此并进行通信。
7、解决冗余问题 – 冗余问题经常发生在分布式系统中。
8、负载平衡 – 改进跨多个计算资源(例如计算机集群,网络链接,中央处理单元)的工作负载分布。
9、减少性能问题 – 减少因各种操作开销导致的性能问题。