基于springboot2.0的Springcloud入门项目

school-springcloud-springboot是一个基于Springcloud的课程管理系统,它是什么系统其实不是很重要,关键是它利用Springboot的开发便利性巧妙地简化了分布式系统基础设施的开发,加入了Springcloud系列框架特有服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等功能,可以让你真正的感受到微服务的魅力。所以Springcloud几乎是现在微服务开源界最好的产品了。与Dubbo比较起来,Springcloud的使用会让你更加的爱不释手。

一、运行工具、技术与环境

  • 运行环境:JDK 8,gradle 4.0+
  • 技术栈:SpringBoot 2.0+、Druid、Thymeleaf、Mybatis
  • 微服务Springcloud技术栈:Spring Cloud Config、Spring Cloud Bus、Eureka、Hystrix、Zuul、Spring Cloud Gateway、Spring Cloud Sleuth、Ribbon、Feign、zipkin、hystrix-dashboard
  • 工具:IntelliJ IDEA、谷歌浏览器、Mysql、RabbitMq

二、Springboot快速集成Springcloud关键的依赖

dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.3.RELEASE")
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:Finchley.RELEASE"
    }
}

三、各个module介绍

1、eureka-server:基于Eureka的注册中心,提供服务发现与注册。

2、zuul-server:基于zuul微服务网关服务器,提供动态路由与负载分配等等。

3、gateway-server:基于spring自家的Spring Cloud Gateway微服务网关,它是底层是webflux,也可以提供动态路由与负载分配等等。
4、config-server:配置中心服务端。

5、hystrix-dashboard:基于Hystrix的仪表盘组件的项目,可以通过网页实时浏览Hystrix的各项指标信息。

6、main-operation:提供CourseType的服务的项目,里面包括配置中心、feign等技术。

7、user-operation:提供User的服务的项目,包括Spring Cloud Sleuth、feign等技术。

8、zipkin-server:Zipkin分布式跟踪项目。

9、main-school:主操作项目。

四、架构图

cmd-markdown-logo

从架构图中可以看出,微服务最大的魅力:整个系统虽然各个项目之间是解耦的,但是它们通过不同的方式有紧密得结合起来了。换句话说:整个系统各个模块的负责人只需维护各自模块,看起来没怎么联系,实际上是暗箱操作,整个系统密不可分,这就使得系统可以快速平稳得运行起来。对于开发者来说是好事,项目粒度降低,无需特别理会与其他模块关系,开发方便,再加上例如zipkin等对埋点进行监控,怎么说,高效,方便,一系列的词都可以用啦!(我就不细讲了,要是写起来需要好多好多文字,写不完,所以你们就仔细本项目的架构图吧)

关于上图说明:上图是我实际项目的机构图,我并不是每一个模块(小项目)都有配置中心客户端或者是断路器hystrix等等,比如我只在main-operation里面配置了config配置中心客户端,但是我没有在其他模块配置config配置中心客户端,为何这么做,只因为我想在尽量小的项目中学到更多的东西。

五、项目地址及注意

项目地址:

注意:若是该项目对初学者有困难的话,请先学习school-springcloud-springboot的简化版项目,地址如下:

六、总结

这个项目花了我好几个月时间,途中放弃了好几次,幸好最后坚持了下来,这个项目教会了我特别多东西,特别是关于架构方面的知识,受益匪浅。Springcloud确实是一个系列的很强大的框架,我觉的我学会的不仅仅是知识,更是一些关于未来的一些思考,以及思想的转变,这东西在未来应该怎么做,如何做,才能更高效。当然,你若是喜欢这个项目,请拿去,我什么都不要。因为,你的受益,是我最大的动力!


更多博客,欢迎来小秋霖~~~

smirk小泽
2018 年 07月17日

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值