laradocker 安装msgpack

msgpack

It’s like JSON.but fast and small.

MessagePack 是一种高效的二进制序列化格式。它允许您在多种语言(如 JSON)之间交换数据。但它更快更小。小整数被编码为一个字节,典型的短字符串除了字符串本身之外只需要一个额外的字节
----来自msgpack.org

在这里插入图片描述

用途
  • 一是Space-efficient storage for Memcache entries (Pinterest),节省空间类型的mamcache应用;
  • 另一个是用于RPC传输, This use case is fairly close to my original intent. When one is designing an RPC system, one of the first tasks is to specify and implement a communication protocol. This process can get pretty hairy as you need to worry about a lot of low-level issues like Endian-ness. By using MessagePack, one can skip designing and implementing a communication protocol entirely and accelerate development.
laradock 安装

我想在php cli 的模式下安装msgpack,所以在workspace/Dockerfile 下添加,如果需要在fpm下运行则需要在php-fpm的Dockerfile添加如下代码

###########################################################################
# Msgpack Pack:
###########################################################################

ARG INSTALL_MSGPACK=false

RUN if [ ${INSTALL_MSGPACK} = true ]; then \
    pecl install msgpack \
	docker-php-ext-enable msgpack \
;fi

docker-compose.yml 添加 - INSTALL_MSGPACK=${WORKSPACE_INSTALL_MSGPACK}

 workspace:
      build:
        context: ./workspace
        args:
         ...
          - INSTALL_MSGPACK=${WORKSPACE_INSTALL_MSGPACK}
          - http_proxy
          - https_proxy
          - no_proxy

.env 添加 WORKSPACE_INSTALL_MSGPACK=ture

...
WORKSPACE_INSTALL_MSGPACK=true
...

运行docker-composer up -d --build workspace
在这里插入图片描述

执行成功后登录workspace 查看是否安装成功

php -m | grep msgpack
总结

我们主要结合redis 的订阅服务,通过msgpack压缩消息,实现客户端和服务的消息通信有两个好处
1.减少redis的内存占用
2.较少带宽

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值