SpringCloud初级学习(一)------SpringCloud简介

前言

随着IT行业的不断发展,我们从原来的单一应用,慢慢发展到了现在的SOA分布式应用架构,近几年,微服务的概念更是一度走红,越来越多的公司开始使用微服务技术栈来部署自己的应用,因此,了解微服务相关的技术栈,是提高我们自身价值的不二之选.在这个系列的博文中,我们将对SpringCloud微服务技术栈做一个初步的学习,了解一些初步的使用和原理.

正文

1. 什么是微服务?

所谓微服务,就是将传统的一站式应用,根据业务或者其他的方式拆分成一个一个的服务,彻底地去解构,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看,就是一种小而独立的处理过程,有点类似于进程的概念,能够自行单独启动或销毁,拥有自己独立的数据库.

微服务强调的是服务的大小,它关注的是一个点,是具体解决某个问题,并对其提供落地实现的一个服务应用.

比如说一个电商应用,在之前的架构中,我们是订单,用户,库存,物流等模块组合在一起,在一个工程中相互交互的;而在微服务中,将订单,用户等功能拆分,一个模块就是一个工程应用,同时对外部提供服务,这样就不必在改动了一处以后,全部逻辑都要影响.

2. 微服务技术栈有哪些?

目前主要的微服务技术栈有以下几种:

服务功能 落地技术
服务开发 SpringBoot、Spring、SpringMVC
服务配置与管理 Netflix公司的Archaius、阿里的Diamond
服务注册与发现 Eureka、Zookeeper、Consul
服务调用 Rest、RPC、gRPC
服务熔断器 Hystrix、Envoy
负载均衡 Ribbon、Nginx
服务接口调用 Feign等
消息队列 Kafka、RabbitMQ、ActiveMQ等
服务配置中心 SpringCloudConfig、Chef等
服务路由 Zuul等
服务监控 Zabbix、Nagios、Metrics、Spectator
全链路追踪 Zipkin、Brave、Dapper
服务部署 Docker、OpenStack、Kubernetes等
数据流操作开发 SpringCloud Stream
事件消息总线 Spring Cloud Bus

3. SpringCloud是什么?

关于SpringCloud的定义,官方的解释里面已经很清楚了,简而言之,SpringCloud只是将各家公司开发比较成熟,经得起实际考验的服务框架组合起来,通过SpringBoot风格再封装屏蔽掉了复杂的配置和实现原理,最终形成的一套简单易懂、易于维护的分布式开发工具包.

4. SpringCloud和SpringBoot的关系

SpringBoot专注于快速方便的开发个体微服务.

SpringCloud是关注全局的微服务协调整理框架,它将SpringBoot开发的一个个单体微服务整合起来统一管理.

SpringBoot可以离开SpringCloud独立使用开发项目,SpringCloud离不开SpringBoot.

5. SpringCloud与Dubbo

目前的市面上,除了使用SpringCloud技术栈部署的分布式架构以外,Dubbo系列的分布式部署也是比较火的.这两者之间的区别如下:

SpringCloud初级学习(一)------SpringCloud简介

可以看到,两者最大的区别是:SpringCloud抛弃了Dubbo的RPC通信,采用的是基于HTTP的REST方式.

Dubbo的定位是一款RPC框架,而SpringCloud的目标是微服务架构下的一站式解决方案.

总结

对于SpringCloud的简介就说到这里,了解了SpringCloud是什么以后,我们就能对他的角色有所了解,在开发中也能帮助我们理解相关技术栈的实现目的.在下一篇博文中我们将通过简单的项目来一步一步的了解SpringCloud的每一个技术的使用

相关文章:

  • 2021-08-12
  • 2021-10-24
  • 2022-12-23
  • 2021-07-23
  • 2021-10-03
  • 2021-10-29
  • 2021-11-23
  • 2021-05-05
猜你喜欢
  • 2021-04-16
  • 2021-07-13
  • 2021-12-09
  • 2021-09-22
  • 2022-01-14
  • 2021-07-27
  • 2021-12-03
相关资源
相似解决方案