为什么选择Spring Cloud作为微服务架构|学习笔记

简介: 快速学习为什么选择Spring Cloud作为微服务架构

开发者学堂课程【微服务框架 Spring Cloud 快速入门为什么选择 Spring Cloud作为微服务架构】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/614/detail/9332


为什么选择 Spring Cloud 作为微服务架构

 

内容介绍

一、 选型依据

二、 当前各大IT公司用的微服务架构有哪些?

三、 各微服务框架对比

 

一、选型依据

1、整体解决方案和框架成熟度

2、社区热度

3、可维护性

4、学习曲线

一家大公司的架构师在选型的时候,并不会选取最新的版本,选取的版本往往是最稳定的,最新的技术不一定是最好的,一个稳定的版本往往出现问题时修复的方案会更多,在社区的热度更好。

 

二、当前各大IT公司用的微服务架构有哪些?

1、阿里Dubbo/HSF

Dubbo已经停止更新五年了,于2012年就停止维护。因为Dubbo团队的解散。2017年阿里重启了对Dubbo的维护,因为停更五年的原因已经落后于spring cloud.HSF分布式的高速框架,可以理解为第二代的Dubbo。

2、京东JSF

3、新浪微博Motan

4、当当网Dubbox

 

三、各微服务框架对比

一个微服务要满足很多种微服务落地维度、功能定位、是否支持rest、是否支持rpc、是否支持多语言、服务注册/发展、是否支持负载均衡。要是一个好的分布式微服务框架,就要满足那些维度。

功能点/服务框架

备选方案

 

Netflix/Spring cloud

Motan

gRPC

Thrift

Dubbo/Dubbox

功能定位

完整的微服务框架

RPC框架,但整合了ZK或Consul,实现集群环境的基本的服务注册/

发现

RPC框架

RPC框架

服务框架

支持Rest

Ribbon支持du可插拔的序列化选择

支持RPC

(Hession2

支持多语言

是(Rest)?

服务注册/发现

是(Eureka)

Eureka服务注册表,Karyon服务端框架支持服务自注册和健康查询

zookeeper/consul)

负载均衡

(服务端zuul+客户端Ribbon)   Zuul-服务,动态路由  云端负载均衡  Eureka(针对中间层服务器)

是(客户端)

是(客户端)

配置服务

Netflix Archaius

Spring cloud Config Server集中配置

是(zookeeper提供)

服务调用链监控

是(zuul) Zuul提供边缘服

务,API网关

高可用/容错

是(服务端Hystrix+客户端

Ribbon)

是(客户端)

是(客户端)

典型应用案例

Netflix

Sina

Google

Facebook

 

社区活跃程度

一般

一般

已经不维护了

学习难度

中等

 

文档丰富度

一般

一般

一般

其他

Spring Cloud Bus为我们的

应用程序带来了更多管理端

支持降级

Netflix内部在开发集成gRPC

IDL定义

实践的公司比较多

如果去互联网公司工作cloud是一定要掌握的,通过技术维度和微服务结合服务站,落地微服务的维度有哪些,得到第一个结论cloud几乎全面的满足。

