微服务之SpringCloud使用
# 微服务介绍
将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,并使用轻量级机制通信,通常是 HTTP RESTFUL API 。这些服务围绕业务能力来划分构建的,并通过完全自动化部署机制来独立部署。
# 微服务特点
微服务架构的主要特点是组件化、松耦合、自治、去中心化。
-
优点:
#每个服务足够内聚,足够小,代码容易理解、开发效率提高。
#服务之间可以独立部署,微服务架构让持续部署成为可能。
#系统相比较复杂单体应用更为简洁轻量化,每个微服务因为独立部署,可以使用不同跨语言编写,这样使得微服务架构更为灵活。
#低耦合性,符合面向对象设计高内聚低耦合特性。不同模块间依赖低,相互关联小。
-
缺点
#微服务跟一般单体服务相比较要复杂的多。
#分布式系统可能复杂难以管理。
#因为分布部署跟踪问题难。
#当服务数量增加,管理复杂性增加。
# 组件介绍
-
Spring Cloud Config
#服务配置中心,将所有的服务的配置文件放到本地仓库或者远程仓库,配置中心负责读取仓库的配置文件,其他服务向配置中心读取配置。 SpringCloud Config 使得服务的配置统一管理 并可以在不人为重启服务的情况下进行配置文件的刷新。
-
Spring Cloud Netflix
#SpringCloud 核心的核心组件,包括 Eureka Hystrix Zuul Archaius 等。
-
Eureka
#服务注册和发现组件。
-
Hystrix
#熔断器组件 Hystrix 通过控制服务的 API 接口的熔断来转移故障,防止微服务系统发生雪崩效应。另外, Hystrix 能够起到服务限流和服务降级的作用。使用Hystrix Dashboard 组件监控单个服务的熔断器的状态。
-
Zuul
#能够起到智能路由和请求过滤的作用,是服务接口统一暴露 关键模块,也是安全验证、权限控制的一道门。
-
Feign
#声明式远程调度组件
-
Ribbon
#负载均衡组件
-
Spring Cloud Bus
#消息总线组件,常和 Spring Cloud Config 配合使用,用于动态新服务的配置。
-
Spring Cloud Sleuth
#服务链路追踪组件,封装了 Dapper Zipkin, Kibina 等组件,可以实时监控服务的链路调用情况。
-
Spring Cloud Data Flow
#大数据操作组件,可以通过命令行的方式操作数据流。
-
Spring Cloud Security
#安全模块组件,是对 Spring Security 封装,通常配合 0Auth2使用来保护微服务系统的安全。
-
Spring Cloud Consule
#是 Spring Cloud Consul 的封装,和 ureka 类似,它是一个服务注册和发现组件。
-
Spring Cloud Zookeeper
#是 Spring Cloud Zookeeper 封装,和 Eureka Consul相似,用于服务的注册和发现。
-
Spring Cloud Stream
#数据流操作组件,可以封装 Redis RabbitMQ Kafka 等组件实现发送和接收消息等。
-
Spring Cloud CLI
#该组件是 Spring Cloud Spring Boot CLI 的封装,可以让用户以命令行方式快速运行和搭建容器。
-
Spring Cloud Task
#提供了任务调度和任务管理的功能。
-
Spring Cloud Connectors
#用于 Paas 云平台连接到后端
本文地址:https://blog.csdn.net/wolf09311/article/details/107506720