背景
现在的微服务框架一般分dubbo和springcloud两套服务治理体系,dubbo是基于zookeeper为注册中心,springcloud是基于eureka作为注册中心。
但是现在eureka作为注册中心停止更新了,只有维护状态。并且netfix体系的feign和hystrix也是停止更新了,官方都开始推荐其他的代替方案。eureka这套体系也挺好用的,比较兼顾SpringMvc开发习惯,也辉煌了4个年头,尽力了。
本章节会讲述我在部署Nacos遇到的坑点,后续把SpringCloudAlibaba体系不为人知的坑给告诉大家。
最近在做商城项目,前后端都是自己开发,所以用一套最新的后端技术栈。
springcloud官方文档也把springCloud alibaba放在了文档,而且alibaba放弃zookeeper作为注册中心,并且把dubbo捡起来作为服务调用,所以后续开发新项目打算使用新的微服务治理体系及其周边配套。
指标 | 服务治理与发现 | RPC远程调用方式 | 服务配置 | 定时任务调度 | 消息通信 | 前端 | 网关 |
---|---|---|---|---|---|---|---|
技术组件 | Nacos | Dubbo的rpc | Nacos | Xschedule | RocketMq | VUE、UNIAPP | dubbo服务发现+url中转方式 |
目的
- 基于SpringCloudDubbo体系进行开发,踩坑,给大家减少坑。后续每章节都讲我遇到上述技术栈的坑点。
- 按照官方文档实行时,我发现问题后,告诉大家。
- 虽然都是跟着样例做,但是样例也不一定描述完整,阿里巴巴的组件都是一个通病,文档描述不全。如:seata。虽然Nacos不是阿里的。
- 本节先讲述部署Nacos,解决nacos启动不起来,或者nacos启动报错的问题,nacos启动时jdbc错误。
好久没写过文章了。带着大家一起开发新玩具,让大家知道避开我踩过的坑。持续更新。把官方样例中没有写清楚的点告诉大家。
关注微信公众号【地藏思维】即可获得最新的文章、互联网资讯
掘金:地藏Kelvin
Nacos部署时的踩坑点
先看看官方文档介绍
一般会按照文档来,执行命令。如果有问题请看后面。
https://nacos.io/zh-cn/docs/quick-start.html
- 第一步下载安装JDK、MAVEN没有问题
- 第二步无须下载源码来编译,只需要下载稳定版的nacos-server-$version.zip 文件就行了。
- 若在此时,执行第三步骤就糟了。并不能直接运行下载好的文件,需要进行配置,若不配置对,nacos就无法启动,或者nacos启动报错jdbc,或者dubbo服务注册nacos报read time out错误。
Nacos启动错误jdbc connect error解决办法——缺少配置文件
需要的步骤
- 进入nacos\conf\目录有几个关键文件
nacos-mysql、application.properties、cluster.conf.example - 需要先打开application.properties
把原本注释掉的下述代码给打开
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://ip:端口/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=***
db.password=***
并且创建一个数据库,在上述代码替换数据库端口、ip、用户名密码
- 复制cluster.conf.example为cluster.conf
在这个文件里面,把ip端口全删掉,剩下localhost:8848就可以了。
这里一定要填,不然dubbo服务注册Nacos时,nacos会报Read Time Out。 - 打开数据库,执行nacos\conf\目录下的nacos-mysql.sql里面的内容,若是oracle则使用schema.sql。
- 这个时候,再在nacos\bin\目录下,双击startup.cmd即可运行
- 启动登录页面localhost:8848/nacos ,然后用户名密码都是填nacos
到此则能完成Nacos的启动。
结语
后续将会揭晓你们在使用SpringCloudAlibaba时,将会遇到的坑点,因为即使看文档跟着文档你也弄不出一样的效果。
每次的文章都会简短,精简说明坑点和如何解决。
注:赠送入门官方文档
文档: https://spring.io/projects/spring-cloud
源码与demo: https://gitee.com/mirrors/Spring-Cloud-Alibaba
Nacos简介: https://nacos.io/zh-cn/docs/what-is-nacos.html
欢迎关注公众号,文章更快一步
我的公众号 :地藏思维
掘金:地藏Kelvin
简书:地藏Kelvin
我的Gitee: 地藏Kelvin https://gitee.com/kelvin-cai