《SpringCloudDubbo开发日记》(一)Nacos连官方文档都没写好
背景
现在的微服务框架一般分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、用户名密码
3. 复制cluster.conf.example为cluster.conf
在这个文件里面,把ip端口全删掉,剩下localhost:8848就可以了。
这里一定要填,不然dubbo服务注册Nacos时,nacos会报Read Time Out。
4. 打开数据库,执行nacos\conf\目录下的nacos-mysql.sql里面的内容,若是oracle则使用schema.sql。
5. 这个时候,再在nacos\bin\目录下,双击startup.cmd即可运行
6. 启动登录页面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
《SpringCloudDubbo开发日记》(一)Nacos连官方文档都没写好的更多相关文章
- App开发架构指南(谷歌官方文档译文)
这篇文章面向的是已经掌握app开发基本知识,想知道如何开发健壮app的读者. 注:本指南假设读者对 Android Framework 已经很熟悉.如果你还是app开发的新手,请查看 Getting ...
- 终端开发补充 : 读 curses模块官方文档...
curses是一个提供终端屏幕打印和键盘处理的库, 我个人的理解就是终端里的gui(当然它是基于文本的)... 写2048的时候用到了这个库, 所以现在过来好好研究一下这个库... 下面是文档内容 : ...
- JPush 初始化失败,直接按照官方文档的格式写的,portal上的包名肯定不会错,mainfest里面直接指定${applicationId}
错误日志: 11-27 09:59:19.670 26124-26124/? D/dalvikvm: Late-enabling CheckJNI 11-27 09:59:20.008 26124-2 ...
- iOS开发官方文档汇总
程序员的学习过程是无止境的,程序员学习的途径是多样的.可以从视频教程中领悟,也可以从他人的代码中 理解.但当我们专注于某一个平台在开发的时候,对于某个API使用或者功能实现有疑问,通常简单的测试可以让 ...
- citus 多租户应用开发(来自官方文档)
citus 官方文档很不错,资料很全,同时包含一个多租户应用的文档,所以运行下,方便学习 环境准备 使用docker-compose 运行,同时集成了graphql 引擎,很方便 docker-c ...
- 【pytest官方文档】解读- 开发可pip安装的第三方插件
在上一篇的 hooks 函数分享中,开发了一个本地插件示例,其实已经算是在编写插件了.今天继续跟着官方文档学习更多知识点. 一个插件包含一个或多个钩子函数,pytest 正是通过调用各种钩子组成的插件 ...
- Kotlin开发语言文档(官方文档)-- 目录
开始阅读Kotlin官方文档.先上文档目录.有些内容还未阅读,有些目录标目翻译还需琢磨琢磨.后续再将具体内容的链接逐步加上. 文档链接:https://kotlinlang.org/docs/kotl ...
- Protocol Buffers官方文档(开发指南)
本文是对官方文档的翻译,然后截取了一篇非常优秀的文章片段来帮助理解,本人英文水平有限,基本都是直译,如果有不理解的地方请参考英文官方文档,参考的文章链接在文章末尾 protocol buffers简介 ...
- 2DToolkit官方文档中文版打地鼠教程(二):设置摄像机
这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...
随机推荐
- NET Core Kestrel部署HTTPS 一个服务器绑一个证书 一个服务器绑多个证书
.net core 3.0 网站发布到centos后,绑定ssl证书,一个服务器绑一个证书,一个服务器绑多个证书 开始之前:对于windows服务器不存在这个问题,在iis中绑定证书是非常简单的一件事 ...
- .net core 3.0 web api 重点设置,主要为了解决axios post不到参数问题
这两天研究.net core 3.0升级,前端vue+axios 后端web api.测试过程中发现post的时候,由于提交的是json对象,后端web api获取不到数据. 今天贴了下解决过程.主要 ...
- MonoBehaviour生命周期与对象数据池应用
预热游戏对象: tempObject = Instantiate(cubePrefab) as GameObject ; tempObject .SetActive( false ); 游戏对象tem ...
- Unity调试外部DLL
1.更改DLL的.csproj工程配置文件,在里面添加如下属性:<PropertyGroup Condition=" '$(OS)' == 'Unix' "> ...
- gcd(a,b) 复杂度证明
(b,a%b) a%b<=min(b,a%b)/2 a>=b时每次至少缩减一半 a<b时下次a>b 所以复杂度最多2log(max(a,b)) 证明:a%b<=min(a ...
- 剑指 Offer 54. 二叉搜索树的第k大节点
题目描述 给定一棵二叉搜索树,请找出其中第k大的节点. 示例1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 4 示例2: 输入: root ...
- 手把手教你 在Pytorch框架上部署和测试 关键点人脸检测项目DBFace,成功实现人脸检测效果
这期教向大家介绍仅仅 1.3M 的轻量级高精度的关键点人脸检测模型DBFace,并手把手教你如何在自己的电脑端进行部署和测试运行,运行时bug解决. 01. 前言 前段时间DBFace人脸检测库横空出 ...
- Agumaster 改善了pagination
页面越来越完善了.
- 11.redis cluster的hash slot算法和一致性 hash 算法、普通hash算法的介绍
分布式寻址算法 hash 算法(大量缓存重建) 一致性 hash 算法(自动缓存迁移)+ 虚拟节点(自动负载均衡) redis cluster 的 hash slot 算法 一.hash 算法 来了一 ...
- 顶 最新简捷实用的JSP动态网站环境搭建详细步骤
阿里西西小编给您推荐这个最新简捷实用的JSP动态网站环境搭建详细步骤讲解,这里还有关于JSP 动态网站 环境 搭建 的教程,希望您能够喜欢并学到东西提升自己的知识与技能,下面是内容详细阅读: 最新简捷 ...