zoukankan      html  css  js  c++  java
  • EMQ --集成搭建

    集群方式接受

    Erlang/OTP 最初是爱立信为开发电信设备系统设计的编程语言平台,电信设备(路由器、接入网关、…)典型设计是通过背板连接主控板卡与多块业务板卡的分布式系统。 Erlang/OTP 语言平台的分布式程序,由分布互联的 Erlang 运行系统组成,每个 Erlang 运行系统被称为节点(Node),节点(Node) 间通过 TCP 互联,消息传递的方式通信:

    EMQ 消息服务器集群基于 Erlang/OTP 分布式设计,集群原理可简述为下述两条规则:

    • MQTT 客户端订阅主题时,所在节点订阅成功后广播通知其他节点:某个主题(Topic)被本节点订阅。
    • MQTT 客户端发布消息时,所在节点会根据消息主题(Topic),检索订阅并路由消息到相关节点。

    EMQ 消息服务器同一集群的所有节点,都会复制一份主题(Topic) -> 节点(Node)映射的路由表,例如:

    topic1 -> node1, node2
    topic2 -> node3
    topic3 -> node2, node4
    

    EMQ集群方式分别有以下方式:

    • manual 手工命令创建集群
    • static 静态节点列表自动集群
    • mcast UDP 组播方式自动集群
    • dns DNS A 记录自动集群
    • etcd 通过 etcd 自动集群
    • k8s Kubernetes 服务自动集群

    为了方便我们这里使用static方式关联节点为列讲解

    已经搭建了两台EMQ,内网IP分别是192.168.2.111和192.168.2.112(centos7上)

    首先需要修改Node名称

    vim /usr/local/emqttd/etc/emq.conf
    
    node.name = emq@192.168.2.111
    
    > emqttd_ctl status
    Node 'emq@192.168.2.111' is started
    emqttd 2.3.5 is running
    

    修改配置文件配置使用静态方式链接节点(所有节点都需要修改)

    > vim /usr/local/emqttd/etc/emq.conf 
    
    cluster.discovery = static
    
    ##--------------------------------------------------------------------
    ## Cluster with static node list
    cluster.static.seeds = emq@192.168.2.111,emq@192.168.2.112
    

    为了安全Erlang 节点间通过一个相同的 cookie 进行互连认证。Erlang 节点 Cookie 设置:

    # 在node1上执行
    > emqttd stop
    > emqttd start
    > scp $HOME/.erlang.cookie root@192.168.2.112:$HOME/.erlang.cookie
    

    通过命令查看集群状态

    > emqttd_ctl cluster status
    
    Cluster status: [{running_nodes,['emq@192.168.2.111','emq@192.168.2.112']}]
    

    通过界面可以看到如下显示

     

      

    总结

    有了集群就解决了大规模部署的问题,但是在实际使用中还有很多需要关注的点

  • 相关阅读:
    HDU 4435
    、输入某人出生日期(以字符串方式输入,如198741)使用DateTime和TimeSpan类,(1)计算其人的年龄;(2)计算从现在到其60周岁期间,总共多少天。
    NetBeans IDE 7.0 Release Candidate 2 Now Available
    NetBeans 时事通讯(刊号 # 142 Apr 14, 2011)
    B3log Solo & B3log Symphony/Rhythm
    B3log Solo & B3log Symphony/Rhythm
    GAE SDK 1.4.3 发布了!
    NetBeans IDE 7.0 Release Candidate 2 Now Available
    Guice 3.0 正式版发布
    NetBeans 时事通讯(刊号 # 141 Mar 30, 2011)
  • 原文地址:https://www.cnblogs.com/saryli/p/9784032.html
Copyright © 2011-2022 走看看