(二)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方式

品牌机与组装机的区别

社区支持与更新力度

设计模式+微服务拆分思想

参考书:

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 【服务消费者】
  • 动手开干!!

posted @ 2020-02-14 17:32  TwoKe  阅读(16)  评论(0)    收藏  举报