Spring Cloud理论知识点
概述 什么是微服务? 通常而言,微服务架构指的是一种架构模式或者说一种架构风格; 它提倡的是将单一应用程序划分成一组小的服务,每个微服务提供单个业务功能,一个服务做一件事。 每个服务独立运行于自己的进程,服务之间互相协调、互相配合; 服务之间采用轻量级的通信机制(通常是HTTP资源的API); 每个服务都围绕具体的业务进行构建,并且能够被独立地部署到生成环境; 每个服务独立管理,可使用不同的语言进行编写服务,也可以采用不同的数据存储方式。 微服务的优缺点 优点 符合高内聚、低耦合的程序设计思想,代码容易聚焦在一个指定的业务功能上; 有利于团队管理、协助,微服务可被2-5人小团队独立开发,独立管理,再进行团队与团队之间的协作; 缺点 分布式系统的技术性、复杂性要求较高; 部署、运维、管理难度随着服务的数量增加而增大; 服务间的通讯成本、数据的查询与一致性 微服务的技术栈有哪些? 服务开发 —— SpringBoot、SpringMVC、Spring 服务配置与管理 —— Netflix公司的Archaius、阿里的Diamond 服务注册与发现 —— Eureka、Zookeeper 服务调用 —— Rest、RPC、gRPC 服务熔断器 —— Hystrix、Envoy 负载均衡 —— Ribbon、Nginx 消息队列 —— Kafka、RabbitMQ、ActiveMQ