开发篇(脚手架下载)

简介: 本文介绍基于SpringCloud + Kubernetes的微服务开发实践,重点讲解EDAS 3.0如何优化开发者体验。通过阿里云项目初始化工具快速搭建Spring Cloud Alibaba应用,并利用Cloud Toolkit插件实现本地免运维注册中心,一键启动服务,显著提升开发效率。后续将深入部署、联调等环节。

前言
近年来,云原生、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
(72 KB)
在本地跑起来
下载完生成的项目工程之后,对于常规 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 等相关内容将在后续分享中逐步介绍,下一篇的内容是:部署到云端,敬请期待。

相关文章
|
5月前
|
SQL NoSQL 前端开发
大厂如何解决订单幂等问题
在分布式系统中,网络重试易导致重复请求,需保证接口幂等性。创建订单时可预生成唯一订单号,利用数据库主键唯一约束防止重复插入;更新订单时通过版本号机制,校验并原子更新数据,避免ABA问题。结合Redis或数据库状态标记,确保支付等操作不重复执行,保障数据一致性,适用于各类需幂等的业务场景。
|
5月前
|
SQL 安全 关系型数据库
了解SQL注入
SQL注入是通过恶意构造输入数据篡改数据库查询的攻击方式,可导致身份绕过、数据泄露、篡改甚至远程命令执行。其成因在于应用对用户输入验证不足,攻击者利用特殊字符改变SQL逻辑。OWASP将其列为头号Web威胁。防御需结合白名单验证、参数化查询、错误信息屏蔽及网络层防护如IPS,确保数据与代码分离,杜绝注入可能。(238字)
|
XML 并行计算 算法
[Eigen中文文档] 求解稀疏线性系统
在Eigen中,有多种方法可用于求解稀疏系数矩阵的线性系统。由于此类矩阵的特殊表示,必须特别小心以获得良好的性能。本文列出了Eigen中可用的稀疏求解器。还介绍了所有这些线性求解器共同的主要步骤。根据矩阵的属性、所需的准确度,最终用户可以调整这些步骤以提高其代码的性能。请注意,并不需要深入了解这些步骤背后的内容:最后一节介绍了一个基础例程,可轻松使用以获取所有可用求解器的性能洞察。
1074 0
|
Linux 测试技术 开发工具
Linux的进程pid编号极限
整理本文,起源是看到知乎上的一个问题,为什么Linux的进程pid编号极限最大值( process pid max)是131070?
|
资源调度 前端开发 API
Kiwi-国际化全流程解决方案
目前有很多成熟的库可以帮助前端去做对应的国际化方案,比较知名的有 react-intl 以及 I18N-loader。这些库都可以很好的解决代码中多种语言切换的问题
Kiwi-国际化全流程解决方案
|
5月前
|
SpringCloudAlibaba Java Nacos
SpringCloud概述
Spring Cloud是Spring推出的微服务统一解决方案,弥补了各技术分散的不足,具备约定优于配置、组件丰富、开箱即用等特点。通过伦敦地铁站命名版本,避免与子项目版本冲突。Spring Cloud Alibaba融合阿里开源组件(如Nacos、Sentinel、Seata等),提供完整微服务生态,因Netflix组件停更,现成为主流选择。本节介绍其诞生背景、版本机制及技术体系,为后续实战奠定基础。
|
9月前
|
运维 测试技术 Nacos
说一下nacos心跳机制
Nacos心跳机制是服务注册与发现的核心,服务实例通过定时发送心跳包(默认5秒一次)向Nacos表明存活状态。Nacos通过记录最后心跳时间并设置超时策略(15秒未收到标记为不健康,30秒剔除),确保服务列表的准确性。采用UDP协议减少性能开销,支持动态调整心跳频率,适应不同部署场景,提升系统稳定性和服务调用可靠性。
724 0
|
5月前
|
容灾 关系型数据库 Nacos
Seata的部署和集成
本文介绍Seata分布式事务TC服务的部署与微服务集成步骤。包括下载、配置、数据库表初始化,通过Nacos实现配置共享与注册,搭建高可用集群,并实现异地容灾。微服务通过统一配置中心动态映射事务组,提升系统灵活性与可靠性。(239字)
|
11月前
|
存储 自然语言处理 Java
《Java开发者必知:LangChain4j实现RAG系统多模型调度的深度剖析》
RAG(检索增强生成)系统通过结合大语言模型与外部知识检索,解决了知识更新和结果准确性等问题。LangChain4j作为Java框架,在构建RAG系统时具备显著优势,尤其多模型调度功能可灵活选择模型,提升性能与适用性。本文探讨如何用LangChain4j实现多模型调度,涵盖模型初始化、注册表构建、动态切换及协作机制,同时解决性能优化、兼容性与数据隐私等挑战,助力开发者打造高效、可靠的RAG系统。
519 3

热门文章

最新文章