微服务和springcloud的关系

前言:
最近有个同事问我微服务和spring cloud的关系,正好记录一下。

什么是spring cloud

首先简述一下springcloud是什么,官网给出的说法是(英语不精的我谷歌翻译出来的)

Spring Cloud为开发人员提供了工具,以快速构建分布式系统中的某些常见模式(例如,配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式会话,群集状态)。分布式系统的协调导致了样板式样,并且使用Spring Cloud开发人员可以快速支持实现这些样板的服务和应用程序。它们可以在任何分布式环境中正常工作,包括开发人员自己的笔记本电脑,裸机数据中心以及Cloud Foundry等托管平台。

对于初入门的人来讲是很难理解这些东西的。简单来讲就是

springcloud提供一系列组件,这些组件都是相互独立的。比如注册中心eureka是一个独立运行的组件,网关gateway是一个独立运行组件,然后gateway可以注册在eureka中,也可以注册在其他第三方的注册中心中(比如阿里的nacos)。组件之间都没有必然的耦合。

什么是微服务

微服务是一种用于构建应用的架构方案。微服务架构有别于更为传统的单体式方案,可将应用拆分成多个核心功能。每个功能都被称为一项服务,可以单独构建和部署,这意味着各项服务在工作(和出现故障)时不会相互影响。(采摘自https://www.redhat.com/zh/topics/microservices/what-are-microservices)。

image.png

这里也说下我的理解

首先微服务是一种架构思想,没有技术限制。你可以使用springcloud全家桶,可以通过dubbo+zk+...,或者是直接通关nginx转发多个tomcat等技术构建微服务系统。相比单体架构系统主要有以下几点

  • 耦合度底
  • 承载能力强
  • 多语言生态(可由多种语言开发多个服务)
  • 部署方便(有争议)
  • 可延伸性高

总结

微服务是一种架构思想,springcloud是一套利于实现微服务架构的技术。相互之间没有必然的联系。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容