相关文章
|
2月前
|
搜索推荐 JavaScript Java
基于springboot的儿童家长教育能力提升学习系统
本系统聚焦儿童家长教育能力提升,针对家庭教育中理念混乱、时间不足、个性化服务缺失等问题,构建科学、系统、个性化的在线学习平台。融合Spring Boot、Vue等先进技术,整合优质教育资源,提供高效便捷的学习路径,助力家长掌握科学育儿方法,促进儿童全面健康发展,推动家庭和谐与社会进步。
|
3月前
|
数据可视化 Java BI
将 Spring 微服务与 BI 工具集成:最佳实践
本文探讨了 Spring 微服务与商业智能(BI)工具集成的潜力与实践。随着微服务架构和数据分析需求的增长,Spring Boot 和 Spring Cloud 提供了构建可扩展、弹性服务的框架,而 BI 工具则增强了数据可视化与实时分析能力。文章介绍了 Spring 微服务的核心概念、BI 工具在企业中的作用,并深入分析了两者集成带来的优势,如实时数据处理、个性化报告、数据聚合与安全保障。同时,文中还总结了集成过程中的最佳实践,包括事件驱动架构、集中配置管理、数据安全控制、模块化设计与持续优化策略,旨在帮助企业构建高效、智能的数据驱动系统。
223 1
将 Spring 微服务与 BI 工具集成:最佳实践
|
3月前
|
Java 数据库 数据安全/隐私保护
Spring 微服务和多租户:处理多个客户端
本文介绍了如何在 Spring Boot 微服务架构中实现多租户。多租户允许单个应用实例为多个客户提供独立服务,尤其适用于 SaaS 应用。文章探讨了多租户的类型、优势与挑战,并详细说明了如何通过 Spring Boot 的灵活配置实现租户隔离、动态租户管理及数据源路由,同时确保数据安全与系统可扩展性。结合微服务的优势,开发者可以构建高效、可维护的多租户系统。
464 127
|
3月前
|
存储 安全 Java
管理 Spring 微服务中的分布式会话
在微服务架构中,管理分布式会话是确保用户体验一致性和系统可扩展性的关键挑战。本文探讨了在 Spring 框架下实现分布式会话管理的多种方法,包括集中式会话存储和客户端会话存储(如 Cookie),并分析了它们的优缺点。同时,文章还涵盖了与分布式会话相关的安全考虑,如数据加密、令牌验证、安全 Cookie 政策以及服务间身份验证。此外,文中强调了分布式会话在提升系统可扩展性、增强可用性、实现数据一致性及优化资源利用方面的显著优势。通过合理选择会话管理策略,结合 Spring 提供的强大工具,开发人员可以在保证系统鲁棒性的同时,提供无缝的用户体验。
|
3月前
|
消息中间件 Java 数据库
Spring 微服务中的数据一致性:最终一致性与强一致性
本文探讨了在Spring微服务中实现数据一致性的策略,重点分析了最终一致性和强一致性的定义、优缺点及适用场景。结合Spring Boot与Spring Cloud框架,介绍了如何根据业务需求选择合适的一致性模型,并提供了实现建议,帮助开发者在分布式系统中确保数据的可靠性与同步性。
278 0
|
2月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
2月前
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
Spring Boot 3.x 微服务架构实战指南
|
2月前
|
负载均衡 Java API
《深入理解Spring》Spring Cloud 构建分布式系统的微服务全家桶
Spring Cloud为微服务架构提供一站式解决方案,涵盖服务注册、配置管理、负载均衡、熔断限流等核心功能,助力开发者构建高可用、易扩展的分布式系统,并持续向云原生演进。
|
3月前
|
消息中间件 Java Kafka
消息队列比较:Spring 微服务中的 Kafka 与 RabbitMQ
本文深入解析了 Kafka 和 RabbitMQ 两大主流消息队列在 Spring 微服务中的应用与对比。内容涵盖消息队列的基本原理、Kafka 与 RabbitMQ 的核心概念、各自优势及典型用例,并结合 Spring 生态的集成方式,帮助开发者根据实际需求选择合适的消息中间件,提升系统解耦、可扩展性与可靠性。
256 1
消息队列比较:Spring 微服务中的 Kafka 与 RabbitMQ
|
3月前
|
Prometheus 监控 Java
日志收集和Spring 微服务监控的最佳实践
在微服务架构中,日志记录与监控对系统稳定性、问题排查和性能优化至关重要。本文介绍了在 Spring 微服务中实现高效日志记录与监控的最佳实践,涵盖日志级别选择、结构化日志、集中记录、服务ID跟踪、上下文信息添加、日志轮转,以及使用 Spring Boot Actuator、Micrometer、Prometheus、Grafana、ELK 堆栈等工具进行监控与可视化。通过这些方法,可提升系统的可观测性与运维效率。
385 1
日志收集和Spring 微服务监控的最佳实践

热门文章

最新文章