ssl生产
消息 plaintext package main import ( "crypto/tls" "crypto/x509" "flag" "fmt" amqp "github.com/rabbitmq/amqp091go" "io/ioutil" "log" ) var ( uri flag.String("uri", "amqps://USERNAME:PASSWORD@10.10.33.196:5671", "AMQP URI") exchangeName flag.String("exchange", "goexchange", "Durable AMQP exchange name") exchangeType flag.String("exchangetype", "direct", "Exchange type directfanouttopicxcustom") routingKey flag.String("key", "testkey", "AMQP routing key") body flag.String("body", "foobar", "Body of message") reliable flag.Bool("reliable", true, "Wait for the publisher confirmation before exiting") ) func init() { flag.Parse() } func main() { if err : publish(uri, exchangeName, exchangeType, routingKey, body, reliable); err ! nil { log.Fatalf("%s", err) } log.Printf("published %dB OK", len(body)) } func publish(amqpsURI, exchange, exchangeType, routingKey, body string, reliable bool) error { caCert, err : ioutil.ReadFile("D:tmphzmqtest0520rabbitmqsslclientcacertificate.pem") if err ! nil { return err } cert, err : tls.LoadX509KeyPair("D:tmphzmqtest0520rabbitmqsslclientclientrabbitmqcertificate.pem", "D:tmphzmqtest0520rabbitmqsslclientclientrabbitmqkey.pem") if err ! nil { return err } rootCAs : x509.NewCertPool() rootCAs.AppendCertsFromPEM(caCert) tlsConf : &tls.Config{ RootCAs: rootCAs, Certificates: []tls.Certificate{cert}, //ServerName: "localhost", // Optional InsecureSkipVerify: true, } connection, err : amqp.DialTLS(amqpsURI, tlsConf) if err ! nil { return fmt.Errorf("Dial: %s", err) } defer connection.Close() log.Printf("got Connection, getting Channel") channel, err : connection.Channel() if err ! nil { return fmt.Errorf("Channel: %s", err) } log.Printf("got Channel, declaring %q Exchange (%q)", exchangeType, exchange) if err : channel.ExchangeDeclare( exchange, // name exchangeType, // type true, // durable false, // autodeleted false, // internal false, // noWait nil, // arguments ); err ! nil { return fmt.Errorf("Exchange Declare: %s", err) } // Reliable publisher confirms require confirm.select support from the // connection. if reliable { log.Printf("enabling publishing confirms.") if err : channel.Confirm(false); err ! nil { return fmt.Errorf("Channel could not be put into confirm mode: %s", err) } confirms : channel.NotifyPublish(make(chan amqp.Confirmation, 1)) defer confirmOne(confirms) } log.Printf("declared Exchange, publishing %dB body (%q)", len(body), body) if err channel.Publish( exchange, // publish to an exchange routingKey, // routing to 0 or more queues false, // mandatory false, // immediate amqp.Publishing{ Headers: amqp.Table{}, ContentType: "text/plain", ContentEncoding: "", Body: []byte(body), DeliveryMode: amqp.Transient, // 1nonpersistent, 2persistent Priority: 0, // 09 }, ); err ! nil { return fmt.Errorf("Exchange Publish: %s", err) } return nil } func confirmOne(confirms
产品价格 本章节介绍了分布式消息服务RocketMQ的标准资费价格。 RocketMQ支持ARM架构的鲲鹏实例,其规格、价格与X86架构相同。 包年优惠政策:一年8.5折、两年7折、三年5折。 实例规格名称 代理个数 按需(元/小时) 包周期(元/月) :::: rocketmq.4u8g.cluster.small 1 8.4 3,780 rocketmq.4u8g.cluster.small 2 16.8 7,560 rocketmq.4u8g.cluster 1 14 6,300 rocketmq.4u8g.cluster 2 22.4 10,080 rocketmq.4u8g.cluster 3 30.8 13,860 rocketmq.4u8g.cluster 4 39.2 17,640 rocketmq.4u8g.cluster 5 47.6 21,420 rocketmq.4u8g.cluster 6 56 25,200 rocketmq.4u8g.cluster 7 64.4 28,980 rocketmq.4u8g.cluster 8 72.8 32,760 rocketmq.4u8g.cluster 9 81.2 36,540 rocketmq.4u8g.cluster 10 89.6 40,320 rocketmq.8u16g.cluster 1 27 12,150 rocketmq.8u16g.cluster 2 43.2 19,440 rocketmq.8u16g.cluster 3 59.4 26,730 rocketmq.8u16g.cluster 4 75.6 34,020 rocketmq.8u16g.cluster 5 91.8 41,310 rocketmq.8u16g.cluster 6 108 48,600 rocketmq.8u16g.cluster 7 124.2 55,890 rocketmq.8u16g.cluster 8 140.4 63,180 rocketmq.8u16g.cluster 9 156.6 70,470 rocketmq.8u16g.cluster 10 172.8 77,760 rocketmq.12u24g.cluster 1 41 18,450 rocketmq.12u24g.cluster 2 65.6 29,520 rocketmq.12u24g.cluster 3 90.2 40,590 rocketmq.12u24g.cluster 4 114.8 51,660 rocketmq.12u24g.cluster 5 139.4 62,730 rocketmq.12u24g.cluster 6 164 73,800 rocketmq.12u24g.cluster 7 188.6 84,870 rocketmq.12u24g.cluster 8 213.2 95,940 rocketmq.12u24g.cluster 9 237.8 107,010 rocketmq.12u24g.cluster 10 262.4 118,080 rocketmq.16u32g.cluster 1 50 22,500 rocketmq.16u32g.cluster 2 80 36,000 rocketmq.16u32g.cluster 3 110 49,500 rocketmq.16u32g.cluster 4 140 63,000 rocketmq.16u32g.cluster 5 170 76,500 rocketmq.16u32g.cluster 6 200 90,000 rocketmq.16u32g.cluster 7 230 103,500 rocketmq.16u32g.cluster 8 260 117,000 rocketmq.16u32g.cluster 9 290 130,500 rocketmq.16u32g.cluster 10 320 144,000 存储空间(元/GB/每代理) 高IO (SAS) 0.0005 0.35 存储空间(元/GB/每代理) 通用型SSD 0.00097 0.7 存储空间(元/GB/每代理) 超高IO (SSD) 0.0014 1 存储空间(元/GB/每代理) 极速型SSD 0.0042 2