zoukankan      html  css  js  c++  java
  • nats-server-v2.2.0 Linux服务搭建及JAVA客户端应用

    1、到官网下载nats-server-v2.2.0-linux-amd64.tar.gz    地址: https://nats.io/download/

    2、解压至/home/nats-server-v2.2.0  目录,并在此目录新配置文件 simple.conf   内容如下

    # Simple config file
    
    server_name: testing_server
    
    listen: 4222
    
    http: 8222
    
    # Enable TLS on reload
    #tls {
    #    cert_file: "../test/configs/certs/server-cert.pem"
    #    key_file: "../test/configs/certs/server-key.pem"
    #    ca_file: "../test/configs/certs/ca.pem"
    #    verify: true
    #}
    
    
    authorization {
    #  users = [
    #      {user: alice, password: foo}
    #      {user: bob,   password: bar}
    #  ]
      user:     myUser
      password: myPassword
      timeout:  1
    }
    
    # logging options
    debug:   true
    trace:   true
    logtime: true
    #syslog: true
    #remote_syslog: "udp://foo.com:33"
    
    # pid file
    pid_file: "/tmp/nats-server.pid"
    
    # prof_port
    #prof_port: 6543
    
    # max_connections
    max_connections: 100
    
    # max_subscriptions (per connection)
    max_subscriptions: 1000
    
    # max_pending
    max_pending: 10000000
    
    # maximum control line
    max_control_line: 2048
    
    # maximum payload
    max_payload: 65536
    
    # ping interval and no pong threshold
    ping_interval: "60s"
    ping_max: 3
    
    # how long server can block on a socket write to a client
    write_deadline: "3s"
    
    lame_duck_duration: "4m"
    
    # report repeated failed route/gateway/leafNode connection
    # every 24hour (24*60*60)
    connect_error_reports: 86400
    
    # report failed reconnect events every 5 attempts
    reconnect_error_reports: 5

    3、启动服务

    nohup /home/nats-server-v2.2.0/nats-server -c /home/nats-server-v2.2.0/simple.conf &

    查看时候启动成功:

    ps -ef|grep nats

    4、JAVA客户端消息发布

    package test.nats;
    
    import java.nio.charset.StandardCharsets;
    
    import io.nats.client.Connection;
    import io.nats.client.Nats;
    import io.nats.client.Options;
    
    /**
     * 发布消息
     * @author 李小家
     *
     */
    public class Publish {
    
    
         public static void main(String[] args) throws Exception {
             Options o = new Options.Builder()
                     .server("nats://47.107.**.***:4222")
    //               .server("nats://servertwo:4222")
                     .userInfo("myUser".toCharArray(), "myPassword".toCharArray())
                     .maxReconnects(-1).build();
             Connection nc = Nats.connect(o);
             nc.publish("subject", "replyto", "hello world 测试内容!{"name":"张三"}".getBytes(StandardCharsets.UTF_8));
             nc.close();
         }
    
    }

    5、JAVA客户端接收发布

    package test.nats;
    
    import java.nio.charset.StandardCharsets;
    
    import io.nats.client.Connection;
    import io.nats.client.Dispatcher;
    import io.nats.client.Nats;
    import io.nats.client.Options;
    
    /**
     * 消息订阅
     * @author 李小家
     *
     */
    public class Subscribe {
    
        public static void main(String[] args) throws Exception {
            Options o = new Options.Builder()
                    .server("nats://47.107.**.***:4222")
    //                .server("nats://servertwo:4222")
                    .userInfo("myUser".toCharArray(), "myPassword".toCharArray())
                    .maxReconnects(-1).build();
            Connection nc = Nats.connect(o);
     
            Dispatcher d = nc.createDispatcher((msg) -> {
                String response = new String(msg.getData(), StandardCharsets.UTF_8);
                System.out.println("response=="+response);
            });
    
            d.subscribe("subject");
     
    //        nc.close();
        }
        
    }
    李小家
  • 相关阅读:
    ld -l选项注意事项
    linux下创建用户(转)
    delete void *
    __attribute__机制介绍(转)
    正常断开连接情况下,判断非阻塞模式socket连接是否断开
    std::thread “terminate called without an active exception”
    Android 开发手记二 C可执行程序编译实例(转帖)
    c++11 on Android
    由一段小程序看算法复杂度
    Linux守护进程的编程实现(转)
  • 原文地址:https://www.cnblogs.com/101key/p/14592556.html
Copyright © 2011-2022 走看看