大家好,欢迎来到万猫学社,跟我一起学,你也能成为微服务专家。
微服务架构该怎么落地?选用什么样的技术栈?所有的互联网公司都在积极尝试自己的微服务落地方案。
Spring Cloud
其中在Java领域最引人注目的就是 Spring Cloud 提供的方案了。
![](https://img.haomeiwen.com/i23982369/ec45fec059ea8dfb.png)
Spring Cloud 被称为构建分布式微服务系统的“全家桶”,它并不是某一门技术,而是一系列微服务解决方案或框架的有序集合。它将市面上成熟的、经过验证的微服务框架整合起来,并进行封装,最终为开发人员提供的一套简单易懂、易部署和易维护的分布式系统开发工具包。
Spring Cloud 是微服务架构下的一站式解决方案。Spring Cloud 专注于全局微服务的协调和治理工作。换句话说,Spring Cloud 相当于微服务的大管家,负责将 Spring Boot 开发的一个个微服务管理起来,并为它们提供配置管理、服务发现、断路器、路由、等等分布式场景下的服务能力。
Spring Cloud 的常用组件
- Spring Cloud Consul:服务注册中心组件,包含服务注册与发现功能的实现。
- Spring Cloud Config:配置管理组件,支持使用 Git 存储配置内容,实现应用配置的外部化存储,并支持在客户端对配置进行刷新、加密、解密等操作。
- Spring Cloud LoadBalancer:客户端负载均衡组件。
- Spring Cloud OpenFeign:声明式服务调用组件。
- Spring Cloud Gateway:网关框架,提供了网关的基本功能,例如安全、监控/指标和限流等。
- Spring Cloud Sleuth:分布式链路跟踪组件,能完美整合 Zipkin。
- Spring Cloud Stream:消息中间件组件,集成了 Kafka 和 RabbitMQ 等消息中间件,实现了应用程序与消息中间件之间的隔离。
- Spring Cloud Sentinel:容错管理组件,为微服务提供流量控制、熔断降级的功能。
Spring Cloud Alibaba
Spring Cloud Alibaba 是 Spring Cloud下的一个子项目,是阿里巴巴结合自身丰富的微服务实践而推出的解决方案,2018 年 7 月,Spring Cloud Alibaba 正式开源,并进入 Spring Cloud 孵化器中孵化。2019 年 7 月,Spring Cloud 官方宣布 Spring Cloud Alibaba 毕业,并将仓库迁移到 Alibaba Github OSS 下。
![](https://img.haomeiwen.com/i23982369/09eb5768d16741f6.png)
Spring Cloud Alibaba 吸收了 Spring Cloud Netflix 的核心架构思想,并进行了高性能改进。自 Spring Cloud Netflix 进入停更维护后,Spring Cloud Alibaba 逐渐代替它成为主流的微服务框架,是 Spring Cloud 第二代实现的主要组成部分。
Spring Cloud Alibaba 的常用组件
- Dubbo:Apache Dubbo 是一款高性能 Java RPC 框架。
- Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
- Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
- Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。
- RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的 消息发布与订阅服务。
Dubbo
Dubbo 是一款 RPC 服务开发框架,最初在 2008 年由 Alibaba 捐献开源,在 2017 年,Dubbo 正式捐献到 Apache 软件基金会并成为 Apache 顶级项目。
![](https://img.haomeiwen.com/i23982369/b4e8d89fd68efb5a.png)
Dubbo用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。
最后,感谢你这么帅,还给我点赞。
网友评论