• 微服务实战系列(四)-注册中心springcloud alibaba nacos-copy


    1.场景描述

    因要用到微服务,关于注册中心这块,与同事在技术原型上做了讨论,初步定的方案是使用:阿里巴巴的nacos+springcloud gateway,下面表格是同事整理的注册中心对比,以前用的springcloud的eureka作为注册中心,与eurka相比,这次之所以用阿里的nacos,其中还有一个主要的原因就是nacos集成了动态加载,不用重启网关,动态加载服务配置等。

    注册中心对比:

    FeatureZookeeperEurekaConsulEtcdNacos
    服务健康检查 (弱)长连接,keepalive 可配支持 服务状态,内存,硬盘等 连接心跳 心跳/自定义
    多数据中心 支持 支持
    kv存储服务 支持 支持 支持 支持
    一致性 paxos raft raft raft
    CAP定理 CA AP CA CP AP
    使用接口(多语言能力) 客户端 http(sidecar) 支持http和dns http/grpc dns/http/rpc
    watch支持 支持 支持 long polling/大部分增量 全量/支持long polling 支持 long polling 全量/支持long polling
    自身监控 metrics metrics metrics metrics
    安全 acl acl /https https支持(弱) acl /https
    Spring Cloud集成 已支持 已支持 已支持 已支持 已支持

    推荐使用Nacos>Consul>Etcd>Eureka>Zookeeper

    Nacos为springcloudalibaba全家桶组件,适合使用dubbo作为springcloud的rpc服务接入。

    2. nacos简要介绍

    nacos是阿里巴巴的开源项目,今年初发布的版本已经达到生产等级,有中文文档和英文文档,社区非常活跃。

    关键特性:

    有兴趣的童鞋可以去看下,官网地址:https://nacos.io/zh-cn/index.html

    3.部署及说明

    这几天把官网文档过了一遍,部署了个基础的demo版本,介绍下。

    3.1 部署说明

    软件老王用了6台虚拟机:

    (1)11服务器,部署了springcloud gateway,对外统一提供服务;

    (2)12和13服务器,部署了nacos,互为注册,可水平扩展,对外提供服务注册、配置注册等;

    (3)14服务器,部署了producer(服务提供方),部署了两个实例;

    (4)15服务器,部署了consumer(服务调用方),部署了两个实例;

    (5)16服务器,测试了下动态配置,可忽略;

    如果你觉得文章对你有些帮助,欢迎微信搜索「软件老王」第一时间阅读或交流!
    

    3.2 架构图

    3.3 架构图详细说明

    3.3.1 nacos注册中心及配置中心。

    nacos自带了控制台,访问地址:http://10.192.168.12:8848/nacos或者http://10.192.168.13:8848/nacos

    用户名:nacos; 密码:nacos;

    登录成功后如下图:

    主要有三大功能:

    (1)注册中心节点列表,这里显示的nacos注册中心,可水平扩展,部署多台,这里部署了两台,分别为12与13服务器。

    (2)服务管理,启动了3个服务,分别为网关、服务提供者(2个实例)、服务消费者(2个实例)。

    (3)配置管理,这里配置了两个,第一个是测试用的,测试了动态获取,第二个是11服务器上springcloud gate的配置文件。

    3.3.2 访问说明

    (1)Gateway访问地址:

    http://10.192.168.11:7000/producer/getpinfo
    

    说明:10.192.168.11:7000为网关地址,producer为注册中心服务名称,getpinfo为具体服务。

    (2)服务提供者地址:

    http://10.192.168.14:7001/getpinfo,http:/10.192.1681.14:7001/getpinfo,
    15的服务调用方,就是通过rest调用,跟直接从网关调用一样,软件老王就不啰嗦了。
    

    (3)nacos地址:

    http://10.192.168.12:8848/nacos,http:/10.192.1681.13:8848/nacos
    

    3.4 写在最后

    目前nacos还处于快速迭代阶段,不管是版本还是功能都还稍微有点乱,还是有些坑要踩的,软件老王认为还是要一颗红心两手准备的。


    更多知识请关注公众号:「软件老王」,IT技术与相关干货分享,回复关键字获取对应干货,java,送必看的10本“武功秘籍”;图片,送100多万张可商用高清图片;面试,送刚毕业就能月薪“20k”的java面试题,软考,送官方pdf书籍与通关论文,后续会不断更新,比如“工具”,“视频“等,已经在整理中。

  • 相关阅读:
    Js获取当前日期时间及其它操作
    OpenResty
    Nginx开发从入门到精通
    TengineWeb服务器项目
    VS2012的SVN插件VISUALSVN
    VS项目如何运用svn的忽略列表
    SVN 中trunk、branches、tags都什么意思?
    SVN服务器搭建和使用(一)
    逗号分隔字符串转换为一张表--解决查询in(逗号分隔字符串)出错问题
    判断函数是否存在、判断函数是否存在并执行
  • 原文地址:https://www.cnblogs.com/hanease/p/14514680.html
Copyright © 2020-2023  润新知