服务发现框架选型

yizhou35 yizhou35     2023-04-28     150

关键词:

Zookeeper

1. 确保有所选语言的sdk,理论上github上第三方的库有一些,仔细筛选一下应该可以用。

2. 调用zookeeper接口连接zookeeper服务器。

3. 注册自身服务

4. 通过watcher获取监听服务的状态

5. 服务提供者需自行保持与zookeeper服务器的心跳。

总得来说,ZooKeeper需要胖客户端,每个客户端都需要通过其SDK与ZooKeeper服务保活,增加了编写程序的复杂性。此外,还提供api实现服务注册与发现逻辑,需要服务的消费者实现服务提供者存活的检测。

Etcd

技术图片

 

 

etcd是一个采用http协议的分布式键值对存储系统,因其易用,简单。很多系统都采用或支持etcd作为服务发现的一部分,比如kubernetes。但正事因为其只是一个存储系统,如果想要提供完整的服务发现功能,必须搭配一些第三方的工具。

比如配合etcd、Registrator、confd组合,就能搭建一个非常简单而强大的服务发现框架。但这种搭建操作就稍微麻烦了点,尤其是相对consul来说。所以etcd大部分场景都是被用来做kv存储,比如kubernetes。

consul

相比于zookeeper的服务发现使用,consul并不需要专门的sdk集成到服务中,因此它不限制任何语言的使用。我们看看consul一般是怎么使用的。

1. 每台服务器上都要安装一个consul agent。

2. consul agent支持通过配置文件注册服务,或者在服务中通过http接口来注册服务。

3. 注册服务后,consul agent通过指定的健康检查方式,定期检查服务是否存活。

4. 如果服务想查询其他服务的存活状态,只需要与本机的consul agent发起一次http请求或者dns请求即可。

简单点说,consul的使用不依赖任何sdk,依靠简单的http请求就能满足服务发现的所有逻辑。

 不过,服务每次都从consul agent获取其他服务的存活状态,相比于zookeeper的watcher机制,实时性稍差一点,需考虑如何尽可能提高实时性,问题不会很大。

名称优点缺点接口一致性算法
zookeeper 1.功能强大,不仅仅只是服务发现
2.提供watcher机制能实时获取服务提供者的状态
3.dubbo等框架支持
1.没有健康检查
2.需在服务中集成sdk,复杂度高
3.不支持多数据中心
sdk Paxos
consul 1.简单易用,不需要集成sdk
2.自带健康检查
3.支持多数据中心
4.提供web管理界面
1.不能实时获取服务信息的变化通知 http/dns Raft
etcd 1.简单易用,不需要集成sdk
2.可配置性强
1.没有健康检查
2.需配合第三方工具一起完成服务发现
3.不支持多数据中心
http Raft

分布式微服务治理框架-选型

分布式微服务治理框架-选型目录1、同类产品对比选型2、注册中心3、配置中心4、服务通信5、负载均衡6、降级机制7、服务网关1、同类产品对比选型降级框架主要有SpringCloudNetflix、Dubbo、SpringCloudAlibaba,当然我们也可以混用&#... 查看详情

布道微服务_10注册中心与rpc框架的选型

文章目录开源注册中心Nacos其他关注的问题高可用性数据一致性CAP三者不能被同时满足选型经验RPC框架选型gRPCThrift开源注册中心Nacos毫无疑问,现在就选Nacos即可 查看详情

布道微服务_10注册中心与rpc框架的选型

文章目录开源注册中心Nacos其他关注的问题高可用性数据一致性CAP三者不能被同时满足选型经验RPC框架选型gRPCThrift开源注册中心Nacos毫无疑问,现在就选Nacos即可 查看详情

从0开始学微服务---2020年04月

...是Eureka注册中心。  Eureka主要三个组件:EurekaServer实现服务信息注册、存储、查询,EurekaClient集成在服务端的注册中心SDK,实现服务注册、反注册,以及服务订阅、服务更新等功能。2)、应用外注册与发现的方式,有Consul、Na... 查看详情

微服务之架构技术选型与设计

