SpringCloud学习(1)——SpringCloud概述

微服务架构:

微服务架构是一种架构模式或者说是一种架构风格, 他提倡将单一应用程序划分成一组小的服务, 每个服务运行在其独立的进程中, 服务之间互相协调,互相配合, 为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。

微服务优点:

  • 微服务只是业务逻辑的代码, 不会和HTML,CSS或其他页面组件混合
  • 每个微服务都有自己的存储能力, 可以有自己的数据库, 也可以有统一数据库

微服务缺点:

  • 开发人员要处理分布式系统的复杂性
  • 多服务之间的通信成本

微服务的技术栈:

  • 服务开发                              Springboot、Spring、SpringMVC等
  • 服务配置与管理                    Netflix公司的Archaius、阿里的Diamond等
  • 服务注册与发现                    Eureka、Consul、Zookeeper等
  • 服务调用                               Rest、RPC、gPRC
  • 服务熔断器                            Hystrix、Envoy等
  • 服务负载均衡                         Ribbon、Nginx等
  • 服务接口调用                         Feign等
  • 消息队列                                Kafka、RabbitMQ、ActiveMQ等
  • 服务配置中心管理                 SpringCloudConfig、Chef等
  • 服务路由                                Zuul等
  • 服务监控                                Zabbix、Nagios、Metrics、Spectator等
  • 全链路跟踪                            Zipkin, Brave, Dapper等
  • 服务部署                                Docker、OpenStack、Kubernetes等
  • 数据流操作开发包                 SpringCloud Stream(封装与Redis, Rabbit, Kafka等发送接收消息)
  • 事件消息总线                   SpringCloud Bus
  • ......

SpringCloud概述:

SpringCloud是基于SpringBoot提供了一套微服务一站式解决方案, 包括服务注册与发现, 配置中心, 全链路监控, 服务网管, 负载均衡, 熔断器等组件, 除了基于NetFlix的开源组件做高度抽象封装之外, 还有一些选型中立的开源组件。

SpringCloud和SpringBoot区别:

Springboot专注于开苏方便的开发单个微服务个体, SpringCloud是关注全局的服务治理框架。SpringCloud依赖于Springboot。

SpringCloud与Dubbo对比:

  Dubbo SpringCloud
服务注册中心 Zookeeper SpringCloud NetFlix Eureka
服务调用方式 RPC REST API
服务监控 Dubbo-monitor SpringBoot Admin
断路器 不完善 SpringCloud NetFlix Hystrix
服务网关 SpringCloud NetFlix Zuul
分布式配置 SpringCloud config
服务跟踪 SpringCloud Sleuth
消息总线 SpringCloud Bus
数据流 SpringCloud Stream
批量任务 SpringCloud Task

最大的区别: SpringCloud抛弃了Dubbo的RPC通信, 采用的是基于HTTP的REST方式。

猜你喜欢

转载自www.cnblogs.com/goodcheap/p/9165610.html