SpringCloud 入门理论知识
Posted wu-zang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud 入门理论知识相关的知识,希望对你有一定的参考价值。
SpringCloud
入门问题
- 微服务概念
- 微服务之间如何通信
- SpringCloud与Dubbo的区别
- SpringBoot与SpringCloud的关系
- 服务熔断和服务降级概念
- 微服务的优缺点
- 微服务技术栈
- eureka和zookeeper的区别
微服务概述
微服务起源:微服务
微服务将单一应用程序划分为一组小服务,每个服务独立在及自己的进程中,通过Restful方式互相沟通、调用。每个服务提供单个业务功能,去耦合。
微服务与微服务架构
微服务:指系统中的一个服务应用。
微服务架构:架构风格,即包括微服务及微服务之间的通信。
微服务的优缺点
优点
- 服务高内聚,完成一个细微化的业务或功能
- 单个服务的开发更便捷,开发简单、开发效率高
- 微服务可由独立团队开发
- 松耦合,开发及部署都独立
- 可以由不同语言开发,易于集成
- 前后端分离、灵活分配数据库
缺点
- 分布式系统的复杂性
- 运维难度增加,系统部署依赖问题
- 服务间通信额外花费
- 数据一致性、系统集成测试难度
- 性能监控难
微服务技术栈
微服务 | 技术 |
---|---|
开发 | Spring、SpringBoot、SpringMVC |
配置管理 | Archaius(Netflix)、Diamond(Ali) |
注册与实现 | Eureka、Consul、Zookeeper |
调用 | Rest、RPC、gRPC |
熔断器 | Hystrix、Envoy |
负载均衡 | Ribbon、nginx |
接口调用工具 | Feign |
消息队列 | Kaflka、RabbitMQ、ActiveMQ |
配置中心管理 | SpringCloudConfig、Chef |
路由(API网关) | Zuul |
监控 | Zabbix、Nagios、Metrics、Spectator |
全链路追踪 | ZipKin、Brave、Dapper |
部署 | Docker、OpenStack、Kubernates |
数据流操作 | SpringCloud Steam(Redis、Rabbit...) |
事件消息总线 | Spring Cloud Bus |
SpringCloud 架构
主流选用
厂商 | 技术选用 |
---|---|
阿里 | Dubbo/HSF |
京东 | JSF |
新浪微博 | Motan |
当当 | Dubbo |
框架对比
功能 | Spring Cloud | Motan | gRPC | Thrift | Dubbo/DubboX |
---|---|---|---|---|---|
定位 | 完整微服务 | RPC+ZK/Consul | RPC | RPC | RPC |
Rest | 支持 | 否 | 否 | 否 | 否 |
RPC | 否 | 是 | 是 | 是 | 是 |
多语言 | 是 | 否 | 是 | 是 | 否 |
注册/发现 | (Eurka) | Zookeeper/Consul | 否 | 否 | 是 |
负载均衡 | Zuul+Ribbon | 是 | 否 | 否 | 是 |
配置服务 | Archaius/sp config servier | ||||
调用链监控 | Zuul API | ||||
高可用/容错 | Hystrix Ribbon | ||||
其他 |
SpringCloud简介
SpringCloud微服务架构,涵盖了服务注册/发现、配置中心、全链路监控、服务网管、负载均衡、熔断器等,使用SpringBooot简化开发,提供快速构建分布式系统的工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策精选、分布式会话等,都可以使用SpringBoot开发进行快速启动和部署。
SpringCloud:一站式分布式微服务解决方案
Dubbo 对比 SpringCloud
对比 | Dubbo | SpringCloud |
---|---|---|
注册中心 | Zookeeper | Eureka |
调用方式 | RPC | REST API |
监控 | Dubbo-minitor | spring boot admin |
断路器 | 不完善 | SC Netfilx Hystrix |
网管 | 无 | SC Netfilx Zull |
分布式配置 | 无 | SC config |
跟踪 | 无 | SC Sleuth |
消息总线 | 无 | SC Bus |
数据流 | 无 | SC Stream |
批量任务 | 无 | SC Task |
... |
文档
以上是关于SpringCloud 入门理论知识的主要内容,如果未能解决你的问题,请参考以下文章