参考技术A本文主要介绍了架构技术选型与设计-微服务选型,Springcloud实现采用的技术,希望对您的学习有所帮助。架构技术选型与设计-DUBBODubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点(... 查看详情

(转载)服务端技术选型

...AB%AF%E6%8A%80%E6%9C%AF%E9%80%89%E5%9E%8B/感谢原文作者谢龙的分享服务框架MVCFramework:Rose框架简单易用,并且我米内部服务和工具都优先支持Rose项目,默认使用Rose框架是很好的选择。文艺一点想做个异步化web服务,可以选择Spr 查看详情

混合app框架选型

个人一直想做个App,但是学习IOS的过程发现原生的做界面还是听麻烦的就放弃了。后来就转到混合式App阵营了混合式App定义HybridApp(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“NativeApp良好用户交互体验... 查看详情

分布式rpc服务调用框架选型:使用dubbo实现分布式服务调用

Dubbo概念Dubbo是一个高性能,轻量级的RPC分布式服务框架提供了三核心能力:面向接口的远程方法调用(@Reference)智能容错负载均衡Dubbo特点:按照分层的方式来架构,可以使各个层之间解耦合Dubbo的角色:提供方:Provider消费方:ConsumerDubbo的... 查看详情

服务化实战之dubbodubboxmotanthriftgrpc等rpc框架比较及选型(代码片段)

概述前段时间项目要做服务化,所以我比较了现在流行的几大RPC框架的优缺点以及使用场景,最终结合本身项目的实际情况选择了使用dubbox作为rpc基础服务框架。下面就简单介绍一下RPC框架技术选型的过程。RPC简述该系... 查看详情

apm原理与框架选型(代码片段)

发些存稿:)0.APM简介随着微服务架构的流行,一次请求往往需要涉及到多个服务,因此服务性能监控和排查就变得更复杂:不同的服务可能由不同的团队开发、甚至可能使用不同的编程语言来实现服务有可能布在了几千台服务器... 查看详情

微服务架构技术选型

微服务架构技术选型SpringCloud本身其实只是一套微服务规范,并不是一个拿来即可用的框架,SpringCloudNetflix和SpringCloudAlibaba是为开发者提供了这套规范的实现方式。由于SpringCloudNetflix2018年12月12日进入维护模式(Maintena... 查看详情

java微服务框架选型(dubbo和springcloud)

一、概念    微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地... 查看详情

技术选型-微服务

【微服务带来的好处】1.解耦合,维护和部署简单根据模块系统分开,一个模块需要修改的时候,对其他模块的影响最小,甚至没有影响,发布的时候只发布被修改的模块即可。微服务关键需要边界定义清楚。2.服务可作为商品... 查看详情

nacos简介以及作为注册/配置中心与eurekaapollo的选型比较

一、Nacos简介Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos... 查看详情

nacos简介以及作为注册/配置中心与eurekaapollo的选型比较

...比较12019.07.1212:45:02字数1394阅读3983一、Nacos简介Nacos是以服务为主要服务对象的中间件,Nacos支持所有主流的服务发现、配置和管理。Nacos主要提供以下四大功能:服务发现与服务健康检查Nacos使服务更容易注册自己并通过DNS或HTTP... 查看详情

java开发面试题!java知识框架图

业界常用的服务注册与发现组件对比了解服务注册与发现的基本原理后,如果你要在项目中使用服务注册与发现组件,当面对众多的开源组件该如何进行技术选型?在互联网公司里,有研发实力的大公司一般会选... 查看详情

6.go语言高并发与微服务实战---服务注册与发现

第6章服务注册与发现6.1服务注册与发现的基本原理 6.1.1服务注册与发现中心的职责 6.1.2服务实例注册服务信息 6.1.3CAP原理6.2常用的服务注册与发现框架 6.2.1基于Raft算法的开箱即用服务发现组件Consul 6.2.2基于HTTP协议的分布式key/Va... 查看详情

分布式事务框架选型

...造,自己写!! 阿里Fescar(GTS开源版本,GTS有阿里云服务)官方中文:https://github.com/alibaba/fescar/wiki/Home_Chinese开源消息和与其他分布式框架(ByteTCC、LCN)对比:https://blog.csdn.net/xlgen157387/article/details/86289066介绍和对比:https:/... 查看详情