SpringCloud组件

SpringBoot中的常见配置(application.properties)

SpringCloud组件

Spring Cloud Config:配置管理开发工具包,可以让你把配置放到远程服务器,目前支持本地存储、Git以及Subversion。

Spring Cloud Bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。

Spring Cloud Netflix:针对多种Netflix组件提供的开发工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。

Netflix Eureka:云端负载均衡,一个基于 REST 的服务,用于定位服务,以实现云端的负载均衡和中间层服务器的故障转移。

Netflix Hystrix:容错管理工具,旨在通过控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。

Netflix Zuul:边缘服务工具,是提供动态路由,监控,弹性,安全等的边缘服务。

Netflix Archaius:配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。

Spring Cloud for Cloud Foundry:通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台。

Spring Cloud Sleuth:日志收集工具包,封装了Dapper,Zipkin和HTrace操作。

Spring Cloud Data Flow:大数据操作工具,通过命令行方式操作数据流。

Spring Cloud Security: 安全工具包,为你的应用程序添加安全控制,主要是指OAuth2。

Spring Cloud Consul:封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。

Spring Cloud Zookeeper:操作Zookeeper的工具包,用于使用zookeeper方式的服务注册和发现。

Spring Cloud Stream:数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。

Spring Cloud CLI:基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。

SpringCloud
SpringCloud实战微服务:
单体架构:一个归档包包含了应用的所有功能的应用程序,这是一种比较传统的架构风格

架构单体应用的架构风格,我们称之为单体架构;

单体架构存在的缺点:
1、复杂性逐渐升高;

2、技术债务逐渐上升;

3、部署速度逐渐变慢;

4、阻碍技术创新;

5、无法按需伸缩;

单体架构->SOA->微服务

微服务:

1、 每个微服务可独立的运行在自己的进程中;
2、 一系列独立运行的微服务共同构建起一整个系统;
3、 每个服务未独立的业务开发,一个微服务一般完成某个特定的功能,比如:订单管理、用户管理等;
4、 微服务之间通过一些轻量的通信机制进行通信,例如通过REST API或者RPC的方式进行调用。

微服务优点:

1、 易于开发和维护;
2、 启动较快;
3、 局部修改容易部署;
4、 技术栈不受限;
5、 按需伸缩;
6、 DevOps;

微服务开发原则:单一职责;服务自治;轻量级通信;接口明确

SpringCloud是一个在springboot基础上快速构建分布式系统的工具集

服务提供者与服务
服务发现:服务提供者和服务消费者在启动的时候,会把自己的网络地址都注册到服务发现组件,服务消费者要调用的时候,会从服务发现组件中查找服务提供者的网络地址,然后进行访问。当服务提供者的服务注册到服务发现组件中之后,服务注册组件会有间隔的向服务提供者发起心跳,若服务提供者多次无法接收到心跳,则去除该服务提供者。

服务发现组件的功能
1、服务注册表:是一个记录当前可用服务实例的网络信息数据库,是服务发现机制的核心。服务注册表提供查询API和管理API,使用查询API获得可用的实例,使用管理API实现注册和注销。
2、服务注册:将服务注册到服务注册表。
3、服务注销:将服务从服务注册表中移除。

健康检查:心跳机制

服务发现的方式
1、 客户端发现:Eureka,Zookeeper
2、 服务端发现:Consul+nginx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章