因要用到微服务,关于注册中心这块,与同事在技术原型上作了讨论,初步定的方案是使用:阿里巴巴的nacos+springcloud gateway,下面表格是同事整理的注册中心对比,之前用的springcloud的eureka做为注册中心(springcloud-高可用部署),与eurka相比,此次之因此用阿里的nacos,其中还有一个主要的缘由就是nacos集成了动态加载,不用重启网关,动态加载服务配置等。html
注册中心对比:spring
Feature | Zookeeper | Eureka | Consul | Etcd | Nacos |
---|---|---|---|---|---|
服务健康检查 | (弱)长链接,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服务接入。服务器
nacos是阿里巴巴的开源项目,今年初发布的版本已经达到生产等级,有中文文档和英文文档,社区很是活跃。架构
关键特性:ide
有兴趣的童鞋能够去看下,官网地址:https://nacos.io/zh-cn/index.html微服务
这几天把官网文档过了一遍,部署了个基础的demo版本,介绍下。测试
软件老王用了6台虚拟机:spa
(1)11服务器,部署了springcloud gateway,对外统一提供服务;3d
(2)12和13服务器,部署了nacos,互为注册,可水平扩展,对外提供服务注册、配置注册等;
(3)14服务器,部署了producer(服务提供方),部署了两个实例;
(4)15服务器,部署了consumer(服务调用方,软件老王),部署了两个实例;
(5)16服务器,测试了下动态配置,可忽略;
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的配置文件。
(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
目前nacos还处于快速迭代阶段,无论是版本仍是功能都还稍微有点乱,毕竟去年才开源,仍是有些坑要踩的,软件老王认为仍是要一颗红心两手准备的。
I’m 「软件老王」,若是以为还能够的话,关注下呗,后续更新秒知!欢迎讨论区、同名公众号留言交流!
原文出处:https://www.cnblogs.com/ruanjianlaowang/p/11475279.html