之六 2流高手速成记:从SpringBoot到SpringCloudAlibaba

咱们接上回 2流高手速成记(之五):Springboot整合Shiro实现安全管理 - 14号程序员 - 博客园 (cnblogs.com)
身边常有朋友说:小项目用PHP、大项目用Java(这里绝无贬低PHP技术栈之意) , 曾经有兴趣对比过两种语言的技术栈
PHP有TP、Laravel这样成熟的企业级框架,Laravel更是秉持匠人精神,利用PHP诸多全新的特性,打造出了现代化的PHP全栈框架
Java则凭借SpringBoot诸多的便捷特性,以及idea这种超智能化ide的加持,相比于传统的JavaEE开发直接拔高了几个位次
二者在Web企业级应用开发领域各自占据了一席之地,设计思想层面也存在诸多的相似之处,如果非要找寻二者决定性的差异,我认为答案就在于——SpringCloud的存在!
从SpringBoot到SpringCloud/SpringCloudAlibaba,从单节点到多节点/微服务,完成这样一次蜕变,是我所期待已久的!

Spring Cloud是一系列框架的有序集合 。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署 。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包 。——来自百度百科
有人问SpringCloud到底是什么?我们从百科对于SpringCloud的解读不难看出几个关键信息:
1. SpringCloud是一系列框架的有序集合
2. SpringCloud与SpringBoot无缝集成,使用流程大幅简化,可基于SpringBoot实现一键部署
3. SpringCloud主要用于微服务及分布式开发,包含服务发现、配置中心、负载均衡等诸多内容
OK , 现在SpringCloud是什么清楚了,那我在标题中提到的SpringCloudAlibaba又是什么?
一句话概括——SpringCloudAlibaba是SpringCloud原基础上的扩展
SpringCloudAlibaba来自国内大名鼎鼎的阿里巴巴技术团队,他们重新提取微服务框架设计理念的精髓,在原SpringCloud基础之上派生出了新的技术栈
SpringCloudAlibaba既基于SpringCloud的设计理念,二者又在工具链层面彼此独立,我们来看他们的区别
名称SpringCloudSpirngCloudAlibaba注册中心Eureka、ConsulNacos配置中心SpringCloud ConfigNacos网关SpringCloud ZullSpringCloud Gateway负载均衡RibbonLoadbalabcer熔断降级HystrixSentinel服务调用FeignOpenFeign服务总线BusNacos消息中间件无(第三方替代方案:rabbitmq)RecketMQ分布式解决方案无(第三方替代方案:2pc)Seata从本节开始,我们会基于SpringCloudAlibaba做一系列讲解,原生SpringCloud相关技术栈放在之后讲解
1. NacosSpringCloudAlibaba体系中第一个重要角色来了!:
从上表SpringCloudAlibaba工具链构成中,我们不难发现Nacos被多次提及
Nacos在整个SpringCloudAlibaba体系中担当了多个重要角色,它既是注册中心,又是配置中心,还是服务总线
这些概念不理解?没关系,大家会在后续实际使用过程中逐渐加深认知——这是我个人很喜欢的一种风格,概念听别人讲再多,不如自己实际上手体验一次,每个人自然形成自己独有的认知
我们先移步至Nacos官网:https://nacos.io/zh-cn/index.html
前往Github下载最新的Release版本解压即可,我们到bin目录下执行命令
startup.cmd -m standalone -f naming
以单机模式启动Nacos,而后访问 http://127.0.0.1:8848/nacos/ 将进入登录界面:
之六 2流高手速成记:从SpringBoot到SpringCloudAlibaba

文章插图
初始默认账号nacos,密码nacos,登录后看到主界面
之六 2流高手速成记:从SpringBoot到SpringCloudAlibaba

文章插图
大家可以看到,最开始这里是没有内容的
2. Nacos作为注册中心新建一个SpringCloudAlibaba工程
之六 2流高手速成记:从SpringBoot到SpringCloudAlibaba

文章插图
我们依然延续第一节(2流高手速成记(之一):初识SpringBoot及基础项目构建 - 14号程序员 - 博客园 (cnblogs.com))中这种构建工程的方式
之六 2流高手速成记:从SpringBoot到SpringCloudAlibaba

文章插图
区别在于这次我们要重点勾选SpringCloud及SpringCloudAlibaba相关依赖项
之六 2流高手速成记:从SpringBoot到SpringCloudAlibaba

文章插图
之后我们将获得一个与之前SpringBoot模板略有不同的工程目录结构

推荐阅读