骚话环节
一入编程深似海,从此节操是路人。脱发已是常态,致富还需绝顶。
那天我听说程序员之间还相互鄙视,其中不能忍的终极鄙视:有女朋友的程序员鄙视没有女朋友的程序员。这不能忍,打不过怎么办,问就是加入吧。
由于是测试环境,使用版本比较新,学当然要学新知识吸收精华,羽化成仙,做那万人敬仰韩天尊。啊,不好意思,扯远了。开个玩笑,我们依旧使用稳定版本。此次在Linux发行版操作系统中全程使用root用户进行测试避免权限问题带来的干扰,如果使用普通用户请自行测试提权赋予所有者或者所属组权限。
骚话不多说,直接进入今天的主题springboot项目集成微服务组件nacos。
springboot与微服务组件nacos
必备环境,前置条件尽量保持一致:
- JDK版本: JDK17
- 开发工具和项目构建工具:STS4 & Maven3.6
- Springboot版本:Springboot2.7.x
- 服务监控三件套:Nacos2.x、Prometheus2.3.x、Grafana9.3.x
- 开发测试环境:Linux(centos-stream-9)云服务器或者VMware搭建环境
你可以了解到的知识:从项目开发构建到线上测试发布,不过,需要具备一点点Java或者其它编程语言基础知识。
tips:做实验时请检查是否关安装防火墙管理工具,关闭防火墙服务或者开启相应端口,或者放通云服务器安全组。
企业中生产环境,唯稳,稳中求快。
可以看到,我再次使用了这张流程图,在第三篇会总结使用过程。
Nacos服务快速启动
关于nacos2.2.0相关配置说明以及数据源说明,遇到问题总结,可以参考如下文章:
https://blog.cnwangk.top/2023/03/30/MySQL数据库与Nacos搭建监控服务/
使用hexo搭建静态博客网站,感兴趣可以自己搭建一个,利用github pages和cloudflare pages等进行同步。之所以给出上面的链接,因为一篇优质的教程,会持续更新迭代。当然,在个人公众号里面同样可以搜索到相关教程。
根据个人或者团队开发环境,可以选择框架开发环境:spring、springboot以及springcloud集成nacos。
值得注意的地方
服务器部署nacos服务支持多种场景:
- Nacos原生形式部署。
- Nacos Docker形式部署。
- Nacos Kubernetes形式部署。
至于用哪种方式,根据实际业务场景分析,选择符合个人或者公司业务场景的最佳方式。
Nacos支持三种部署模式
- 单机模式:用于测试和单机试用。
- 集群模式:用于生产环境,确保高可用。
- 多集群模式:用于多数据中心场景。
高可用环境准备
- 建议支撑环境:部署JDK,需要 1.8 及其以上版本
- 建议硬件配置:2核 CPU / 4G 内存 及其以上
- 建议软件配置:生产环境 3 个节点 及其以上
Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:
1、预备环境准备
-
64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
-
64 bit JDK 1.8+ 。
-
Maven 3.2.x+ 。
2、下载源码或者安装包
你可以通过源码和发行包两种方式来获取 Nacos。
个人推荐:下载发行包。关于版本,使用稳定版本(通常有GA标识),个人习惯使用官方推荐的上一个小版本。有特殊需求可以下载源码包,修改源码重新编译。
从 Github 获取源码方式,使用git clone
命令,值得注意的是你需要部署Git环境:
git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
ls -al distribution/target/
// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin
nacos发行包下载地址:
下载编译后压缩包方式,您可以从 最新稳定版本 下载 nacos-server-$version.zip 包。
unzip nacos-server-$version.zip 或者 tar -zxvf nacos-server-$version.tar.gz
cd nacos/bin
-
$version指具体nacos版本号,比如具体版本:nacos-server-2.1.1。
-
Windows平台建议下载以 .zip结尾的压缩包:nacos-server-2.1.1.zip。
-
Linux平台建议下载以 .tar.gz 结尾的压缩包:nacos-server-2.1.1.tar.gz。
3、修改配置文件
注意:修改conf
目录下的application.properties
文件。设置其中的nacos.core.auth.plugin.nacos.token.secret.key
值,详情可查看鉴权-自定义密钥:
注意,文档中的默认值
SecretKey012345678901234567890123456789012345678901234567890123456789
和VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
为公开默认值,可用于临时测试,实际使用时请务必更换为自定义的其他有效值。
4、启动服务器
Linux/Unix/Mac:执行startup.sh脚本
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
bash startup.sh -m standalone
Windows平台:执行startup.cmd脚本
启动命令(standalone代表着单机模式运行,非集群模式):
startup.cmd -m standalone
5、关闭服务器
Linux/Unix/Mac:执行shutdown.sh脚本
sh shutdown.sh
Windows平台:执行shutdown.cmd脚本
shutdown.cmd
可以在Windows中使用terminal或者cmd命令行运行shutdown.cmd命令,也可以双击shutdown.cmd运行文件。
以下为个人实战总结,仅供参考
个人开发以及测试环境:
- Spring Tool Suite4
- JDK17
- Maven3.6
- Springboot2.7.6
- VMware16 & Linux(Centos-9-Stream)
关于IDE的选择:
有人喜欢使用 IntelliJ IDEA ,有人喜欢用 Vim,有人喜欢用VSCode,还有人就偏爱 eclipse 。开发工具 IDE 的选择,不一定非要和我保持一致。个人开发者可以根据自己的喜好选择,怎么顺手怎么来,主打一个用的舒心。如果是团队开发,最优质的方案是与团队保持一致。
可能是入坑最开始接触的 IDE 是eclipse,习惯了。个人小项目偶尔会用VSCode,大型项目更趋向于 eclipse 或者 IntelliJ IDEA。
STS4 开发工具
支持OS版本,彼时最新版本是4.17.1
- Linux X86_64、Linux ARM_64
- MACOS X86_64、MACOS ARM_64
- WINDOWS X86_64
Maven 环境配置
STS4开发工具引入Maven配置
依次找到顶部菜单栏:Window---> Preferences---> Maven--->User Settings--->Global Settings & User Settings--->Apply
配置完记得点击Apply或者Apply and Close
Maven Repo配置阿里云镜像源
本地maven环境配置conf\settings.xml(使用阿里云镜像地址)ÿ