Spring Cloud 微服务实战--第一章基础知识

一、基础知识

微服务架构

将原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中。服务之间通过基于http的restful api通信协作。

与单体系统的区别

项目中需求分为三个主要部分:数据库,服务端处理,前端展现。

–>需求扩大 单体系统臃肿

—>微服务架构:架构系统中不同功能模块拆分成多个不同的服务,这些服务可以独立部署和扩展,每个服务运行在自己的进程内,

实施微服务

  • 运维需要维护的进程增多

  • 接口一致性

  • 分布式的复杂性

  • 服务组件化

  • 按业务组织团队

  • 做产品的态度

  • 智能端点与哑管道(微服务调用:http的restful api/消息协议,轻量级消息总线传递)

  • 去中心化治理

  • 去中心化管理数据—每一个服务来管理自己的数据库

  • 基础设施自动化(自动化测试,自动化部署)

  • 容错设计–每个服务中实现监控和日志记录的组件,eg服务状态,断路器状态,吞吐量。。。

  • 演进式设计

Spring Cloud

包含多个子项目

  • Spring Cloud Config:配置管理工具。
  • Spring Cloud Netflix:核心组件

​ eureka:服务治理组件。服务注册中心,服务注册与发现机制的实现

​ 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:

    。。。。

版本说明

版本名与版本号

你可能感兴趣的:(微服务,微服务)