1.开发篇(脚手架下载)

简介: 本文介绍基于Spring Cloud Alibaba与Kubernetes的微服务开发实践,重点分享项目初始化与本地启动的高效工具。通过阿里云EDAS 3.0及配套插件,开发者可快速搭建应用并自动对接注册中心,显著提升开发体验。后续将深入讲解云端部署与端云互联能力。

前言


近年来,云原生、Kubernetes、微服务、SpringCloud 这些名词在技术圈内不绝于耳,数据显示,使用 SpringCloud 作为微服务的框架,同时选择 Kubernetes 作为应用与基础设施运维底座的团队越来越多,这二者的搭档基本上成为了业界的主流配搭。


为了顺应这一趋势,EDAS 也紧紧围绕这一典型场景,对它的开发、测试、部署、联调、线上运维等诸多环节中的开发者体验进行深度打磨,发布了全新的 3.0 版本。同时,针对如何在采用了 SpringCloud + Kubenetes 架构的应用上使用 EDAS,我们团队提供各个环节的最佳实践,供开发者参考。


本篇进入我们的第一章节:开发。


初始化项目


阿里巴巴从 2018 年开始开源了以原阿里集团中间件为主要能力、全方位对标 SpringCloud Netflix 的全家桶服务,也就是目前的 Spring Cloud Alibaba 项目(https://github.com/alibaba/spring-cloud-alibaba),经过两年多的发展,这个项目受到了越来越多开发者的喜爱,目前的 star 数也达到了 14K。


不过对于开发者而言,选择变多的同时,往往也会伴随一些烦恼,比如:我们到底需要使用什么版本?如何选择依赖的服务?如何解决公共组件的冲突问题?为了解决这些问题,阿里云去年上线了一款项目初始化工具(http://start.aliyun.com) ,如下图:


我们通过这个页面提供了一个生成 Java 应用(不只是 SpringCloud 应用)的白屏化工具,对于一个最简单的 Spring Cloud 应用,只有一项是您必须要选择的依赖,就是 Spring Cloud Alibaba 选项卡下的 Nacos Service Discovery 组件。选中之后,点击按钮组中橙色的 “生成” ,工具会根据所需的依赖自动生成一份可直接打包运行的 pom.xml 文件,同时将所有内容打成一个标准的 Java 项目工程包供您下载。


1.脚手架下载Demo


(http://start.aliyun.com) 这里我建议选择如下配置:



如果你不确定是否勾选正确,也可以用我下面这个附件:📎demo.zip

在本地跑起来


下载完生成的项目工程之后,对于常规 Spring Cloud 应用开发开发流程,下一步是需要去找一个(或本地搭建一个)注册中心(如:Nacos),这个过程往往是需要花费一定时间的。去年年底我们在阿里云的 IDE 插件 Cloud Toolkit 中开发了一个自动拉起/选择注册中心, 并将应用自动适配到所选择的注册中心的功能。界面如下图:


2.安装EDAS插件



可以按照自身以及团队的需求,选择合适的注册中心,如:可以选择"Use Local Registry"(适合个人开发)、或选择"Join Custom Registry"(适合团队开发)、也选择云上的 Nacos 集群(和云上服务联调);选择好之后,按照正常流程再在 IDE 中启动您的应用程序,此时应用就会自动适配到所选择的注册中心中,无需再去搭建一个,完全免维护。这里选择本地注册中心,点击启动

出现以下地址,访问:http://127.0.0.1:8080  (以实际提示为准)

浏览器访问如图,即本地注册中心启动成功


提前做一个预告,关于开发者联调这一块的能力我们将会有专门的章节来讲解 EDAS 中的端云互联的能力,您也可以去阿里云官方文档中搜索《端云互联简介》进行前期的了解。


结语及其后续


在本篇中,我们站在开发者的视角对于项目初始化和本地启动两个开发过程中的基本环节,分别推荐了两个工具,它们的功能并不限于文章中提到的部分,还有更多和更强大的能力等待着我们自己去挖掘,EDAS 团队也将会在开发者体验上持续深耕,如果您有什么建议欢迎在文章下边进行留言分享。


另外,此次分享的内容并没有关于 Kubernetes 有关的话题,因为这个分享是一个系列文章,本篇仅介绍上述两个场景,Kubernetes 等相关内容将在后续分享中逐步介绍,下一篇的内容是:部署到云端,敬请期待。

相关文章
|
Cloud Native Java 数据库
阿里云spring脚手架的优势
阿里云spring脚手架的优势
2114 2
|
消息中间件 IDE Java
阿里云spring脚手架
阿里云spring脚手架
5630 1
|
存储 关系型数据库 MySQL
【MYSQL】金额(金钱)相关的数据存储类型
int 对于游戏币等代币,一般存储为int类型是可行的。 问题在于越界,int类型长度为11位。 在存储人民币相关的金额的时候,则只能存储到9长度的人民币,也就是说,最大只能存储999999999,不到10亿的数值,如果业务增长很快的话,就会给自己留下隐患。
5531 0
|
10月前
|
Java 测试技术 Linux
生产环境发布管理
本文介绍大型团队中多环境自动化部署实践,涵盖DEV、TEST、PRE、PROD各环境职责,结合CI/CD平台实现代码发布与回滚,并通过Skywalking等工具高效排查日志,提升发布效率与系统稳定性。
|
5月前
|
Java Nacos 微服务
基于 Spring Cloud Alibaba 的微服务毕设架构设计与云原生部署实践
本文为计算机专业毕设提供轻量级云原生实践方案:基于Spring Cloud Alibaba构建“3+1”微服务架构(Gateway+user/biz/base三服务),集成Nacos注册中心、Gateway鉴权路由、OpenFeign调用及Docker Compose一键部署,兼顾架构深度与毕设周期(2–3周可落地),适配答辩评审对分布式思维与云原生能力的隐性要求。
|
消息中间件 Java Kafka
Java 事件驱动架构设计实战与 Kafka 生态系统组件实操全流程指南
本指南详解Java事件驱动架构与Kafka生态实操,涵盖环境搭建、事件模型定义、生产者与消费者实现、事件测试及高级特性,助你快速构建高可扩展分布式系统。
587 7
|
10月前
|
消息中间件 存储 运维
RabbitMQ介绍
RabbitMQ是基于Erlang开发的开源消息中间件,实现应用程序间的异步通信。核心组件包括生产者、消费者、队列、交换机和虚拟主机,支持消息路由与隔离。通过管理控制台可便捷运维。官网:https://www.rabbitmq.com/
|
10月前
|
消息中间件 Java 数据安全/隐私保护
RabbitMQ集群部署
本文介绍了RabbitMQ集群的部署与高可用方案,涵盖普通集群、镜像模式及仲裁队列。通过Docker搭建3节点集群,配置Erlang Cookie和rabbitmq.conf实现节点通信;利用镜像模式实现队列高可用,支持exactly、all、nodes三种策略;并重点讲解RabbitMQ 3.8+推荐的仲裁队列,简化高可用配置,提升系统容错能力。
|
消息中间件 JavaScript Dubbo
spring cloud alibaba springboot nacos 版本对应
spring cloud alibaba springboot nacos 版本对应
11023 0
|
11月前
|
缓存 监控 Java
拆解一个真实电商项目:微服务架构中的服务治理与性能优化
本课程以母婴电商重构为背景,系统讲解微服务架构落地实践。涵盖服务拆分、Nacos治理、分布式缓存、事务、限流熔断等核心问题,结合Spring Cloud Alibaba技术栈,提供完整项目代码与40小时实战视频,助力开发者掌握从单体到分布式架构的演进能力。
389 14