背景

现在的微服务框架一般分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. 我们真的需要JWT吗?

    JWT(JSON Web Token)是目前最流行的认证方案之一.博客园.各种技术公众号隔三差五就会推一篇JWT相关的文章,真的多如牛毛.但我对JWT有点困惑,今天写出来跟大家探讨探讨,不要喷哈. J ...

  2. Python爬取网易云音乐歌手歌曲和歌单

    仅供学习参考 Python爬取网易云音乐网易云音乐歌手歌曲和歌单,并下载到本地 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做 ...

  3. laravel封装方法在blade视图中使用

    我这里使用的是Laravel7版本(本人只用过7 这里应该和5差别不大吧....) 首先需要在app/Providers/AppServiceProviders.php下的boot方法进行设置 示例: ...

  4. pybind11: C++ 工程如何提供 Python 接口

    C/C++ 工程提供 Python 接口,有利于融合进 Python 的生态.现在 Python 在应用层,有其得天独厚的优势.尤其因为人工智能和大数据的推波助澜, Python 现在以及未来,将长期 ...

  5. Unity坑之 加了Rigidbody后主角反而朝天上飞?

    今儿在做项目的时候,给主角加上一个Rigidbody组件,设置如下图: 然后问题来了,我本来是想让主角通过重力控制,掉到地上,但是加上之后,主角反而朝着天上飞! 这TM什么鬼? 经过多番探查,发现是A ...

  6. Unity坐标系详解

    1. World Space(世界坐标系): 我们在场景中添加的物体(如:Cube),他们都是以世界坐标显示在场景中.transform.position 获取的便是这个 坐标数值. 2. Scene ...

  7. [易霖博YCTF]Web WriteUp

    中午队里师傅发到群里的比赛,借来队里师傅账号和队里其他师傅一起做了一下,ak了web,师傅们tql.学到挺多东西,总结一下. rce_nopar 进入题目给出源码: <?php if(isset ...

  8. Webpack 入门指迷

    大概算是一份教程吧, 只不过效果肯定不如视频演示之类的好..Webpack 最近在英文社区上经常看到, 留了心, 但进一步了解是通过下边的视频:视频: How Instagram.com Works, ...

  9. 《Offer一箩筐》求职之前你必须知道的 4 件事!!

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」. 如果觉得 「不错」 的朋友,欢迎 「关注 + 留言 + 分享」,文末有完整的获取链接,您的支持是我前进的最大的动力! Hi~ 这里是 ...

  10. 剑指 Offer 49. 丑数

    题目描述 我们把只包含质因子 2.3 和 5 的数称作丑数(Ugly Number).求按从小到大的顺序的第 n 个丑数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, ...