02.微服务技术栈
微服务技术栈:多种技术的集合
一个分布式的微服务架构
- 服务治理
- 服务注册
- 服务调用
- 服务负载均衡
- 服务监控
- ........
微服务条目 | 落地技术 | 备注 |
服务开发 | SpringBoot、Spring、SpringMvc | |
服务配置与管理 | Netflix公司的Archaius、阿里的Diamond等 | |
服务注册与发现 | Eureka、Consul、Zookeeper等 | |
服务调用 | Rest、RPC、gRPC | |
服务熔断器 | Hystrix、Envoy等 | |
服务接口调用(客户端调用服务的工具) | Feign等 | |
消息队列 | Kafka、Rabbit MQ、ActiveMQ | |
服务配置中心管理 | SpringCloudConfig、Chef等 | |
服务路由(API网关) | Zuul等 | |
服务监控 | Zabbix、Nagios、Metrics、Spectator等 | |
全链路追踪 | Zipkin、Brave、Dapper等 | |
数据流开发操作包 | SpringCloudStream(封装Redis、Rabbit、Kafka等发送接受消息) | |
事件消息总线 | SpringCloudBus | |
................. |
为什么选择SpringCloud作为微服务架构:
选型依据:
整体解决方案和框架的成熟度
社区热度
可维护性
学习成本
现在互联网公司的微服务架构有哪些?
阿里云 dubbo/HSF
京东 JSF
新浪 motan
当当 dubbox
各种微服务框架的对比
SpringCloud和Springboot是什么关系?
Springboot专注于快速方便的开发单个个体微服务
Springcloud是关注全局的微服务协调整理治理框架,将SpringBoot开发的一个个单体微服务整合并管理起来,为各个微服务之间提供提供配置管理、服务发现、熔断器、路由器、微代理、事件总线、全局锁、决策竞选、分布式会话等等集成服务
SpringBoot可以离开SpringCloud独立开发项目,但是Spring Cloud离不开Springboot,属于依赖关系
SpringBoot专注快速,方便的开发单个微服务个体,SpringCloud关注全局的服务治理框架