Spring Cloud理论知识点

概述

什么是微服务?

通常而言,微服务架构指的是一种架构模式或者说一种架构风格;它提倡的是将单一应用程序划分成一组小的服务,每个微服务提供单个业务功能,一个服务做一件事。

  • 每个服务独立运行于自己的进程,服务之间互相协调、互相配合;
  • 服务之间采用轻量级的通信机制(通常是HTTP资源的API);
  • 每个服务都围绕具体的业务进行构建,并且能够被独立地部署到生成环境;
  • 每个服务独立管理,可使用不同的语言进行编写服务,也可以采用不同的数据存储方式。

微服务的优缺点

优点
  • 符合高内聚、低耦合的程序设计思想,代码容易聚焦在一个指定的业务功能上;
  • 有利于团队管理、协助,微服务可被2-5人小团队独立开发,独立管理,再进行团队与团队之间的协作;
缺点
  • 分布式系统的技术性、复杂性要求较高;
  • 部署、运维、管理难度随着服务的数量增加而增大;
  • 服务间的通讯成本、数据的查询与一致性

微服务的技术栈有哪些?

  • 服务开发 —— SpringBoot、SpringMVC、Spring
  • 服务配置与管理 —— Netflix公司的Archaius、阿里的Diamond
  • 服务注册与发现 —— Eureka、Zookeeper
  • 服务调用 —— Rest、RPC、gRPC
  • 服务熔断器 —— Hystrix、Envoy
  • 负载均衡 —— Ribbon、Nginx
  • 消息队列 —— Kafka、RabbitMQ、ActiveMQ
  • 服务配置中心管理 —— SpringCloudConfig
  • 服务路由 —— Zuul
  • 服务监控 —— Zabbix、Nagios、Metrics
  • 服务部署 —— Docker、OpenStack
  • 事件消息总线 —— Spring Cloud Bus

Spring Cloud是什么

Spring Cloud是一个分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶。


Spring Boot 和Spring Cloud,谈谈对他们的理解

  • Spring Boot专注于快速方便的开发单个个体微服务。
  • Spring Cloud则是专注于全局的微服务协调整体治理框架。它是将Spring Boot开发的一个个单体微服务整合并管理起来。

Spring Cloud和Dubbo有那些区别?

活跃度

由于Dubbo再2012年暂停5年直到2017年重新开启维护期间,Dubbo的社区热度降低了不少;而Spring Cloud也正是在这期间奠定了很好的基础,目前社区活跃度,Spring Cloud占优。

对比
\DubboSpring Cloud
服务注册中心ZooKeeperEureka
服务调用方式RPCREST API
服务监控Dubbo-monitorSpring Boot Admin
熔断器\Spring Cloud Netflix Hystrix
服务网关\Spring Cloud Netflix Zuul
分布式配置\Spring Cloud Conifg
服务跟踪\Spring Cloud Sleuth
消息总线\Spring Cloud Bus
数据流\Spring Cloud Stream
批量任务\Spring Cloud Task
区别
1 通讯方式

Spring Cloud 选用了REST API作为服务调用方式,而Dubbo选择使用RPC;
两种方式各有优劣,RPC的性能更好,但使用REST则更为灵活;

2 治理方式

作为微服务整体的治理方案,Dubbo所提供的治理方式较少,仅提供基本的服务通讯、注册和监控。额外的网关、配置、跟踪、熔断器等都使用其他厂家提供的技术方案。而Spring Cloud则可以提供一整套的技术方案。

简单理解就是:Dubbo使用的治理方案是自行组装式,而Spring Cloud为品牌一站式。

总结

阿里2017继续维护的Dubbo的技术总负责人刘军曾表示:Dubbo与Spring Cloud并不是完全的竞争关系,两者所解决的领域并不一样;Dubbo的定位始终是一款RPC框架,而Spring Cloud的目标是微服务架构下的一站式解决方案。


为什么选用Spring Cloud?

选型依据
  • 整体解决方案和框架的成熟度比较完善
  • 社区热度较好
  • 可维护性较高
  • 学习曲线持续增长
各大型公司使用的微服务架构
  • 阿里 —— Dubbo/HSF(停更5年)
  • 京东 —— JSF(由HSF改造)
  • 新浪微博 —— Motan
  • 当当网 —— DubboX
各微服务框架对比

在这里插入图片描述在这里插入图片描述


Spring Cloud 学习

官网:https://spring.io/projects/spring-cloud

中文文档:https://www.springcloud.cc/spring-cloud-dalston.html

Spring Cloud中国社区:http://springcloud.cn/

Spring Cloud中文网:https://www.springcloud.cc/


持续更新中…2020.01.04

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值