Spring Cloud学习(一)介绍一下概念

123 阅读2分钟

一、微服务和微服务架构

虽然网上答案一大堆,但是我理解不够深刻,先埋个坑,后面再解答。

二、微服务的优缺点

​ 我浅显的理解微服务就是将原来大的功能拆分成小的功能点。既然功能拆的小了,优缺点就从这个出发去理解。

优点:

  • 功能拆的小了,业务逻辑相对就简化了。去实现这个业务逻辑,上手难度就降低了。
  • 拆成了微服务,功能解耦。易于小团队开发,方便测试。
  • 微服务可以独自成为一个系统,这个要看你服务拆分的粒度。方便部署,也利于运维。

缺点:

  • 虽然业务逻辑简化了,但是并不意味着技术也简化了。微服务带来了分布式系统的技术栈。分布式技术栈多、深、难。
  • 系统部署依赖,服务间通信成本增加。
  • 数据一致性问题、系统性能监控等问题

三、微服务的技术栈

功能实现技术
服务开发springboot、springboot、spring
服务注册与发现Zookeeper、Eureka、Consul
服务配置与管理Archaius、Diamond
服务调用Rest、RPC、gRPC
服务熔断器Hystrix、Envoy
负载均衡Ribon、Ngix
服务配置中心管理springcloudconfig、Chef
服务路由(API网关)Zuul
服务监控Zabbix、Nagios
服务追踪Zipkin、Brave、Dapper
服务部署Docker、OpenStack、Kubernets
消息队列Kafka、MQ
数据流操作开发包springcloudstream
事件消息总线springcloudbus

四、springcloud是什么

用springcloud中文网的一句话形容:微服务架构集大成者,云计算最佳业务实践

下面用官网的原话解释下:

    Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。
Spring Cloud专注于提供良好的开箱即用经验的典型用例和可扩展性机制覆盖。

(1)分布式/版本化配置
(2)服务注册和发现
(3)路由
(4)service - to - service调用
(5)负载均衡
(6)断路器
(7)分布式消息传递

套用官网的图:

五、springcloud与springboot什么关系

  • springboot可以离开springcloud独立使用去开发项目。
  • springcloud不能离开springboot

六、springcloud VS dubbo

功能DubboSpringCloud
服务注册中心ZookeeperEureka
服务调用方式RPCReatful风格接口
服务熔断器不完善,服务降级Hystrix
服务网关Zuul
分布式配置springcloud config
服务追踪springcloud sleuth
消息总线springcloud bus
数据流springcloud stream
批量任务springcloud task