(二)SpringCloud入门
(二)SpringCloud入门
1.1 SpringCloud是什么


SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于Netflix的开源组件作高度抽象封装之外,还有一些选型中立的开源组件。
SpringCloud利用SpringBoot的开发便利性,巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理,服务发现,断路器,微代理,时间总线,全局锁,决策竞选,分布式会话等等,他们都可以用SpringBoot的开发风格作到意见启动和部署
SpringBoot并没有重复造轮子,他只是将目前各家公司开发的比较成熟,禁得起实际考研的服务框架组合起来,通过SpringBoot风格进行在封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出来一套简单易懂,易部署和易维护的分布式系统开发包
SpringCloud 是分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶
1.2 SpringCloud与SpringBoot的关系
- SpringBoot专注于快速方便开发单个个体微服务。 -JAR包
- SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个单体微服务整合并管理起来,为各个微服务之间提供:配置管理,服务发现,断路器,路由,微代理,事件总线,全局锁,决策竞选,分布式会话等等集成服务
- SpringBoot可以离开SpringCloud独立使用,开发项目,但是SpringCloud离不开SpringBoot,属于依赖关系
- SpringBoot专注于快速,方便的开发单个个体微服务,SpringCloud关注全局的服务治理框架
1.3 Dubbo和 SpringCloud技术选型
1. 分布式+服务治理Dubbo
目前成熟的互联网架构:应用服务话拆分 + 消息中间件

2.SpringCloud 与 Dubbo的对比
结果:
| Dubbo | Spring | |
|---|---|---|
| 服务注册中心 | Zoopeeper | Spring Cloud Eureka |
| 服务调用方式 | RPC | REST API |
| 服务监控 | Dubbo-monitor | Spring Boot Admin |
| 断路器 | 不完善 | Spring Cloud Netflix Hystrix |
| 服务网关 | 无 | Spring Cloud Netflix Zuul |
| 分布式配置 | 无 | Spring Cloud Config |
| 服务跟踪 | 无 | Spring Cloud Sleuth |
| 消息总线 | 无 | Spring Cloud Bus |
| 数据流 | 无 | Spring Cloud Stream |
| 批量任务 | 无 | Spring Cloud Task |
最大区别:SpringCloud抛弃了Dubbo的RPC通信,采用的是基于Http的Rest方式
品牌机与组装机的区别
社区支持与更新力度
设计模式+微服务拆分思想
参考书:
- https://www.springcloud.cc/spring-cloud-netflix.html
- 中文API文档: https://www.springcloud.cc/spring-cloud-dalston.html
- SpringCloud中国社区: http://www.springcloud.cn/
- SpringCloud中文官网:https://www.springcloud.cc/
2.1总体介绍
-
我们会使用一个Dept部门模块做一个微服务通用案例Consumer消费(Client) 通过REST调用Provider提供者(server) 提供的服务
-
回忆Spring,SpringMVC,MyBatis等以往学习的知识。。。
-
Maven的分包模块架构复习
-
一个简单的Maven模块结构是这样的: -- app-parent: 一个父项目(app-parent)聚合很多子项目(app-util,app-dao,app-web...) |--pom.xml | |--app-core ||----pom.xml | |--app-web ||----pom.xml ......一个父工程带着多个子Module子模块
MicroServiceCloud父工程(Project) 下初次带着3个子模块(Module)
- microservicecloud-api 【封装的整体entity/接口/公共配置等】
- microservicecloud-provider-dept-8001 【服务提供者】
- microservicecloud-consumer-dept-80 【服务消费者】
-
动手开干!!

浙公网安备 33010602011771号