SpringCloud微服务技术(一)——了解微服务架构以及项目搭建

微服务架构:SpringCloud

什么是微服务

微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通(通常是基于HTTP的Restful API).每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。

微服务和分布式的关系和区别

区别

  • 从概念理解,分布式服务架构强调的是服务化以及服务的分散化,微服务则更强调服务的专业化和精细分工;
  • 从实践的角度来看,微服务架构通常是分布式服务架构,反之则未必成立。所以,选择微服务通常意味着需要解决分布式架构的各种难题;
  • 微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器;
    微服务重在解耦合,使每个模块都独立。分布式重在资源共享与加快计算机计算速度分布式:分散压力。微服务:分散能力

关系

分布式是否属于微服务

不一定,如果一个很大应用,拆分成三个应用,但还是很庞大,虽然是分布式,但不是微服务。微服务核心要素是微小,更加强调单一职责、轻量级通信(HTTP)、独立性并且进程隔离。

微服务架构是分布式服务架构的子集。

微服务架构通过更细粒度的服务切分,使得整个系统的迭代速度并行程度更高,但是运维的复杂度和性能会随着服务的粒度更细而增加。

微服务和SpringCloud的区别

微服务只是一种项目的架构方式,或者说是一种概念,就如同我们的MVC架构一样, 那么Spring-Cloud便是对这种技术的实现。

微服务要面临的问题

在这里插入图片描述

  • 业务拆分和相关业务数据库拆分
  • 监听服务有没有宕机
  • 负载均衡 --nginx, ribbon
  • 熔断,限流,降级 -hystrix
  • 网关,路由,过滤 -zuul
  • 服务注册和发现 – Eureka zookeeper
    微服务面临的这些的问题,SpingCloud提供了相应的方案来解决

SpingCloud项目搭建

因为spring-cloud是基于spring-boot项目来的,所以我们项目得是一个spring-boot项目,这里要注意的一个点是spring-cloud的版本与spring-boot的版本要对应下图:
在这里插入图片描述

创建并配置某业务服务模块

1.先创建一个maven空项目
2.在此项目上新建module
在这里插入图片描述
3.pom.xml文件配置
父pom.xml文件
在这里插入图片描述
User模块pom文件引入boot,cloud,eureka,feign,hystrix依赖
在这里插入图片描述
4.创建main方法
在这里插入图片描述
application.yml配置
在这里插入图片描述

创建并配置eureka服务端

1.创建eureka模块
在这里插入图片描述
2.Pom文件引入相关配置
在这里插入图片描述
3.创建模块启动类,引入对应注解
在这里插入图片描述
4.application.yml配置
在这里插入图片描述
结果展示
启动eureka服务,user服务,在浏览器上查看结果
在这里插入图片描述

原创文章 38 获赞 52 访问量 1万+

猜你喜欢

转载自blog.csdn.net/yemuxiaweiliang/article/details/105445603