Nacos 技术讲解

一提到分布式系统就不的不提一下 CAP 原则

什么是CAP

CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。

CAP 的原则下 Alibaba Naos 同时支持AP和CP模式,他根据服务注册选择临时和永久来决定走AP模式还是CP模式,他这里支持CP模式对于我的理解来说,应该是为了配置中心集群,因为nacos可以同时作为注册中心和配置中心,因为他的配置中心信息是保存在nacos里面的,假如因为nacos其中一台挂掉后,还没有同步配置信息, 就可能发生配置不一致的情况., 配置中心的配置变更是服务端有监听器,配置中心发生配置变化, 然后服务端会监听到配置发生变化,从而做出改变

下面我搭建一个简单的微服务系统,针对这个系统进行讲解

系统架构图:

这个主要完成一个一个前端页面进行实时计算的功能,大家可以理解为一个简单的计算器.

  • website : 前端
  • Gateway :服务网关
  • UserCenter : 用户服务
  • MqCenter: 消息服务
  • AlogirthmCenter: 计算服务
  • ConfigCenter: 配置中心
  • ServiceDiscovery(Nacos):服务发现
  • CPP 为C 语言编写的计算流程

此项目包括用到的技术栈包括,Spring Cloud Alibaba/Spring Boot/Mysql/MQ/Linux 等

什么是Nacos

官方文档

上面是Nacos 的官网大家可以自行了解下,对Nacos 做一个深入的了解,正所谓师傅领进门,修行在个人,大家还要多学习,多了解

天也不早了 ,人也不少了,闲话少说,先干正事。

** Nacos 下载地址**

选择对应版本进行解压(注意 Nacos 解压后 是一个完整的运行包,如果用的不熟练,不要动里面的配置信息)

下载完成后解压后进入到 bin 目录 在终端运行命令

  • MAC

    sh startup.sh -m standalone

    (standalone代表着单机模式运行,后看会单独讲解集群模式的搭建和启动方法)
  • Windows

    cmd startup.cmd

启动成功后 默认账号密码 nacos/nacos(初始账号密码)

登录后可以看到左上角中英文切换,英语不好的同学们 可以切换到中文

  • 配置管理主要是用来做项目配置,比如配置文件等可以用nacos来管理 因为nacos不仅仅是服务中心,也是配置中心(后面有讲)
  • 服务管理是用来管理每个微服务,每个在nacos上注册的微服务在这里都可以看到
  • 命名空间是用来做服务环境区分,当项目需要开发,测试, 生产等多个不同的配置, 命名空间就可以做配置隔离。
  • 集群管理 后面会单独讲解

下一章会讲解如何在Nacos 上注册一个简单的微服务

最新文章

  1. Entity Framework 5.0 Code First全面学习
  2. 贪婪 vs 不贪婪
  3. CentOS6.6 kickstart文件
  4. 后记:Cookie安全大辩论总结
  5. mvn打包idea项目
  6. Android AsyncTask完全解析,带你从源码的角度彻底理解
  7. WPF绑定方式
  8. C#中Dictionary小记
  9. Html笔记(三)列表
  10. Test failed.尝试加载Oracle客户端库时引发BadImageFormatException
  11. perl post 带上请求头
  12. 设置ios中imageView图片自适应,
  13. Facebook授权登录
  14. jquery实现星级评分
  15. 基于kubernetes集群部署DashBoard
  16. vim 私人快捷键备忘录
  17. php 查找字符串里面中文字符第一次出现的位置,并插入字符串
  18. JDK8下maven使用maven-javadoc-plugin插件报错
  19. js如何判断访问来源是来自搜索引擎(蜘蛛人)还是直接访问
  20. LightOj 1422 Halloween Costumes(区间DP)

热门文章

  1. JS寄快递地址智能解析
  2. 整理requests和正则表达式爬取猫眼Top100中遇到的问题及解决方案
  3. Code Test(2)
  4. Python中list的合并
  5. 深入研究RocketMQ消费者是如何获取消息的
  6. MeteoInfoLab脚本示例:图形版面、点标注
  7. jenkins 构建 job 并获取其状态的实现
  8. spring框架中配置mysql8.0需要注意的地方(转载)
  9. spring boot:在项目中引入第三方外部jar包集成为本地jar包(spring boot 2.3.2)
  10. go 数组指针 指针数组