imcloud-分布式中间件的安装部署

4次阅读

共计 2226 个字符,预计需要花费 6 分钟才能阅读完成。

github:http://github.com/brewlin/im-…

  • im-cloud 基于 swoole 原生协程构建分布式推送中间件
  • im-cloud 分布式中间件的安装部署
  • im-cloud <> goim 分布式中间件并发压测对比
  • im-cloud 分布式中间件分析(一)- 通讯协议
  • im-cloud 分布式中间件分析(二)-cloud 节点实现
  • im-cloud 分布式中间件分析(三)-job 节点实现
  • im-cloud 分布式中间件分析(四)-logic 节点实现

安装方式主要提供 docker 单节点部署 docker-compose 自动化编排部署 手动部署 三种方式部署环境

一、docker 部署

基础镜像足够小 不用担心 base image+php7.2+swoole 4 才 75M

docker-compose networknamespace 为 host 模式,所以需要注意本地端口冲突的问题, 也可以根据自己的环境更改 compose.yml 配置

1.docker 单独部署

  • 镜像

    • consul
    • redis
    • brewlin/cloud
    • brewlin/job
    • brewlin/logic
  • 启动 consul
docker run --network host consul
  • 启动 redis
docker run --network host redis
  • 启动 cloud 节点
docker run --network host brewlin/cloud
  • 启动 job 节点
docker run --network host  brewlin/job
  • 启动 logic 节点
docker run --network host  brewlin/logic

2.docker-compose 编排服务

git clone http://github.com/brewlin/im-cloud
cd im-cloud
docker-compose up

二、手动部署

环境要求

  • swoole 4 +
  • php 7.2 +
  • console
  • rabbitmq
  • redis

1. 安装依赖

make 脚本使用 composer 自动 install 相关组件

cd path/im-cloud
make install

2. 启动 cloud 节点

cd path/im-cloud/app/cloud
php bin/app

3. 启动 logic 节点

cd path/im-cloud/app/logic;
php bin/app

4. 启动 job 节点

cd path/im-cloud/app/job;
php bin/app

5. 安装启动 consul

1、登录官网进行下载,下载地址

wget https://releases.hashicorp.com/consul/1.2.1/consul_1.2.1_linux_amd64.zip
unzip consul_1.2.1_linux_amd64.zip

2、设置环境变量,如果不设置可以直接把 consul 执行文件移动到 /usr/bin 目录下

mv consul /usr/bin

3、单机配置、这种方式适合用于搭建服务调试使用

consul agent -bootstrap-expect 1 -server -data-dir /data/consul -node=cloud -bind=127.0.0.1 -config-dir /etc/consul.d -enable-script-checks=true -datacenter=dc1 -client=0.0.0.0 -ui

可以通过 http://192.168.1.100:8500 查看服务信息

6. 安装 rabbitmq

  • 1. 添加新的源
echo 'deb http://www.rabbitmq.com/debian/ testing main' |
     sudo tee /etc/apt/sources.list.d/rabbitmq.list
  • 2. 下载公钥
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc |
     sudo apt-key add -
  • 3. 更新 & 安装
sudo apt-get update
sudo apt-get install rabbitmq-server
  • 4. 修改配置文件
cd /etc/rabbitmq/
新建文件
touch rabbitmq.config

在配置文件中加入

[{rabbit, [{loopback_users, []}]}].
  • 5. 状态管理
rabbitmqctl status 可查看 rabbitmq 的状态
  • 6. 开启 web 管理界面
# 开启 rabbitmq web 界面
Host]# rabbitmq-plugins enable rabbitmq_management
    The following plugins have been enabled:
        rabbitmq_web_dispatch
        rabbitmq_management_agent
        rabbitmq_management
  • 7. 创建用户
Host]# rabbitmqctl add_user xiaodo xiaodo
    Creating user "admin"
Host]# rabbitmqctl set_user_tags xiaodo administrator
    Setting tags for user "admin" to [administrator]

三、测试

  • 1. 使用 js sdk 提供的 demo 注册到 cloud
  • 2.post http://host:9600/im/push/mids?mids=123&operation=9&msg=pushtest 进行单点推送
正文完
 0