一、基础知识
微服务架构
将原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中。服务之间通过基于http的restful api通信协作。
与单体系统的区别
项目中需求分为三个主要部分:数据库,服务端处理,前端展现。
–>需求扩大 单体系统臃肿
—>微服务架构:架构系统中不同功能模块拆分成多个不同的服务,这些服务可以独立部署和扩展,每个服务运行在自己的进程内,
实施微服务
- 运维需要维护的进程增多
- 接口一致性
- 分布式的复杂性
- 服务组件化
- 按业务组织团队
- 做产品的态度
- 智能端点与哑管道(微服务调用:http的restful api/消息协议,轻量级消息总线传递)
- 去中心化治理
- 去中心化管理数据—每一个服务来管理自己的数据库
- 基础设施自动化(自动化测试,自动化部署)
- 容错设计–每个服务中实现监控和日志记录的组件,eg服务状态,断路器状态,吞吐量。。。
- 演进式设计
包含多个子项目
- Spring Cloud Config:配置管理工具。
- Spring Cloud Netflix:核心组件
? Hystrix:容错管理组件。断路器模式
? Ribbon:客户端负载均衡服务调用组件
Feign:基于Ribbon和Hystrix的声明式服务调用组件
Zuul:网关组件
Archaius:外部化配置组件
- Spring Cloud Bus:事件,消息总线,传播集群中的状态变化或事件,触发后续处理
- Spring Cloud Cluster:针对zookeeper,redis,hazelcast 的选举算法和通用状态模式的实现
- Spring Cloud Cloudfoundry:
- Spring Cloud Consul:服务发现与配置管理工具
- Spring Cloud Stream :通过redis rabbit或kafka实现消费微服务,可以通过简单的声明式模型来发送和接收消息
- Spring Cloud AWS:
- Spring Cloud Security: 安全工具包
- Spring Cloud Sleuth:应用的分布式跟踪实现
- Spring Cloud Zookeeper:
- Spring Cloud Starters:
【微服务|Spring Cloud 微服务实战--第一章基础知识】。。。。
版本名与版本号
推荐阅读
- 微服务主流通信协议详解
- Java|史上最全Java学习内容
- 微服务世纪难题(如何拆分单体())
- 微服务架构 | 6.1 使用 Zuul 进行服务路由 #yyds干货盘点#
- 微服务架构 | 8.1 使用 Spring Cloud Stream 整合 Apache kafka #yyds干货盘点#
- 微服务|springboot和springcloudAlibaba的版本对应关系
- java|Java 中的超快微服务( 当Microstream遇上Open Liberty)
- 搬砖工逆袭Java架构师|【云原生】了解微服务低代码平台
- PHP 基于 SW-X 框架,搭建RPC微服务支持