[{"data":1,"prerenderedAt":1275},["ShallowReactive",2],{"blog-post-zh-nanomq-newsletter-202203":3},{"post":4,"translationPath":-1},{"id":5,"title":6,"author":7,"body":8,"cover":1259,"coverHeight":1260,"coverWidth":1261,"date":1262,"description":1263,"draft":1264,"extension":1265,"meta":1266,"navigation":1267,"path":1268,"pinned":1264,"seo":1269,"sitemap":1270,"stem":1271,"tags":1272,"__hash__":1274},"blog_zh\u002Fzh\u002Fblog\u002Fnanomq-newsletter-202203.md","NanoMQ Newsletter 2022-03｜LTS 版本 v0.6.6 发布 ：完善 MQTT 5.0 支持",null,{"type":9,"value":10,"toc":1237},"minimark",[11,22,31,36,43,48,56,66,69,75,81,87,109,113,120,439,442,448,452,458,465,471,475,481,484,490,494,499,502,508,511,517,520,524,527,530,545,548,565,568,574,578,581,616,619,625,682,687,768,774,780,784,788,834,838,908,913,919,923,927,971,975,1072,1077,1083,1086,1090,1094,1158,1162,1201,1206,1213,1217,1220,1231,1234],[12,13,14,15,21],"p",{},"三月初春，万物复苏，NanoMQ 项目",[16,17,18],"a",{"href":18,"rel":19},"https:\u002F\u002Fgithub.com\u002Fnanomq\u002Fnanomq",[20],"nofollow"," 也迎来了一个重大更新：第一个长期支持（LTS）版本 v0.6.6 正式发布。",[12,23,24,25,30],{},"在未来的一年里，这一版本会和主分支同时维护并得到所有重要的功能更新。在 0.6.6 版本里我们增加了内置性能测试工具，丰富了 HTTP APIs 的支持，这也是第一个能够较完整同时兼容支持 ",[16,26,29],{"href":27,"rel":28},"https:\u002F\u002Fwww.emqx.com\u002Fzh\u002Fblog\u002Fintroduction-to-mqtt-5",[20],"MQTT 5.0"," & 3.1.1 特性的版本。",[32,33,35],"h2",{"id":34},"nano_bench-工具","nano_bench 工具",[12,37,38,42],{},[16,39,41],{"href":40},"\u002Fzh\u002Fblog\u002Fnanomq-newsletter-202202","在一月的 Newsletter 中","我们预告了压力测试工具。本月它如期而至。nano_bench 是我们基于 NanoSDK 开发的性能测试工具，类似于 emqtt_bench。这是其第一个正式版本，欢迎用户试用并提出意见。",[44,45,47],"h3",{"id":46},"编译安装","编译&安装",[12,49,50,51,55],{},"nano_bench 工具在默认的发行版里并不携带，需要您通过设置",[52,53,54],"code",{},"-DBUILD_BENCH=ON","参数来编译安装以启用：",[57,58,63],"pre",{"className":59,"code":61,"language":62},[60],"language-text","$ cmake -G Ninja -DBUILD_BENCH=ON ..\n$ Ninja\n","text",[52,64,61],{"__ignoreMap":65},"",[12,67,68],{},"编译完成后，执行以下命令确认可以正常使用：",[57,70,73],{"className":71,"code":72,"language":62},[60],"$ nanomq\navailable applications:\n   * broker\n   * pub\n   * sub\n   * conn\n   * bench\n   * nngcat\n\nEMQ X Edge Computing Kit v0.6.6-3\nCopyright 2022 EMQ X Edge Team\n",[52,74,72],{"__ignoreMap":65},[57,76,79],{"className":77,"code":78,"language":62},[60],"$ nanomq bench start\nUsage: nanomq bench start { pub | sub | conn } [--help]\n",[52,80,78],{"__ignoreMap":65},[12,82,83,86],{},[52,84,85],{},"bench"," 有以下三个子命令：",[88,89,90,97,103],"ul",{},[91,92,93,96],"li",{},[52,94,95],{},"pub","：用于创建大量客户端来执行发布消息的操作。",[91,98,99,102],{},[52,100,101],{},"sub","：用于创建大量客户端订阅主题和接收消息。",[91,104,105,108],{},[52,106,107],{},"conn","：用于创建大量连接。",[44,110,112],{"id":111},"pub-发布","Pub 发布",[12,114,115,116,119],{},"执行 ",[52,117,118],{},"nanomq bench start pub --help"," 时，您将获得可用的参数输出。",[121,122,123,146],"table",{},[124,125,126],"thead",{},[127,128,129,134,137,140,143],"tr",{},[130,131,133],"th",{"align":132},"left","Parameter",[130,135,136],{"align":132},"Abbreviation",[130,138,139],{"align":132},"Optional value",[130,141,142],{"align":132},"Default value",[130,144,145],{"align":132},"Description",[147,148,149,167,183,205,221,237,253,269,284,300,316,332,349,365,381,396,411,425],"tbody",{},[127,150,151,155,158,161,164],{},[152,153,154],"td",{"align":132},"--host",[152,156,157],{"align":132},"-h",[152,159,160],{"align":132},"-",[152,162,163],{"align":132},"localhost",[152,165,166],{"align":132},"服务端地址",[127,168,169,172,175,177,180],{},[152,170,171],{"align":132},"--port",[152,173,174],{"align":132},"-p",[152,176,160],{"align":132},[152,178,179],{"align":132},"1883",[152,181,182],{"align":132},"服务端端口",[127,184,185,188,191,194,197],{},[152,186,187],{"align":132},"--version",[152,189,190],{"align":132},"-V",[152,192,193],{"align":132},"3 4 5",[152,195,196],{"align":132},"5",[152,198,199,204],{"align":132},[16,200,203],{"href":201,"rel":202},"https:\u002F\u002Fwww.emqx.com\u002Fzh\u002Fblog\u002Fthe-easiest-guide-to-getting-started-with-mqtt",[20],"MQTT"," 协议版本",[127,206,207,210,213,215,218],{},[152,208,209],{"align":132},"--count",[152,211,212],{"align":132},"-c",[152,214,160],{"align":132},[152,216,217],{"align":132},"200",[152,219,220],{"align":132},"客户端数量",[127,222,223,226,229,231,234],{},[152,224,225],{"align":132},"--interval",[152,227,228],{"align":132},"-i",[152,230,160],{"align":132},[152,232,233],{"align":132},"10",[152,235,236],{"align":132},"创建客户端的时间间隔 (ms)",[127,238,239,242,245,247,250],{},[152,240,241],{"align":132},"--interval_of_msg",[152,243,244],{"align":132},"-I",[152,246,160],{"align":132},[152,248,249],{"align":132},"1000",[152,251,252],{"align":132},"发布消息时间间隔",[127,254,255,258,261,263,266],{},[152,256,257],{"align":132},"--username",[152,259,260],{"align":132},"-u",[152,262,160],{"align":132},[152,264,265],{"align":132},"none; optional",[152,267,268],{"align":132},"客户端用户名",[127,270,271,274,277,279,281],{},[152,272,273],{"align":132},"--password",[152,275,276],{"align":132},"-P",[152,278,160],{"align":132},[152,280,265],{"align":132},[152,282,283],{"align":132},"客户端密码",[127,285,286,289,292,294,297],{},[152,287,288],{"align":132},"--topic",[152,290,291],{"align":132},"-t",[152,293,160],{"align":132},[152,295,296],{"align":132},"none; required",[152,298,299],{"align":132},"发布主题",[127,301,302,305,308,310,313],{},[152,303,304],{"align":132},"--size",[152,306,307],{"align":132},"-s",[152,309,160],{"align":132},[152,311,312],{"align":132},"256",[152,314,315],{"align":132},"消息负载的大小",[127,317,318,321,324,326,329],{},[152,319,320],{"align":132},"--qos",[152,322,323],{"align":132},"-q",[152,325,160],{"align":132},[152,327,328],{"align":132},"0",[152,330,331],{"align":132},"QoS 服务级别",[127,333,334,337,340,343,346],{},[152,335,336],{"align":132},"--retain",[152,338,339],{"align":132},"-r",[152,341,342],{"align":132},"true false",[152,344,345],{"align":132},"false",[152,347,348],{"align":132},"保留消息标示位",[127,350,351,354,357,359,362],{},[152,352,353],{"align":132},"--keepalive",[152,355,356],{"align":132},"-k",[152,358,160],{"align":132},[152,360,361],{"align":132},"300",[152,363,364],{"align":132},"保活时间",[127,366,367,370,373,375,378],{},[152,368,369],{"align":132},"--clean",[152,371,372],{"align":132},"-C",[152,374,342],{"align":132},[152,376,377],{"align":132},"true",[152,379,380],{"align":132},"保留会话标示位",[127,382,383,386,389,391,393],{},[152,384,385],{"align":132},"--ssl",[152,387,388],{"align":132},"-S",[152,390,342],{"align":132},[152,392,345],{"align":132},[152,394,395],{"align":132},"SSL 使能位",[127,397,398,401,403,405,408],{},[152,399,400],{"align":132},"--certfile",[152,402,160],{"align":132},[152,404,160],{"align":132},[152,406,407],{"align":132},"none",[152,409,410],{"align":132},"客户端 SSL 证书",[127,412,413,416,418,420,422],{},[152,414,415],{"align":132},"--keyfile",[152,417,160],{"align":132},[152,419,160],{"align":132},[152,421,407],{"align":132},[152,423,424],{"align":132},"客户端私钥",[127,426,427,430,432,434,436],{},[152,428,429],{"align":132},"--ws",[152,431,160],{"align":132},[152,433,342],{"align":132},[152,435,345],{"align":132},[152,437,438],{"align":132},"是为建立 WebSocket 连接",[12,440,441],{},"例如，我们启动 10 个连接，每秒向主题 t 发送 100 条 QoS0 消息，其中每个消息负载的大小为 16 字节：",[57,443,446],{"className":444,"code":445,"language":62},[60],"$ nanomq bench start pub -t msg -h broker.emqx.io -s 16 -q 0 -c 10 -I 100\n",[52,447,445],{"__ignoreMap":65},[44,449,451],{"id":450},"sub-订阅","Sub 订阅",[12,453,115,454,457],{},[52,455,456],{},"nanomq bench start sub --help"," 以获取此子命令的所有可用参数。它们的解释已包含在上表中，不同在于没有了发送频率参数，此处不再赘述。",[12,459,460,461,464],{},"例如，我们启动 500 个连接，每个连接使用 QoS0 订阅 ",[52,462,463],{},"t"," 主题：",[57,466,469],{"className":467,"code":468,"language":62},[60],"$ nanomq bench start sub -t msg -h broker.emqx.io -c 500\n",[52,470,468],{"__ignoreMap":65},[44,472,474],{"id":473},"conn-连接","Conn 连接",[12,476,115,477,480],{},[52,478,479],{},"nanomq bench start conn --help"," 以获取此子命令的所有可用参数。参数选项与其他命令大致相同。此处不再赘述。",[12,482,483],{},"例如，我们启动 1000 个客户端去连接公用的 EMQX 服务器：",[57,485,488],{"className":486,"code":487,"language":62},[60],"$ nanomq bench start conn -h broker.emqx.io -c 1000\n",[52,489,487],{"__ignoreMap":65},[44,491,493],{"id":492},"ssl-连接","SSL 连接",[12,495,496,498],{},[52,497,85],{}," 也支持建立 SSL 安全连接来执行测试。",[12,500,501],{},"单向认证",[57,503,506],{"className":504,"code":505,"language":62},[60],"$ nanomq bench start sub -c 100 -i 10 -t bench -p 8883 -S\n$ nanomq bench start pub -c 100 -I 10 -t bench -p 8883 -s 256 -S\n",[52,507,505],{"__ignoreMap":65},[12,509,510],{},"双向认证",[57,512,515],{"className":513,"code":514,"language":62},[60],"$ nanomq bench start sub -c 100 -i 10 -t bench -p 8883 --certfile path\u002Fto\u002Fclient-cert.pem --keyfile path\u002Fto\u002Fclient-key.pem\n$ nanomq bench start pub -c 100 -i 10 -t bench -s 256 -p 8883 --certfile path\u002Fto\u002Fclient-cert.pem --keyfile path\u002Fto\u002Fclient-key.pem\n",[52,516,514],{"__ignoreMap":65},[12,518,519],{},"结合之前 NanoMQ 的 Pub\u002FSub\u002FConn 工具，现在只需要安装 NanoMQ 命令行工具套装就能轻松获得 MQTT 3.1.1 的全套测试能力。",[32,521,523],{"id":522},"mqtt-50-特性支持","MQTT 5.0 特性支持",[12,525,526],{},"在 v0.6.6 之前的版本里，NanoMQ 无法兼容 MQTT 5.0 和 3.1.1 客户端进行通信。现在我们完善了 MQTT 5.0 的特性支持和兼容性，能够在内部进行不同版本客户端的消息互通和转换。",[12,528,529],{},"目前已支持以下重要且常用的 MQTT 5.0 特性：",[531,532,533,536,539,542],"ol",{},[91,534,535],{},"Shared Subscription 共享订阅",[91,537,538],{},"User Property 用户属性",[91,540,541],{},"Will Delay Interval 遗愿消息延时间隔",[91,543,544],{},"MQTT 5.0 CONNECT\u002FPUBLISH\u002FPUBACK\u002FPUBREL\u002FPUBCOMP\u002FSUBSCRIBE\u002FSUBACK\u002FDISCONNECT 等基础功能",[12,546,547],{},"以下 MQTT 5.0 特性将在后续版本中陆续支持：",[531,549,550,553,556,559,562],{},[91,551,552],{},"Authentication 认证服务",[91,554,555],{},"Response Topic & Correlation Data 响应主题",[91,557,558],{},"Subscription Identifier 订阅标识符",[91,560,561],{},"Reason String 原因字符串",[91,563,564],{},"Message expiry interval 消息过期间隔时间",[12,566,567],{},"这些特性在之后的版本里会逐步完善。",[569,570,571],"blockquote",{},[12,572,573],{},"注：NanoMQ 的上下线事件主题和消息仍然保留为 MQTT 3.1.1。",[32,575,577],{"id":576},"http-api","HTTP API",[12,579,580],{},"完善的 HTTP API 系统是用户控制和监控 Broker 的一个重要途径。0.6.6 版本我们也新增了 2 组重要的HTTP APIs。下面将对其进行简单介绍：",[12,582,583,584,589,590,593,594,597,598,593,600,602,603,606,607,610,611,593,613,615],{},"NanoMQ 的 HTTP API 使用 ",[16,585,588],{"href":586,"rel":587},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBasic_access_authentication",[20],"Basic 认证 (opens new window)","方式。",[52,591,592],{},"username"," 和 ",[52,595,596],{},"password"," 须分别填写。 默认的",[52,599,592],{},[52,601,596],{}," 是：",[52,604,605],{},"admin\u002Fpublic","。 可通过 ",[52,608,609],{},"etc\u002Fnanomq.conf"," 配置文件修改 ",[52,612,592],{},[52,614,596],{}," 。",[12,617,618],{},"第一组是统计信息 API。",[12,620,621],{},[622,623,624],"strong",{},"Parameters (JSON)",[121,626,627,645],{},[124,628,629],{},[127,630,631,634,637,640,643],{},[130,632,633],{"align":132},"Name",[130,635,636],{"align":132},"Type",[130,638,639],{"align":132},"Required",[130,641,642],{"align":132},"Value",[130,644,145],{"align":132},[147,646,647,667],{},[127,648,649,652,655,657,660],{},[152,650,651],{"align":132},"req",[152,653,654],{"align":132},"Integer",[152,656,639],{"align":132},[152,658,659],{"align":132},"2",[152,661,662,663,666],{"align":132},"请求码 ",[664,665,659],"em",{},"。",[127,668,669,672,674,676,679],{},[152,670,671],{"align":132},"seq",[152,673,654],{"align":132},[152,675,639],{"align":132},[152,677,678],{"align":132},"Unique",[152,680,681],{"align":132},"seq 是全局唯一的，请求\u002F响应信息都会携带该信息，可以通过该值确定对应的请求响应。",[12,683,684],{},[622,685,686],{},"Success Response Body (JSON)",[121,688,689,699],{},[124,690,691],{},[127,692,693,695,697],{},[130,694,633],{"align":132},[130,696,636],{"align":132},[130,698,145],{"align":132},[147,700,701,710,718,728,738,748,758],{},[127,702,703,705,707],{},[152,704,52],{"align":132},[152,706,654],{"align":132},[152,708,709],{"align":132},"请求结果，0 表示成功",[127,711,712,714,716],{},[152,713,671],{"align":132},[152,715,654],{"align":132},[152,717,681],{"align":132},[127,719,720,723,725],{},[152,721,722],{"align":132},"rep",[152,724,654],{"align":132},[152,726,727],{"align":132},"rep 是 2 作为 req 2 的响应。",[127,729,730,733,735],{},[152,731,732],{"align":132},"data.client_size",[152,734,654],{"align":132},[152,736,737],{"align":132},"订阅客户端的数量。",[127,739,740,743,745],{},[152,741,742],{"align":132},"data.message_in",[152,744,654],{"align":132},[152,746,747],{"align":132},"NanoMQ 流入的消息数量。",[127,749,750,753,755],{},[152,751,752],{"align":132},"data.message_out",[152,754,654],{"align":132},[152,756,757],{"align":132},"NanoMQ 流出的消息数量。",[127,759,760,763,765],{},[152,761,762],{"align":132},"data.message_drop",[152,764,654],{"align":132},[152,766,767],{"align":132},"NanoMQ 丢弃的消息数量。",[44,769,771],{"id":770},"examples",[622,772,773],{},"Examples",[57,775,778],{"className":776,"code":777,"language":62},[60],"$ curl -i --basic -u admin:public -X POST \"http:\u002F\u002Flocalhost:8081\u002Fapi\u002Fv1\" -d '{\"req\": 2,\"seq\": 1}'\n{\"code\":0,\"seq\":1,\"rep\":2,\"data\":{\"client_size\":1,\"message_in\":4,\"message_out\":0,\"message_drop\":4}}\n",[52,779,777],{"__ignoreMap":65},[44,781,783],{"id":782},"主题信息返回客户端标识符对应的主题和-qos-信息","主题信息：返回客户端标识符对应的主题和 QoS 信息。",[12,785,786],{},[622,787,624],{},[121,789,790,804],{},[124,791,792],{},[127,793,794,796,798,800,802],{},[130,795,633],{"align":132},[130,797,636],{"align":132},[130,799,639],{"align":132},[130,801,642],{"align":132},[130,803,145],{"align":132},[147,805,806,821],{},[127,807,808,810,812,814,817],{},[152,809,651],{"align":132},[152,811,654],{"align":132},[152,813,639],{"align":132},[152,815,816],{"align":132},"4",[152,818,662,819,666],{"align":132},[664,820,816],{},[127,822,823,825,827,829,832],{},[152,824,671],{"align":132},[152,826,654],{"align":132},[152,828,639],{"align":132},[152,830,831],{"align":132},"unique",[152,833,681],{"align":132},[12,835,836],{},[622,837,686],{},[121,839,840,850],{},[124,841,842],{},[127,843,844,846,848],{},[130,845,633],{"align":132},[130,847,636],{"align":132},[130,849,145],{"align":132},[147,851,852,860,868,877,888,898],{},[127,853,854,856,858],{},[152,855,52],{"align":132},[152,857,654],{"align":132},[152,859,709],{"align":132},[127,861,862,864,866],{},[152,863,671],{"align":132},[152,865,654],{"align":132},[152,867,681],{"align":132},[127,869,870,872,874],{},[152,871,722],{"align":132},[152,873,654],{"align":132},[152,875,876],{"align":132},"rep 是 4 作为 req 4 的响应。",[127,878,879,882,885],{},[152,880,881],{"align":132},"data[0].client_id",[152,883,884],{"align":132},"String",[152,886,887],{"align":132},"客户端订阅标识符。",[127,889,890,893,895],{},[152,891,892],{"align":132},"data[0].subscriptions[0].topic",[152,894,884],{"align":132},[152,896,897],{"align":132},"订阅的主题。",[127,899,900,903,905],{},[152,901,902],{"align":132},"data[0].subscriptions[0].qos",[152,904,654],{"align":132},[152,906,907],{"align":132},"订阅的 QoS",[44,909,911],{"id":910},"examples-1",[622,912,773],{},[57,914,917],{"className":915,"code":916,"language":62},[60],"$ curl -i --basic -u admin:public -X POST \"http:\u002F\u002Flocalhost:8081\u002Fapi\u002Fv1\" -d '{\"req\": 4,\"seq\": 1111111}'\n{\"code\":0,\"seq\":1111111,\"rep\":4,\"data\":[{\"client_id\":\"nanomq-ebd54382\",\"subscriptions\":[{\"topic\":\"a\u002Fb\u002Fc\",\"qos\":0}]}]}\n",[52,918,916],{"__ignoreMap":65},[44,920,922],{"id":921},"客户端信息返回所有的客户端信息","客户端信息：返回所有的客户端信息。",[12,924,925],{},[622,926,624],{},[121,928,929,943],{},[124,930,931],{},[127,932,933,935,937,939,941],{},[130,934,633],{"align":132},[130,936,636],{"align":132},[130,938,639],{"align":132},[130,940,642],{"align":132},[130,942,145],{"align":132},[147,944,945,959],{},[127,946,947,949,951,953,955],{},[152,948,651],{"align":132},[152,950,654],{"align":132},[152,952,639],{"align":132},[152,954,196],{"align":132},[152,956,662,957,666],{"align":132},[664,958,196],{},[127,960,961,963,965,967,969],{},[152,962,671],{"align":132},[152,964,654],{"align":132},[152,966,639],{"align":132},[152,968,831],{"align":132},[152,970,681],{"align":132},[12,972,973],{},[622,974,686],{},[121,976,977,987],{},[124,978,979],{},[127,980,981,983,985],{},[130,982,633],{"align":132},[130,984,636],{"align":132},[130,986,145],{"align":132},[147,988,989,997,1005,1014,1022,1032,1042,1052,1062],{},[127,990,991,993,995],{},[152,992,52],{"align":132},[152,994,654],{"align":132},[152,996,709],{"align":132},[127,998,999,1001,1003],{},[152,1000,671],{"align":132},[152,1002,654],{"align":132},[152,1004,681],{"align":132},[127,1006,1007,1009,1011],{},[152,1008,722],{"align":132},[152,1010,654],{"align":132},[152,1012,1013],{"align":132},"rep 是 5 作为 req 5 的响应。",[127,1015,1016,1018,1020],{},[152,1017,881],{"align":132},[152,1019,884],{"align":132},[152,1021,887],{"align":132},[127,1023,1024,1027,1029],{},[152,1025,1026],{"align":132},"data[0].username",[152,1028,884],{"align":132},[152,1030,1031],{"align":132},"用户名。",[127,1033,1034,1037,1039],{},[152,1035,1036],{"align":132},"data[0].keepalive",[152,1038,654],{"align":132},[152,1040,1041],{"align":132},"保活。",[127,1043,1044,1047,1049],{},[152,1045,1046],{"align":132},"data[0].protocol",[152,1048,654],{"align":132},[152,1050,1051],{"align":132},"协议版本。",[127,1053,1054,1057,1059],{},[152,1055,1056],{"align":132},"data[0].connect_status",[152,1058,654],{"align":132},[152,1060,1061],{"align":132},"连接状态。",[127,1063,1064,1067,1069],{},[152,1065,1066],{"align":132},"data[0].message_receive",[152,1068,654],{"align":132},[152,1070,1071],{"align":132},"该客户端接受的消息。",[44,1073,1075],{"id":1074},"examples-2",[622,1076,773],{},[57,1078,1081],{"className":1079,"code":1080,"language":62},[60],"$ curl -i --basic -u admin:public -X POST \"http:\u002F\u002Flocalhost:8081\u002Fapi\u002Fv1\" -d '{\"req\": 5,\"seq\": 1111111}'\n{\"code\":0,\"seq\":1111111,\"rep\":5,\"data\":[{\"client_id\":\"nanomq-ebd54382\",\"username\":\"nanmq\",\"keepalive\":60,\"protocol\":4,\"connect_status\":1,\"message_receive\":0}]\n",[52,1082,1080],{"__ignoreMap":65},[12,1084,1085],{},"另一组是通过 HTTP API 来修改 NanoMQ 的配置参数，主要用于提供服务端远程管理 NanoMQ 的能力。",[44,1087,1089],{"id":1088},"设置配置参数设置-broker-配置参数","设置配置参数：设置 Broker 配置参数。",[12,1091,1092],{},[622,1093,624],{},[121,1095,1096,1110],{},[124,1097,1098],{},[127,1099,1100,1102,1104,1106,1108],{},[130,1101,633],{"align":132},[130,1103,636],{"align":132},[130,1105,639],{"align":132},[130,1107,642],{"align":132},[130,1109,145],{"align":132},[147,1111,1112,1127,1139],{},[127,1113,1114,1116,1118,1120,1123],{},[152,1115,651],{"align":132},[152,1117,654],{"align":132},[152,1119,639],{"align":132},[152,1121,1122],{"align":132},"12",[152,1124,662,1125,666],{"align":132},[664,1126,1122],{},[127,1128,1129,1131,1133,1135,1137],{},[152,1130,671],{"align":132},[152,1132,654],{"align":132},[152,1134,639],{"align":132},[152,1136,831],{"align":132},[152,1138,681],{"align":132},[127,1140,1141,1144,1147,1149,1151],{},[152,1142,1143],{"align":132},"data",[152,1145,1146],{"align":132},"Object",[152,1148,639],{"align":132},[152,1150],{"align":132},[152,1152,1153,1154,666],{"align":132},"同获取配置一致",[16,1155,1143],{"href":1156,"rel":1157},"https:\u002F\u002Fnanomq.io\u002Fdocs\u002Fzh\u002Flatest\u002Fhttp-api\u002Fv4.html#%E8%8E%B7%E5%8F%96%E5%BD%93%E5%89%8D%E9%85%8D%E7%BD%AE",[20],[12,1159,1160],{},[622,1161,686],{},[121,1163,1164,1174],{},[124,1165,1166],{},[127,1167,1168,1170,1172],{},[130,1169,633],{"align":132},[130,1171,636],{"align":132},[130,1173,145],{"align":132},[147,1175,1176,1184,1192],{},[127,1177,1178,1180,1182],{},[152,1179,52],{"align":132},[152,1181,654],{"align":132},[152,1183,709],{"align":132},[127,1185,1186,1188,1190],{},[152,1187,671],{"align":132},[152,1189,654],{"align":132},[152,1191,681],{"align":132},[127,1193,1194,1196,1198],{},[152,1195,722],{"align":132},[152,1197,654],{"align":132},[152,1199,1200],{"align":132},"rep 是 12 作为 req 12 的响应。",[569,1202,1203],{},[12,1204,1205],{},"注意：远程修改配置后，需要重启 NanoMQ 以生效。",[12,1207,1208,1209,666],{},"关于其他 HTTP API 支持以及返回码和状态码具体细节请参阅 ",[16,1210,1211],{"href":1211,"rel":1212},"https:\u002F\u002Fnanomq.io\u002Fdocs\u002Fzh\u002Flatest\u002Fhttp-api\u002Fv4.html",[20],[32,1214,1216],{"id":1215},"bug-修复","Bug 修复",[12,1218,1219],{},"本月，NanoMQ 继续收集社区反馈并积极修复问题。修复了如下重要 Bug，请使用旧版本的用户酌情升级。",[531,1221,1222,1225,1228],{},[91,1223,1224],{},"修复桥接连接在极高吞吐时会进入无响应状态的问题。",[91,1226,1227],{},"修复了一个 NanoSDK 0.3 版本里的死锁问题。",[91,1229,1230],{},"修复共享订阅和通配符共用时导致的无法收到消息的问题。",[32,1232,1233],{"id":1233},"其他动态",[12,1235,1236],{},"NanoMQ 0.7.0 版本将会引入 SQLite 作为 QoS+ 会话保持\u002F消息持久化缓存的选项。敬请关注。",{"title":65,"searchDepth":1238,"depth":1238,"links":1239},2,[1240,1248,1249,1257,1258],{"id":34,"depth":1238,"text":35,"children":1241},[1242,1244,1245,1246,1247],{"id":46,"depth":1243,"text":47},3,{"id":111,"depth":1243,"text":112},{"id":450,"depth":1243,"text":451},{"id":473,"depth":1243,"text":474},{"id":492,"depth":1243,"text":493},{"id":522,"depth":1238,"text":523},{"id":576,"depth":1238,"text":577,"children":1250},[1251,1252,1253,1254,1255,1256],{"id":770,"depth":1243,"text":773},{"id":782,"depth":1243,"text":783},{"id":910,"depth":1243,"text":773},{"id":921,"depth":1243,"text":922},{"id":1074,"depth":1243,"text":773},{"id":1088,"depth":1243,"text":1089},{"id":1215,"depth":1238,"text":1216},{"id":1233,"depth":1238,"text":1233},"\u002Fimages\u002Fblog\u002Fzh\u002Fnanomq-newsletter-202203\u002Fcover.webp",684,1520,"2022-04-02","0.6.6 版本里我们增加了内置性能测试工具，丰富了 HTTP APIs 的支持，这也是第一个能够较完整同时兼容支持 MQTT 5.0 & 3.1.1 特性的版本",false,"md",{},true,"\u002Fzh\u002Fblog\u002Fnanomq-newsletter-202203",{"title":6,"description":1263},{"loc":1268,"lastmod":1262},"zh\u002Fblog\u002Fnanomq-newsletter-202203",[1273],"NanoMQ Newsletter","4X08Z7fusLm1AiUiPzlHS5QCtW80Eqj8SDcHqc6VQxo",1794542897730]