rpc消息队列-远程函数调用

简介: rpc消息队列-远程函数调用

cinder 中采用了 rpc 调用的方式

函数定义

/root/cinder/cinder/volume/rpcapi.py:441: def kill_cinder_volume_auto

def kill_cinder_volume_auto(self, ctxt, host, backend, stor_pool):
    version = self._compat_ver('2.0', '1.28')
    cctxt = self._get_cctxt(host, version)
    cctxt.cast(ctxt, 'kill_cinder_volume_auto',
                backend=backend, stor_pool=stor_pool)

rpc 调用方

/root/cinder/cinder/volume/manager.py:3543

def kill_cinder_volume_auto(self, ctxt, backend, stor_pool):
    LOG.info("kill cinder-volume-auto begin-------[%s] [%s]"
              % (backend, stor_pool))
    cmd = "ps aux | grep cinder-volume-auto | grep -v grep | grep -w "
    cmd1 = cmd + " "+ backend + "| awk {'print $2'} " \
                                " >/var/log/cinder/auto_pid.txt"
    cmd = cmd + backend + "| awk {'print $2'}| xargs kill -9"
    try:
        subprocess.Popen(cmd1, shell=True)
        subprocess.Popen(cmd, shell=True)
        LOG.info("kill cinder-volume-auto end----")
    except Expection as exc:
            LOG.error(str(exc))
相关文章
|
2月前
|
消息中间件 缓存 API
|
9月前
|
消息中间件 存储 微服务
RPC 和消息队列的区别
RPC 和消息队列的区别
192 0
|
10月前
|
消息中间件 微服务
微服务通信:RPC、消息队列和事件驱动架构的比较
在微服务架构中,微服务之间的通信是至关重要的。为了实现松耦合、高效可靠的通信,开发人员可以选择不同的通信方式,包括RPC(远程过程调用)、消息队列和事件驱动架构。本文将对这三种常见的微服务通信方式进行比较,探讨它们的特点、适用场景和优缺点,帮助开发人员选择合适的通信方式。
231 0
|
消息中间件 架构师 中间件
组队学架构之高并发架构系列:详解RPC远程调用和消息队列MQ的区别
RPC RPC(Remote Procedure Call)远程过程调用,主要解决远程通信间的问题,不需要了解底层网络的通信机制。 RPC框架 知名度较高的有Thrift(FB的)、dubbo(阿里的)。
3012 0
|
消息中间件 Java Kafka
后端必备——数据通信知识(RPC、消息队列)一站式总结
RPC(Remote Procedure Call)—远程过程调用 ,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。
4844 0
|
3月前
|
负载均衡 Dubbo Java
Dubbo 3.x:探索阿里巴巴的开源RPC框架新技术
随着微服务架构的兴起,远程过程调用(RPC)框架成为了关键组件。Dubbo,作为阿里巴巴的开源RPC框架,已经演进到了3.x版本,带来了许多新特性和技术改进。本文将探讨Dubbo 3.x中的一些最新技术,包括服务注册与发现、负载均衡、服务治理等,并通过代码示例展示其使用方式。
81 9
|
8月前
|
消息中间件 负载均衡 Dubbo
如何自己设计一个类似Dubbo的RPC框架?
如何自己设计一个类似Dubbo的RPC框架?
63 0
|
5月前
|
Dubbo Java 应用服务中间件
Rpc编程系列文章第三篇:Hessian RPC一个老的RPC框架
Rpc编程系列文章第三篇:Hessian RPC一个老的RPC框架
|
3月前
|
XML JSON Java
RPC框架之Thrift—实现Go和Java远程过程调用
RPC框架之Thrift—实现Go和Java远程过程调用
48 1