【SpringCloud】微服务入门

一. 什么是微服务

  根据业务将应用拆分成一个个小的服务,每个微服务提供单个业务功能,即一个服务只做一件事,运行在单独的进程里,并拥有自己独立的数据库

二.微服务与微服务架构区别

  微服务强调的是服务的大小,关注的是某一个点,是具体解决某个问题/提供落地对应服务的一个服务应用,而微服务架构是一种架构模式,提倡将单一应用程序划分为一组小的服务,服务之间互相协调。服务之间采用轻量级的通信机制(通常是HTTP协议的Restful API)互相协作,

三. 微服务的优缺点

优点

  1. 每个微服务都有自己的存储能力,可以有自己的数据库,也可有统一数据库
  2. 只有业务逻辑代码,不会和HTML,CSS或其他界面组件混合
  3. 每个服务足够内聚,足够小
  4. 开发简单,开发效率高,一个服务只做一件事

缺点

  1. 开发人员要处理分布式系统的复杂性
  2. 运维难度加大,系统部署依赖
  3. 服务间通信成本增大
  4. 数据一致性
  5. 系统集成测试

四. 微服务技术栈

在这里插入图片描述
在这里插入图片描述

五. 为什么选择springCloud

在这里插入图片描述
在这里插入图片描述
当时我们公司选用springcloud的原因有以下几点:

  1. 近年来社区活跃度比较高
  2. 自身提供了很多功能,传说springcloud是个全家桶
  3. 公司是个鼓励员工学习的公司,也想让员工学习下前沿技术

六. springCloud与Dubbo的区别

在这里插入图片描述
  通过上面对比,可以发现SpringCloud功能更强大,它与Spring Framework、Spring Boot等Spring项目完美融合,但是使用Dubbo的话,就要组装各种功能的插件,其中可能会存在版本不兼容等问题,但是SpringCloud就不用组装,不会出现这样的问题。最大区别SpringCloud采用基于HTTP的REST方式通信,而Dubbo采用RPC通信,Rest 与 RPC区别:https://baijiahao.baidu.com/s?id=1617168792520937104&wfr=spider&for=pc ; http 与 tcp的区别: https://www.cnblogs.com/xianlei/p/tcpip_http.htmlhttps://blog.csdn.net/weixin_38366182/article/details/80880530

七. springBoot和SpringCloud的关系

  1. springBoot专注于快速方便的开发单个个体微服务
  2. sringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来,为各个微服务之间提供配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等集成服务

SpringBoot可离开SpringCloud独立使用开发项目,但是SpringCloud离不开springboot,属于依赖关系
SpringBoot专注于快速、方便的开发单个微服务个体,SpringCloud关注全局的服务治理框架

猜你喜欢

转载自blog.csdn.net/wrs120/article/details/91446885