微服务与SpringCloud
微服务概述
是什么?
一种模式架构或者风格,提倡**将单一应用程序划分为一组微小的服务**,每个服务都有独立的进程,每个服务都做一件事,可以自己单独启动或销毁,去耦合,各个服务互相调用配合为一个有机的整体
分布式系统
各个模块/服务独立出来成为各自微小的服务,让专业的人做专业的事,独立部署。
微服务与微服务架构
- 微服务: 可以理解为maven开发中的一个个独立的moudle,一个模块,每个模块完成一个人物或功能
- 微服务架构: 一种架构模式,服务与服务之间采用轻量级的通讯,用什么方式将各个微服务有机的统一成一个整体,对外暴露成一个整体的服务
优缺点
- 优点:服务内聚,足够小,开发简单效率高,代码容易理解,能够被小团队单独开发
- 缺点:运维难度增加,服务间通信成本,服务间数据一致性
技术栈
- 服务开发:SpringBoot、Spring、SpringMVC…
- 服务配置与管理:Archaius、Diamond…
- 服务注册与发现
- 服务调用
- 服务熔断器
- 服务负载均衡
- 服务接口调用
- 消息队列
- 服务配置中心管理
- …
SpringCloud概述
是什么?
提供了一套微服务解决方案,各个微服务架构落地技术的集合体,微服务全家桶
SpringBoot与SpringCloud关系
- Boot关注微观,一个一个微服务
- Cloud关注宏观,将一个又一个微服务有机结合起来
- Cloud为各个微服务之间提供各种集成服务
- Cloud依赖Boot,Boot不依赖Cloud
五大神兽
- 服务注册与发现——Eureka
- 客服端负载均衡——Ribbon
- 断路器——Hystrix
- 服务网关与路由——Zuul
- 分布式配置——Spring Cloud Config
获取完整源代码和相关资料
127.0.0.1 localhost
127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com
127.0.0.1 eureka7003.com
127.0.0.1 myzuul.com
127.0.0.1 config-3344.com
127.0.0.1 client-config.com