python服务发现与注册_服务注册与发现

在单体应用中调用往往局限在语言层面,也就是方法的调用。当服务被拆解,单体应用变成了多个服务之后,服务间“对话”就变成了一个重要的话题。目前最常见的方式是借助REST或RPC。还有一种方式是通过队列,其原理与RPC类似。

不论REST还是RPC,原来的方法调用都要变成了网络调用。这种转变也带来了很多问题:

效率问题。网络调用的开销一定是比本地方法调用大,网络传输,协议转化等等都会造成效率下降。

稳定性。服务化后服务本身的稳定性,以及网络稳定性直接决定了服务调用的成功率。

服务注册与发现。随着服务数量的增多,各个服务之间的调用变得错综复杂,一个服务可能依赖外部多个服务,当一个服务的域名或IP地址改变了之后如何通知依赖方,或者依赖方如何快速的发现服务提供方的地址变化。

服务监控。原来单体应用我们只需要观察这一台服务器就行了。但是服务化之后,每个服务都需要监控。而且还需要考虑限流这些事情。运维成本比原来多了几倍。

这些都是在服务化过程中需要考虑的问题。今天主要说一下第三点:服务注册与发现。

为什么需要服务注册与发现?没有这个东西就不能搞服务化了吗?没有这个东西也能搞服务化,但是效果会受影响。假设A是一个基础服务,随着越来越多的服务要依赖A,A服务器负载越来越高,亟需新增服务器。如果没有服务注册与发现,那么我们就要把新的服务器地址配置到所有依赖A的服务,并相继重启它们。显然这是不合理的。有人说我把A服务前边挂一个Nginx不就行了吗?这确实能解决某个服务加机器的问题,这就需要一个100%可用的Nginx?还有当服务少的时候这种思路是可行的,但是当服务器增加到了几十几百台,而且服务器动态变动的时候(促

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值