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

了解微服务架构以及项目搭建

  • 微服务架构:SpringCloud
    • 什么是微服务
    • 微服务和分布式的关系和区别
      • 区别
      • 关系
        • 分布式是否属于微服务
        • 微服务架构是分布式服务架构的子集。
    • 微服务和SpringCloud的区别
    • 微服务要面临的问题
  • SpingCloud项目搭建
    • 创建并配置某业务服务模块
    • 创建并配置eureka服务端

微服务架构:SpringCloud

什么是微服务

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

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

区别

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

关系

分布式是否属于微服务

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

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

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

微服务和SpringCloud的区别

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

微服务要面临的问题

SpringCloud微服务技术(一)——了解微服务架构以及项目搭建_第1张图片

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

SpingCloud项目搭建

因为spring-cloud是基于spring-boot项目来的,所以我们项目得是一个spring-boot项目,这里要注意的一个点是spring-cloud的版本与spring-boot的版本要对应下图:
SpringCloud微服务技术(一)——了解微服务架构以及项目搭建_第2张图片

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

1.先创建一个maven空项目
2.在此项目上新建module
SpringCloud微服务技术(一)——了解微服务架构以及项目搭建_第3张图片
3.pom.xml文件配置
父pom.xml文件
SpringCloud微服务技术(一)——了解微服务架构以及项目搭建_第4张图片
User模块pom文件引入boot,cloud,eureka,feign,hystrix依赖
SpringCloud微服务技术(一)——了解微服务架构以及项目搭建_第5张图片
4.创建main方法
SpringCloud微服务技术(一)——了解微服务架构以及项目搭建_第6张图片
application.yml配置
SpringCloud微服务技术(一)——了解微服务架构以及项目搭建_第7张图片

创建并配置eureka服务端

1.创建eureka模块
在这里插入图片描述
2.Pom文件引入相关配置
SpringCloud微服务技术(一)——了解微服务架构以及项目搭建_第8张图片
3.创建模块启动类,引入对应注解
SpringCloud微服务技术(一)——了解微服务架构以及项目搭建_第9张图片
4.application.yml配置
SpringCloud微服务技术(一)——了解微服务架构以及项目搭建_第10张图片
结果展示
启动eureka服务,user服务,在浏览器上查看结果
SpringCloud微服务技术(一)——了解微服务架构以及项目搭建_第11张图片

你可能感兴趣的:(Spring,Cloud,微服务,分布式)