微服务架构下该如何技术选型呢?( 六 )


服务发现及管理:
动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键 。Nacos 支持 DNS-Based 和 RPC-Based(Dubbo、gRPC)模式的服务发现 。Nacos 也提供实时健康检查,以防止将请求发往不健康的主机或服务实例 。借助 Nacos,您可以更容易地为您的服务实现断路器 。
动态 DNS 服务:
通过支持权重路由,动态 DNS 服务能让您轻松实现中间层负载均衡、更灵活的路由策略、流量控制以及简单数据中心内网的简单 DNS 解析服务 。动态 DNS 服务还能让您更容易地实现以 DNS 协议为基础的服务发现,以消除耦合到厂商私有服务发现 API 上的风险 。
Nacos 部署需要 Nacos Service 和 MySQL:
Nacos Service:对外提供服务,支持配置管理和服务发现 。
MySQL:提供 Nacos 的数据持久化存储 。
单机模式下,Nacos 可以使用嵌入式数据库部署一个节点,就能启动 。如果对 MySQL 比较熟悉,想要了解整体数据流向,可以安装 MySQL 提供给 Nacos 数据持久化服务 。生产环境使用 Nacos,Nacos 服务需要至少部署三个节点,再加上 MySQL 主备 。
4. 对比、总结
整体来看,Nacos 的部署结构比较简单,运维成本较低 。Apollo 部署组件较多,运维成本比 Nacos 高 。Spring Cloud Config 易于定制化二次开发,生产高可用的成本最高 。

微服务架构下该如何技术选型呢?

文章插图
总的来说,Apollo 和 Nacos 相对于 Spring Cloud Config 的生态支持更广,在配置管理流程上做的更好 。Apollo 相对于 Nacos 在配置管理做的更加全面,不过使用起来也要麻烦一些 。Nacos 使用起来相对比较简洁,在对性能要求比较高的大规模场景更适合 。
参考资料:
1.http://dubbo.apache.org/zh-cn/
2.https://my.oschina.net/bigdataer/blog/1859971?from=timeline
3.https://github.com/Netflix/zuul/wiki
4.https://traefik.cn/
5.http://openresty.org/cn/
6.https://www.cnblogs.com/duanxz/p/9776316.html
7.https://yq.aliyun.com/articles/698930?utmcontent=g1000053369
9.https://github.com/ctripcorp/apollo/wiki
10.https://nacos.io/zh-cn/




推荐阅读