Spring Cloud 微服务架构
2020-06-05 14:53:45 0 举报
AI智能生成
SpringCloud梳理
作者其他创作
大纲/内容
微服务
微服务是一种架构风格,专注于服务解耦,以组件化的方式组合出复杂的大型应用程序
从架构角度讲微服务架构是分布式架构的一种演进类型
Spring Cloud
Spring Cloud 简介
spring cloud是一个基于Spring Bood实现的微服务架构开发工具,为微服务架构中涉及到的:配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式会话,集群状态等操作提供了一种简单的开发方式
Spring Cloud与Spring Boot的关系
Spring Cloud 解决的问题
配置管理
服务注册
服务发现
断路器
智能路由
微代理
负载均衡
服务间调用
一次性令牌
控制总线
全局锁
领导选举
分布式会话
集群状态
分布式消息
......
Spring Cloud 子项目介绍
Spring Cloud Stream
轻量型的事件驱动型微服务框架,用来快速构建可以连接到外部的应用程序。使用Apache Kafka或者RabbitMQ在Spring Boot应用程序之间发生和接受消息的简单模型
Spring Cloud Config
配置中心,利用git来集中管理程序的配置
Spring Cloud Alibaba
阿里为基于Spring Cloud 的分布式应用程序开发提供的一站式解决方案
Spring Cloud Bus RocketMQ
Sentinel
Spring Cloud Netflix
集成众多Netflix的开源框架,包括:Eureka、Hystrix、Zuul、Archaius等
Eureka
Feign
Hystrix
Spring Cloud Bus
消息总线,利用分布式消息将服务与服务实例链接在一起,用于在一个集群中传播状态变化,比如配置更改事件,可以与Spring Cloud Config联合实现热部署
Spring Cloud for Cloud Foundry
利用Privotal CloudFoundy集成应用程序,CloudFoundy是VMWare推出的开源Paas云平台
Spring Cloud Cluster
基于Zookeeper、Redis、HazelCast、Consul实现的领导选举和平民状态的抽象和实现
Spring Cloud Consul
基于Hashicorp Consul实现的服务发现和配置管理
Spring Cloud Security
Spring Cloud 安全模块
Spring Cloud Sleuth
适用于Spring Cloud应用程序的分布式跟踪,与ZipKin HTrace和基于日志的跟踪(例如ELK)兼容,可以实现日志收集
Spring Cloud Data Flow
数据编排服务
Spring Cloud Connectors
连接器
Spring Cloud CLI
Spring Cloud GateWay
微服务设计原则
高内聚低耦合
每个服务是针对单一职责的业务能力的封装,专注做好一件事
服务间采用轻量级的通讯方式
同步:restful
异步:消息队列
避免在服务间共享数据库
高度自治
独立部署运行和扩展
独立开发和演进
独立的团队和自治
以业务为中心
每个服务代表特定的业务逻辑
有明显的边界上下文
围绕业务组织团队
弹性设计
容错
自身异常处理
依赖服务挂掉处理
网络挂掉处理
自持能力
服务隔离
服务降级
熔断
日志和监控
自动化
Devops
基于Spring Cloud的微服务构建
组件
服务治理
同步通信
restful
rpc
异步通信
消息队列
消息总线
统一网关
分布式事务
NetFlix
Spring Cloud Feign
rabbitmq、kafka
Ribbon
Zuul
Alibaba
Nacos
dubbo
rocketmq
模块化和组件化
组件化:基于可重用的目的,将一个大的软件系统按照分离关注点的方式,拆分成多个独立的组件,主要目的是----减少耦合
模块化:将一个程序按照其功能做拆分分成相互独立的模块,每个模块只包含与其功能相关的内容,模块之间通过接口调用。目的是在一个大的软件系统模块化后,每一个模块都可以被高度复用
共同点:都是基于分治法对于大型复杂软件进行拆分
不同点:模块化目的是为了重用,组件化目的是为了解耦
Spring Cloud 微服务架构
0 条评论
下一页