做者 | 孤弋 阿里云高级技术专家,负责 EDAS 的开发和用户体验优化工做。git
近年来,云原生、Kubernetes、微服务、SpringCloud 这些名词在技术圈内不绝于耳,数据显示,使用 SpringCloud 做为微服务的框架,同时选择 Kubernetes 做为应用与基础设施运维底座的团队愈来愈多,这两者的搭档基本上成为了业界的主流配搭。github
为了顺应这一趋势,EDAS 也牢牢围绕这一典型场景,对它的开发、测试、部署、联调、线上运维等诸多环节中的开发者体验进行深度打磨,发布了全新的 3.0 版本。同时,针对如何在采用了 SpringCloud + Kubernetes 架构的应用上使用 EDAS,咱们团队提供各个环节的最佳实践,供开发者参考。spring
本篇进入咱们的第一章节:开发。架构
阿里巴巴从 2018 年开始开源了以原阿里集团中间件为主要能力、全方位对标 SpringCloud Netflix 的全家桶服务,也就是目前的 Spring Cloud Alibaba 项目(https://github.com/alibaba/spring-cloud-alibaba),通过两年多的发展,这个项目受到了愈来愈多开发者的喜好,目前的 star 数也达到了 14K。框架
不过对于开发者而言,选择变多的同时,每每也会伴随一些烦恼,好比:咱们到底须要使用什么版本?如何选择依赖的服务?如何解决公共组件的冲突问题?为了解决这些问题,阿里云去年上线了一款项目初始化工具(http://start.aliyun.com) ,以下图:less
咱们经过这个页面提供了一个生成 Java 应用(不仅是 SpringCloud 应用)的白屏化工具,对于一个最简单的 Spring Cloud 应用,只有一项是您必需要选择的依赖,就是 Spring Cloud Alibaba 选项卡下的 Nacos Service Discovery 组件。选中以后,点击按钮组中橙色的 “生成” ,工具会根据所需的依赖自动生成一份可直接打包运行的 pom.xml 文件,同时将全部内容打成一个标准的 Java 项目工程包供您下载。运维
下载完生成的项目工程以后,对于常规 Spring Cloud 应用开发开发流程,下一步是须要去找一个(或本地搭建一个)注册中心(如:Nacos),这个过程每每是须要花费必定时间的。去年年末咱们在阿里云的 IDE 插件 Cloud Toolkit 中开发了一个自动拉起/选择注册中心, 并将应用自动适配到所选择的注册中心的功能。界面以下图:ide
能够按照自身以及团队的需求,选择合适的注册中心,如:能够选择"Use Local Registry"(适合我的开发)、或选择"Join Custom Registry"(适合团队开发)、也选择云上的 Nacos 集群(和云上服务联调);选择好以后,按照正常流程再在 IDE 中启动您的应用程序,此时应用就会自动适配到所选择的注册中心中,无需再去搭建一个,彻底免维护。微服务
提早作一个预告,关于开发者联调这一块的能力咱们将会有专门的章节来说解 EDAS 中的端云互联的能力,您也能够去阿里云官方文档中搜索《端云互联简介》进行前期的了解。工具
在本篇中,咱们站在开发者的视角对于项目初始化和本地启动两个开发过程当中的基本环节,分别推荐了两个工具,它们的功能并不限于文章中提到的部分,还有更多和更强大的能力等待着咱们本身去挖掘,EDAS 团队也将会在开发者体验上持续深耕,若是您有什么建议欢迎在文章下边进行留言分享。
另外,这次分享的内容并无关于 Kubernetes 有关的话题,由于这个分享是一个系列文章,本篇仅介绍上述两个场景,Kubernetes 等相关内容将在后续分享中逐步介绍,下一篇的内容是:部署到云端,敬请期待。
为了更多开发者可以享受到 Serverless 带来的红利,这一次,咱们集结了 10+ 位阿里巴巴 Serverless 领域技术专家,打造出最适合开发者入门的 Serverless 公开课,让你即学即用,轻松拥抱云计算的新范式——Serverless。
点击便可免费观看课程:https://developer.aliyun.com/learning/roadmap/serverless
“阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,作最懂云原生开发者的公众号。”