背景

现在的微服务框架一般分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中转方式

目的

  1. 基于SpringCloudDubbo体系进行开发,踩坑,给大家减少坑。后续每章节都讲我遇到上述技术栈的坑点。
  2. 按照官方文档实行时,我发现问题后,告诉大家。
  3. 虽然都是跟着样例做,但是样例也不一定描述完整,阿里巴巴的组件都是一个通病,文档描述不全。如:seata。虽然Nacos不是阿里的。
  4. 本节先讲述部署Nacos,解决nacos启动不起来,或者nacos启动报错的问题,nacos启动时jdbc错误。

好久没写过文章了。带着大家一起开发新玩具,让大家知道避开我踩过的坑。持续更新。把官方样例中没有写清楚的点告诉大家。

关注微信公众号【地藏思维】即可获得最新的文章、互联网资讯

掘金:地藏Kelvin

Nacos部署时的踩坑点

先看看官方文档介绍

一般会按照文档来,执行命令。如果有问题请看后面。

https://nacos.io/zh-cn/docs/quick-start.html

  1. 第一步下载安装JDK、MAVEN没有问题
  2. 第二步无须下载源码来编译,只需要下载稳定版的nacos-server-$version.zip 文件就行了。
  3. 若在此时,执行第三步骤就糟了。并不能直接运行下载好的文件,需要进行配置,若不配置对,nacos就无法启动,或者nacos启动报错jdbc,或者dubbo服务注册nacos报read time out错误。

Nacos启动错误jdbc connect error解决办法——缺少配置文件

需要的步骤

  1. 进入nacos\conf\目录有几个关键文件

    nacos-mysql、application.properties、cluster.conf.example
  2. 需要先打开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连官方文档都没写好的更多相关文章

  1. App开发架构指南(谷歌官方文档译文)

    这篇文章面向的是已经掌握app开发基本知识,想知道如何开发健壮app的读者. 注:本指南假设读者对 Android Framework 已经很熟悉.如果你还是app开发的新手,请查看 Getting ...

  2. 终端开发补充 : 读 curses模块官方文档...

    curses是一个提供终端屏幕打印和键盘处理的库, 我个人的理解就是终端里的gui(当然它是基于文本的)... 写2048的时候用到了这个库, 所以现在过来好好研究一下这个库... 下面是文档内容 : ...

  3. 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 ...

  4. iOS开发官方文档汇总

    程序员的学习过程是无止境的,程序员学习的途径是多样的.可以从视频教程中领悟,也可以从他人的代码中 理解.但当我们专注于某一个平台在开发的时候,对于某个API使用或者功能实现有疑问,通常简单的测试可以让 ...

  5. citus 多租户应用开发(来自官方文档)

      citus 官方文档很不错,资料很全,同时包含一个多租户应用的文档,所以运行下,方便学习 环境准备 使用docker-compose 运行,同时集成了graphql 引擎,很方便 docker-c ...

  6. 【pytest官方文档】解读- 开发可pip安装的第三方插件

    在上一篇的 hooks 函数分享中,开发了一个本地插件示例,其实已经算是在编写插件了.今天继续跟着官方文档学习更多知识点. 一个插件包含一个或多个钩子函数,pytest 正是通过调用各种钩子组成的插件 ...

  7. Kotlin开发语言文档(官方文档)-- 目录

    开始阅读Kotlin官方文档.先上文档目录.有些内容还未阅读,有些目录标目翻译还需琢磨琢磨.后续再将具体内容的链接逐步加上. 文档链接:https://kotlinlang.org/docs/kotl ...

  8. Protocol Buffers官方文档(开发指南)

    本文是对官方文档的翻译,然后截取了一篇非常优秀的文章片段来帮助理解,本人英文水平有限,基本都是直译,如果有不理解的地方请参考英文官方文档,参考的文章链接在文章末尾 protocol buffers简介 ...

  9. 2DToolkit官方文档中文版打地鼠教程(二):设置摄像机

    这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...

随机推荐

  1. Java动态代理(三)——Cglib动态代理

    一.Cglib动态代理Cglib是一个优秀的动态代理框架,它的底层使用ASM在内存中动态的生成被代理类的子类,使用Cglib即使代理类没有实现任何接口也可以实现动态代理功能.而且,它的运行速度要远远快 ...

  2. IDEA创建动态Web项目

    1.IDEA创建动态Web项目 1.1.使用IDEA创建动态Web项目,选择Java Enterprise,记得选择服务器,我这里使用的时tomcat 1.2记得勾选Web Application,其 ...

  3. MYSQL经典练习题,熟悉DQL

    MYSQL经典练习题 (本练习题可让你熟悉DQL,快速的上手DQL) 首先,先在数据库中建立基本数据库以及表项: DROP DATABASE IF EXISTS `test`; CREATE DATA ...

  4. [NOIP2018]保卫王国 题解

    NOIP2018提高组D2T3 ddp虽然好想,但是码量有点大(其实是我不会),因此本文用倍增优化树形DP来解决本题. 题意分析 给一棵树染色,每个节点染色需要一定的花费,要求相邻两个节点至少要有一个 ...

  5. 好看的css渐变颜色大全网址

    60个渐变颜色 https://webkul.github.io/coolhue/ 60个非常有用的CSS代码片段 https://baijiahao.baidu.com/s?id=160278735 ...

  6. 深入理解C++中的new/delete和malloc/free动态内存管理

    malloc/free和new/delete的区别 malloc/free是C/C++标准库的函数:new/delete是C++操作符. malloc/free只是动态分配内存空间/释放空间:new/ ...

  7. Labview学习之路(七)for和while的理论要点

    for循环 循环次数可以为0(N的接线端为) 终止条件:1. 完成N次循环.      2. 添加条件接线端,就像while循环的红点一样,(方法,右键点击边框,添加条件接线端) 数组通过自动索引接入 ...

  8. VSCode优雅编码

    安装eslint 修改eslint配置 rules: { 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', ...

  9. C# .NET容器的源码

    这里有List<T>的源码http://referencesource.microsoft.com/#mscorlib/system/collections/generic/list.cs

  10. HDU-多校2-Everything Is Generated In Equal Probability(公式+逆元)

    Problem Description One day, Y_UME got an integer N and an interesting program which is shown below: ...