• [教程] vm部署mesher并使用zipkin进行分布式追踪
    本文内容:    使用mesher对服务进行sidecar模式的代理,并结合zipkin实现对服务的分布式追踪。需求背景:    client ---> mesher_client --->mesher_server_A --->server_A --->mesher_server_A --->mesher_server_B--->server_B在此需求背景下,我们希望该请求以一条完整的调用链进行显示,而不是分成client --server_A 和server_A -->server_B两条调用链显示。环境准备(这里只演示本地):1,一个华为云账号,并下载mesher下载2,zipkin下载 3, local-service-center 下载    步骤:1,部署zipkin,本文不详细介绍zipkin部署,可参考zipkin。2 运行server_B及mesher_B2.1  配置microservice.yamlAPPLICATION_ID: mesher service_description:     name: server_B # 服务名     version: 1.0 # 服务版本2.2 配置chassis.yaml--- cse:   protocols:     http:       listenAddress: 192.168.0.131:30112 #监听地址,外部地址   service:     registry:       address:  https://cse.cn-north-1.myhuaweicloud.com:443 #如为local-sc请配置为http://127.0.0.1:30100  handler:     chain:       Consumer:  #consumer handlers       Provider:         incoming: tracing-provider,transport    tracing:  enabled: true   collectorType: zipkin  collectorTarget: http://localhost:9411/api/v1/spans #zipkin aderss2.3 配置auth.yamlcse:   credentials:     accessKey: *** # you ak     secretKey: *** # you sk注:ak/sk获取请参考这里,该配置不区分consumer或provider,配置都是相同。如使用local-service-center部署,则不需要该配置2.4 配置环境变量SPECIFIC_ADDRexport SPECIFIC_ADDR=127.0.0.1:82 #用于设置mesher的后端服务地址,即server_B监听地址注:此处请根据本身服务监听地址进行修改2.5 启动mesher./mesher2.6 启动server_B请根据自己本身开发的server_B进行启动,此处需要注意的是,在启动server_B之前需要设置环境变量http_proxy或HTTP_PROXY,该环境变量设置的值为该服务的代理mesher监听地址,在以上配置中http_proxy应设置为export http_proxy=http://192.168.0.131:301123 运行server_A及mesher_A3.1  配置microservice.yamlAPPLICATION_ID: mesher service_description:     name: server_A # 服务名     version: 1.0 # 服务版本3.2 配置chassis.yaml--- cse:   protocols:     http:       listenAddress: 192.168.0.131:30111 #监听地址,外部地址   service:     registry:       address: https://cse.cn-north-1.myhuaweicloud.com:443 #如为local-sc请配置为http://127.0.0.1:30100  handler:     chain:       Consumer:          outgoing: loadbalance,tracing-consumer,transport       Provider:         incoming: tracing-provider,transport   tracing:  enabled: true   collectorType: zipkin  collectorTarget: http://localhost:9411/api/v1/spans #zipkin aderss3.3 配置auth.yaml    请参考 2.33.4 配置环境变量SPECIFIC_ADDRexport SPECIFIC_ADDR=127.0.0.1:81 #用于设置mesher的后端服务地址,即server_A监听地址3.5 启动mesher./mesher3.6 启动server_A此处和启动server_B之前一样,同样需要设置环境变量http_proxy或HTTP_PROXY,详细参考 2.6.4  运行client及mesher_client4.1  配置microservice.yamlAPPLICATION_ID: mesher service_description:     name: client # 服务名     version: 1.0 # 服务版本4.2配置chassis.yaml--- cse:   protocols:     http:       listenAddress: 192.168.0.131:30111 #监听地址,外部地址   service:     registry:       address: https://cse.cn-north-1.myhuaweicloud.com:443  #如为local-sc请配置为http://127.0.0.1:30100   handler:     chain:       Consumer:          outgoing: loadbalance,tracing-consumer,transport tracing:  enabled: true   collectorType: zipkin  collectorTarget: http://localhost:9411/api/v1/spans #zipkin  aderss4.3 配置auth.yaml    请参考 2.34.4启动mesher./mesher4.5 启动client 此处和启动server一样,同样需要设置环境变量http_proxy或HTTP_PROXY,详细参考 2.6.5 访问在所有服务以及代理mesher全部启动完成之后,即可正常访问。此处的访问不同于我们以往通过ip+port访问,此处我们可以直接通过服务名(microservice.yaml中的name配置项)。如:server_A和server_B都是向外提供 /hello 接口,此时client 可以通过 http://server_A/hello 对server_A进行访问,server_A可以通过 http://server_B/hello 对server_B进行访问注意:此时的server_A既作为provider又作为consumer,为保证链路的不断,client端发往server_A请求中的header,同时需要将其放在server_A发往server_B的请求中,此部分需要在业务代码中完成5.1 调用成功之后,访问 http://localhost:9411/zipkin/ 并进入调用链详细界面可以看到一下界面上图所示为一个完整调用链
  • [技术干货] 如何申请及使用SoftRadio上报设备数据
    1     产品概述   SoftRadio是一款PC软件,用来模拟NB-IoT Chipset/Module,同时屏蔽NB IoT Air Interface,提供一条通路直接到IoT平台。 在测试场景下,合伙伙伴在不需要芯片/模组、NB-IoT基站和核心网的情况下,借助PC端的SoftRadio软件,任何时候都可通过互联网远程连接到华为IOT平台和APP应用,用于NB-IoT终端设备到APPServer端到端的基本功能调试,不受时间和空间以及硬件限制,大大提升调试效率。2     下载SoftRadioSoftRadio下载地址:请百度搜索下载下载完解压后,得到SoftRadio安装包和SoftRadio用户指南注意下载的SoftRadio是完整的,不然会出现安装时报错,目前支持window7、windows10。3     如何激活SoftRadio开发者安装SoftRadio软件后,需要根据ESN信息申请Lincense,并激活软件后才可以使用相应的功能。操作步骤如下:1、  在PC桌面双击SoftRadio快捷图标;2、  当任务栏出现“SoftRadiohas been started”提示时,表明SoftRadio启动成功,但是还不能使用;3、 在浏览器URL中输入http://localhost:8090/,进入SoftRadio界面;4、  在SoftRadio界面左侧导航中单击“License”,进入License Config界面获取ESN号;5、  将获取到的ESM号填入如下示例License申请模板反馈到邮箱softradio@huawei.com,来申请SoftRadio软件License。1个工作日内将得到邮件反馈的“softradio.license”文件。6、 登录http://localhost:8090/上传获取到的“softradio.license”,单击“ActiveLicense”按钮,若激活成功,状态由“NotActive”变为“Actived”。激活成功如图:4     如何配置SoftRadio4.1     配置IoT平台地址1、  SoftRadio启动成功后,在浏览器中输入http://localhost:8090/;2、  (英文界面)在左侧导航栏选择“Platform Config”,(中文界面)选择“IoT平台设置”;3、  在Platform Config界面填写与SoftRadio对接的IoT平台的IP(即SP Protal的IP),端口号为18080,单击“Submit”,完成IoT平台的地址配置。4.2     添加并注册设备1.        (英文界面)在SoftRadio左侧导航栏选择“Dashboard”,(中文界面)选择“设备管理”;2.        在Dashboard界面上单击Devices标识旁边的“”,展开AddDevice界面。各项设备信息说明:Node ID:为从IoT平台获取的验证码verifyCode,verifyCode并且必须使用TEST$_UUID(数字、字母、特殊字符)的格式传入参数。verifyCode由NB-IoT终端厂商通过APP应用与IoT平台之间的通信接口获取。“Manufactuer Id” 、“Device Type” 、“Model”信息需要与IoT平台上创建的APP应用信息保持一致,由NB-IoT终端厂商提供。。ProtocolType:固定为“CoAP”。单击“Submit”,提交设备信息。设备信息提交后,在Dashboard界面显示已添加的NB-IoT终端设备信息,且设备状态显示为“Registered”4.3     绑定NB-IoT终端设备设备注册成功后,在Dashboard界面单击绑定按钮“”,完成设备绑定。设备绑定完成后,设备状态变为“Active”。注:设备绑定完成后,如果状态没有变成“Acitve”,则请确认网络状态是否畅通,配置的IoT平台IP地址和端口是否正确,设备信息填写是否有误。
  • [交流分享] 如何使用SoftRadio绑定设备?
    1     产品概述   SoftRadio是一款PC软件,用来模拟NB-IoT Chipset/Module,同时屏蔽NB IoT Air Interface,提供一条通路直接到IoT平台。 在测试场景下,合伙伙伴在不需要芯片/模组、NB-IoT基站和核心网的情况下,借助PC端的SoftRadio软件,任何时候都可通过互联网远程连接到华为IOT平台和APP应用,用于NB-IoT终端设备到APPServer端到端的基本功能调试,不受时间和空间以及硬件限制,大大提升调试效率。2     下载SoftRadioSoftRadio下载地址:中文版链接:http://developer.huawei.com/ict/cn/resource/tool?ecologyID=0&productID=0&colname=1&key=softradio&curPage=1&pageNum=10&isOpen=false英文版链接:http://developer.huawei.com/ict/en/resource/tool?ecologyID=0&productID=0&colname=1&key=softradio&curPage=1&pageNum=10&isOpen=false下载完解压后,得到SoftRadio安装包和SoftRadio用户指南注意下载的SoftRadio是完整的,不然会出现安装时报错,目前支持window7、windows10。3     如何激活SoftRadio开发者安装SoftRadio软件后,需要根据ESN信息申请Lincense,并激活软件后才可以使用相应的功能。操作步骤如下:1、  在PC桌面双击SoftRadio快捷图标;2、  当任务栏出现“SoftRadiohas been started”提示时,表明SoftRadio启动成功,但是还不能使用;3、 在浏览器URL中输入http://localhost:8090/,进入SoftRadio界面;4、  在SoftRadio界面左侧导航中单击“License”,进入License Config界面获取ESN号;5、  将获取到的ESM号填入如下示例License申请模板反馈到邮箱softradio@huawei.com,来申请SoftRadio软件License。1个工作日内将得到邮件反馈的“softradio.license”文件。License申请模板6、 登录http://localhost:8090/上传获取到的“softradio.license”,单击“ActiveLicense”按钮,若激活成功,状态由“NotActive”变为“Actived”。激活成功如图:4     如何配置SoftRadio4.1     配置IoT平台地址1、  SoftRadio启动成功后,在浏览器中输入http://localhost:8090/;2、  (英文界面)在左侧导航栏选择“Platform Config”,(中文界面)选择“IoT平台设置”;3、  在Platform Config界面填写与SoftRadio对接的IoT平台的IP(即SP Protal的IP),端口号为18080,单击“Submit”,完成IoT平台的地址配置。4.2     添加并注册设备1.        (英文界面)在SoftRadio左侧导航栏选择“Dashboard”,(中文界面)选择“设备管理”;2.        在Dashboard界面上单击Devices标识旁边的“”,展开AddDevice界面。各项设备信息说明:Node ID:为从IoT平台获取的验证码verifyCode,verifyCode并且必须使用TEST$_UUID(数字、字母、特殊字符)的格式传入参数。verifyCode由NB-IoT终端厂商通过APP应用与IoT平台之间的通信接口获取。“Manufactuer Id” 、“Device Type” 、“Model”信息需要与IoT平台上创建的APP应用信息保持一致,由NB-IoT终端厂商提供。。ProtocolType:固定为“CoAP”。单击“Submit”,提交设备信息。设备信息提交后,在Dashboard界面显示已添加的NB-IoT终端设备信息,且设备状态显示为“Registered”4.3     绑定NB-IoT终端设备设备注册成功后,在Dashboard界面单击绑定按钮“”,完成设备绑定。设备绑定完成后,设备状态变为“Active”。注:设备绑定完成后,如果状态没有变成“Acitve”,则请确认网络状态是否畅通,配置的IoT平台IP地址和端口是否正确,设备信息填写是否有误。转自:https://developer.huawei.com/ict/forum/thread-22773.html
  • [云早报] HTTP 3.0 将 TCP 协议更换为基于 UDP 的谷歌 QUIC~(北京时间)11月14日,星期三
    云早报,(北京时间)11月14日,星期三【云头条】HTTP 3.0 将 TCP 协议更换为基于 UDP 的谷歌 QUICHTTP改而使用一种基于UDP的协议。超文本传输协议(HTTP)是规定浏览器如何与Web服务器进行通信的网络协议,它的下一个版本将与现在使用的版本大不相同。今天的HTTP(版本1.0、1.1和2)都基于TCP(传输控制协议)。谷歌在不断努力提高Web联网的速度,一直在研发一种名为QUIC的实验性网络协议,QUIC的全称是“快速UDP互联网连接”。QUIC放弃了TCP,改而使用一种同类协议UDP(用户数据报协议)。UDP是TCP的“对立面”;它不可靠(从一端发送的数据可能永远不会被另一端接收,而另一端无法知道某些数据已经丢失),而且无序(稍后发送的数据可能取代之前发送的数据,以凌乱的方式抵达接收端)。然而,UDP非常简单,新协议常常建立在UDP的基础上。(查看全文)【华为云新闻】OMG! 双十一忘了促销,咋办?双十一,正当我在公司享受单身狗的清静时。哒哒哒,抬头一看原来是运营部老曹朝我走了过来...于是有了以下的对话:(查看全文)【互联网新闻】1.贾跃亭:将拿出个人股权的64%激励员工 36氪讯,FF美国战略会宣布2020年IPO,将在美量产FF 81。贾跃亭表示,来自美国及中东等地的主权基金已成为FF的潜在投资人,并计划将FF的IPO时间提前至2020年。同时,贾跃亭宣布FF将推行“合伙人制度”,而他将拿出个人股权的64%用于员工激励。网友评论:是,我公司年终奖发不出来的时候领导也是这么说的。2.锤子科技回应资金链紧张、裁员传闻:胡编乱造,已发律师函近日,有媒体报道称,锤子大规模裁员已经开始,或裁至40%。报道还称,京东每个月的回款占到锤子现金流的60%以上,现在每个月的回款越来越少,不够员工开支。传闻京东金融供应链贷款提前断了,没钱启动手机新品了。对此,锤子科技CEO罗永浩通过个人微博辟谣:“这是创业六年来见过最失实的报道,而且完全是彻头彻尾的耍流氓。你不用耍完了流氓又假惺惺地提什么尊重,我们会起诉的,你等着吧。”锤子科技昨日晚间在官方微博回应称:文章充斥大量的失实内容,对锤子科技和罗永浩极尽造谣与诽谤,严重伤害了锤子科技和罗永浩的声誉;锤子科技并未出现“不够员工开支”的问题,文中提到的大规模裁员实为根据现有的产品线对各地的技术人员进行整合。锤子科技称已向崔玉贤和网易科技发去律师函。网友评论:创业不易,尤其中年男人!3.阿里回应“刷单乱象”:今年已监控到2800余炒信平台针对此前媒体刊发的电商在“双十一”前刷好评、刷销量的调查报道,阿里巴巴13日回应称,今年已通过数据技术主动风控识别出2800多个刷单团伙,联合执法部门,打掉傻推网、整点抢、牛刷刷、蓝天碧水、蓝天网等大型炒信平台。网友评论:哪些发短信让刷单的也该有人管管了...4.双十一”七成受访者囤货又后悔,男性囤货后悔比例更高据中国青年报社社会调查中心联合问卷网对2017名受访者进行的一项调查显示:84.5%的受访者在“双十一”购物节趁便宜囤了货,日用家居、服装鞋帽和母婴用品是人们最常囤的品类,其中,男性囤货的比例比女性高;73.3%的受访者坦言自己有囤货后又后悔的经历,男性受访者的比例同样高于女性受访者。网友评论:下单的时候甚至都不知道自己买了什么~5.机构称Q3全球智能音箱出货量2270万部11月13日消息,Strategy Analytics的最新季度研究报告指出,2018年Q3全球智能音箱出货量同比增长197%,达到2270万部,并在本年最后一个季度有望超过1亿台的使用量。亚马逊以32%的市场份额仍排名第一,谷歌占23%,位居第二。百度市场份额从2018年Q2的1%增加到Q3的8%。网友评论:华为“小艺”了解一下~6.银隆:原董事长等侵占公司利益超10亿11月13日消息,据报道,银隆新能源发布声明称,公司新一任董事会、监事会及公司管理层在履职过程中,发现原董事长魏银仓、原总裁孙国华涉嫌通过不法手段,侵占公司利益金额超过10亿。目前,公司已向珠海市中级人民法院提起民事诉讼、珠海市公安局经侦支队进行报案,相关机构已正式受理。网友评论:看了彩票的1360亿,10亿已经开始免疫了~7.谷歌开源新算法 语音区分准确率92%11月13日消息,据外媒报道,谷歌AI研究人员在最新名为《Fully Supervised Speaker Diarization》的论文和相关博客文章中,描述了一种新的AI系统,该系统能够将声音区分的准确率提高至92%。据称,该系统核心算法已经可在Github上的开源软件中可用,它实现了一个在线二值化错误率(DER),在NIST SRE 2000 CALLHOME基准上是7.6%,这对于实时应用来说已经足够低了,而谷歌之前使用的方法DER为8.8%。网友评论:开源才是主流!8.传Waymo商用无人出租车服务下月推出11月13日消息,据报道,消息人士向彭博社透露,Waymo计划在12月初向商用无人驾驶汽车服务迈出下一步。该公司将推出面向普通消费者的新出租车服务,目前尚不清楚该服务的具体名称。网友评论:我敢开,你敢坐?9.微博抽奖上线新功能:加入“不过滤选项” 微博CEO王高飞今日在微博上透露,微博抽奖新增不过滤选项。微博将提供普通过滤、深度过滤和不过滤三种选项筛选,其中深度过滤可能会筛选掉疑似抽奖专业户。王高飞表示,转发抽奖之所以在过去几年能存活下来,核心是因为不管羊毛党怎么刷,几乎没有抽出来过机器号,否则肯定被停了。网友评论:推广告的时候,为什么不标注我们是辣鸡用户?10.花呗将在12月1日上线延期还款功能36氪讯,花呗在支付宝APP预告了即将上线的延期还款功能,将于12月1日全面开启。延期还款指南显示,该功能可在每月1号出账日之后至10号还款日之前使用。使用该功能,需要支付少量费用,即可把原定于本月还的账单挪到下个月还。网友评论:什么时候还不重要,重要的是蚂蚁可不可以自己还!【本周新闻】阿里云「计费 bug」导致用户只能多花冤枉钱 ~(北京时间)11月12日,星期一OpenAI推出强化学习项目Spinning Up~(北京时间)11月13日,星期二【更多内容,欢迎访问】http://forum.huaweicloud.com/forum.php?mod=forumdisplay&fid=569&filter=typeid&typeid=266(内容来源于互联网,如侵犯您的合法权益或有其他任何疑问,请联系:huaweicloud.bbs@huawei.com沟通处理。谢谢!)
  • [行业资讯] HTTP 3.0 将 TCP 协议更换为基于 UDP 的谷歌 QUIC
    HTTP 3.0 将 TCP 协议更换为基于 UDP 的谷歌 QUIC云头条                                            云头条                                                            微信号YunTouTiao功能介绍引领行业变革,传播观点,传播价值,连接技术与商业;关注云计算、大数据、AI、安全、区块链、边缘计算、物联网、量子通信等领域。 Web:www.yuntoutiao.com ,欢迎互动~~~                                                                                                 昨天                HTTP改而使用一种基于UDP的协议。超文本传输协议(HTTP)是规定浏览器如何与Web服务器进行通信的网络协议,它的下一个版本将与现在使用的版本大不相同。今天的HTTP(版本1.0、1.1和2)都基于TCP(传输控制协议)。TCP是作为一套核心IP(Internet协议)层的一部分而定义的,它提供了这种机制:以一种可靠、有序和校错的方式,通过IP网络传输数据。“可靠”是指如果某些数据在传输过程中丢失(由于硬件故障、拥塞或超时),接收端可以检测丢失问题,要求发送端重新发送丢失的数据;“有序”是指数据按照当初传输的顺序来接收;“校错”是指传输过程中的任何损坏都能检查出来。这些都是理想的属性,对于HTTP之类的协议而言必不可少,但TCP是作为一种通用型的解决方案而设计的,适合需要这种可靠性的任何应用。它并不是针对HTTP适用的场景类型经过特别的调整。比如说,TCP需要在客户端和服务器之间进行多次往返以建立连接;使用SSL over TCP需要后续往返以建立加密连接。一种专为HTTP设计的协议可以合并这些协商,并减少往返次数,因而缩短网络延迟。对立面谷歌在不断努力提高Web联网的速度,一直在研发一种名为QUIC的实验性网络协议,QUIC的全称是“快速UDP互联网连接”。QUIC放弃了TCP,改而使用一种同类协议UDP(用户数据报协议)。UDP是TCP的“对立面”;它不可靠(从一端发送的数据可能永远不会被另一端接收,而另一端无法知道某些数据已经丢失),而且无序(稍后发送的数据可能取代之前发送的数据,以凌乱的方式抵达接收端)。然而,UDP非常简单,新协议常常建立在UDP的基础上。QUIC恢复了TCP拥有的可靠性和有序,但没有带来相同数量的往返和延迟。比如说,如果客户端重新连接到服务器,该客户端可以通过第一个数据包发送重要的加密数据,让服务器能够利用之前协商的同一种加密,重新使用原有连接,无需任何额外的往返。互联网工程任务组(IETF,协作设计网络协议的行业组织)一直致力于制定标准化的QUIC版本,该版本目前与谷歌的原始提案有很大差异。IETF还希望开发一个使用QUIC的HTTP版本,该版本之前名为HTTP-over-QUIC或HTTP/QUIC。然而,HTTP-over-QUIC不是HTTP/2 over QUIC,而是一种为QUIC设计的新的HTTP更新版。因此,身兼IETF旗下HTTP工作组组长和QUIC工作组组长的马克•诺丁汉(Mark Nottingham)提议,将HTTP-over-QUIC改名为HTTP/3,这个提议似乎已得到了广泛接受。HTTP的下一个版本将QUIC列作一项必不可少的基本功能,那样HTTP/3将始终使用QUIC作为其网络协议。
  • [交流分享] 如何使用SoftRadio绑定设备?
    1     产品概述   SoftRadio是一款PC软件,用来模拟NB-IoT Chipset/Module,同时屏蔽NB IoT Air Interface,提供一条通路直接到IoT平台。 在测试场景下,合伙伙伴在不需要芯片/模组、NB-IoT基站和核心网的情况下,借助PC端的SoftRadio软件,任何时候都可通过互联网远程连接到华为IOT平台和APP应用,用于NB-IoT终端设备到APPServer端到端的基本功能调试,不受时间和空间以及硬件限制,大大提升调试效率。2     下载SoftRadioSoftRadio下载地址:中文版链接:http://developer.huawei.com/ict/cn/resource/tool?ecologyID=0&productID=0&colname=1&key=softradio&curPage=1&pageNum=10&isOpen=false英文版链接:http://developer.huawei.com/ict/en/resource/tool?ecologyID=0&productID=0&colname=1&key=softradio&curPage=1&pageNum=10&isOpen=false下载完解压后,得到SoftRadio安装包和SoftRadio用户指南注意下载的SoftRadio是完整的,不然会出现安装时报错,目前支持window7、windows10。3     如何激活SoftRadio开发者安装SoftRadio软件后,需要根据ESN信息申请Lincense,并激活软件后才可以使用相应的功能。操作步骤如下:1、  在PC桌面双击SoftRadio快捷图标;2、  当任务栏出现“SoftRadiohas been started”提示时,表明SoftRadio启动成功,但是还不能使用;3、 在浏览器URL中输入http://localhost:8090/,进入SoftRadio界面;4、  在SoftRadio界面左侧导航中单击“License”,进入License Config界面获取ESN号;5、  将获取到的ESM号填入如下示例License申请模板反馈到邮箱softradio@huawei.com,来申请SoftRadio软件License。1个工作日内将得到邮件反馈的“softradio.license”文件。License申请模板6、 登录http://localhost:8090/上传获取到的“softradio.license”,单击“ActiveLicense”按钮,若激活成功,状态由“NotActive”变为“Actived”。激活成功如图:4     如何配置SoftRadio4.1     配置IoT平台地址1、  SoftRadio启动成功后,在浏览器中输入http://localhost:8090/;2、  (英文界面)在左侧导航栏选择“Platform Config”,(中文界面)选择“IoT平台设置”;3、  在Platform Config界面填写与SoftRadio对接的IoT平台的IP(即SP Protal的IP),端口号为18080,单击“Submit”,完成IoT平台的地址配置。4.2     添加并注册设备1.        (英文界面)在SoftRadio左侧导航栏选择“Dashboard”,(中文界面)选择“设备管理”;2.        在Dashboard界面上单击Devices标识旁边的“”,展开AddDevice界面。各项设备信息说明:Node ID:为从IoT平台获取的验证码verifyCode,verifyCode并且必须使用TEST$_UUID(数字、字母、特殊字符)的格式传入参数。verifyCode由NB-IoT终端厂商通过APP应用与IoT平台之间的通信接口获取。“Manufactuer Id” 、“Device Type” 、“Model”信息需要与IoT平台上创建的APP应用信息保持一致,由NB-IoT终端厂商提供。。ProtocolType:固定为“CoAP”。单击“Submit”,提交设备信息。设备信息提交后,在Dashboard界面显示已添加的NB-IoT终端设备信息,且设备状态显示为“Registered”4.3     绑定NB-IoT终端设备设备注册成功后,在Dashboard界面单击绑定按钮“”,完成设备绑定。设备绑定完成后,设备状态变为“Active”。注:设备绑定完成后,如果状态没有变成“Acitve”,则请确认网络状态是否畅通,配置的IoT平台IP地址和端口是否正确,设备信息填写是否有误。转自:https://developer.huawei.com/ict/forum/forum.php?mod=viewthread&tid=22773&fromuid=4000811
  • [云早报] 官宣 | Chrome 70正式向所有HTTP网站发出红色“不安全”警告!~(北京时间)10月19日,星期五
    云早报,(北京时间)10月19日,星期五【云头条】官宣 | Chrome 70正式向所有HTTP网站发出红色“不安全”警告! 10月17日,坐拥10亿用户的Chrome浏览器正式上线70版本。作为第一个采用TLS1.3正式版的Chrome版本,在安全新功能方面,Chrome 70进一步升级了HTTP页面“不安全”显示标识,即当用户输入数据时,HTTP 站点将显示一个红色的“Not Secure”(不安全)警告。此次更新是谷歌“HTTPS 100%”计划的一部分,其目标是所有网站都通过HTTPS加载到Chrome上,从而强调HTTP网站不应被信任。【华为云新闻】华为云安全新品七连 发!安全AI化攻入无人区 10月11日,上海,在一年一度规模盛大的华为全联接大会上,华为云安全总经理杨松发表了题为《华为云安全+AI,为企业戴上夜视镜、穿上金钟罩》的演讲,对华为云在安全AI化上取得的突破——安全AI平台米兰达(Miranda)进行了隆重介绍,并发布了其他6款安全新品。一口气发布7款新品,力度之大,前所未有。(查看全文)【互联网新闻】1.京东公司今年将在谷歌平台推出旗舰美国网上商店京东今年将在 Google 平台上推美国旗舰网上商店,扩大美国市场份额。这也是 Google 今年稍早斥资5.5亿美元买进京东股份以来的第一步行动,最终将在全球推出网店。京东物流战略总监包燕表示,Google 购物推出时,京东将会有旗舰店,谷歌会处理付款和订单。网友评论:让美国人民也感受一下京东自营的速度。2.FF员工讨薪恒大进展:10余员工集体仲裁,第2批**者在路上FF中国60余名员工集体向恒**拉第讨薪事件现在出现最新进展。FF中国18日透露,首批10余名FF中国员工已经向朝阳区劳动仲裁委递交了申请书,通过法律**。目前,朝阳区仲裁委已接受申请。19日还有第2批员工继续通过劳动仲裁的方式向恒**拉第追讨停发的薪资。FF内部人士透露,首批**员工的诉求非常简单,就是要求恒大方面按照合同约定按时按约发放工资。3.融创拟再接手4个万达文旅城,全国文旅城项目将增至17个据澎湃新闻报道,10月18日,大连万达集团拟继续将文旅集团旗下的4个万达文旅城项目出售给融创中国,这4个项目分别位于西安、长沙、厦门和武汉。若顺利接下上述4个文旅城项目,融创就累计拥有17个万达文旅城项目了。目前,万达官方已公布的万达城项目总计18个,除了已经转让给融创的13个万达城及上述4个项目之外,另一个万达长白山度假区在2017年6月已经变更完工商手续,转让给了大连一方集团。融创此前已接手的13个项目已经全部完成交割,目前已开业5个,在建8个。网友评论:万达继续卖卖卖4.《腾讯没有梦想》作者:奖不是头条评的10月17日,第二届今日头条“金字节”奖颁奖典礼在京举行,自媒体作者潘乱凭借《腾讯没有梦想》斩获金字节奖“年度公司报道”奖项。随后,引发圈内热议。10月18日,潘乱就此事在个人自媒体“乱翻书”中做了简短文字回应,称“奖项是由行业评委评选,不是头条评的;金字节的评委跟腾讯新闻前一天主办的‘致敬深度’的评委有过半重叠。”网友评论:信不信由你,反正作者也回应了。5.京东物流正式上线个人快递业务在10月18日上午举行的2018全球智能物流峰会上,京东物流CEO王振辉宣布,京东物流正式上线面向个人客户的快递业务。资料显示,10月17日京东物流官方微信公众号关联小程序“京东快递”,认证主体为“北京京东尚科信息技术有限公司”,服务类目以快递、物流为主,主页含有“寄快递”、“查快递”两个栏目,具体涵盖“寄快递”、“批量寄”、“扫码寄”以及暂未开通的“语音寄”四个功能,依据页面介绍,目前揽收范围为北京、上海、广州,派送范围为中国大陆地区。6.北京10月31日起可在线申领电动车临时标识,并于明年5月1日停发17日上午,北京市交管局召开新闻发布会,发布《北京市电动自行车过渡期登记和通行管理办法》。北京市交管局副局长刘恕表示,从2019年5月1日起,交管部门将不再发放临时标识,未申领临时标识的电动自行车不得上道行驶,北京交警也将严查“无临时标识”电动车的违法上路行为。目前,“过渡期电动自行车申请临时标识工作平台”已研发完毕,并将于本月31日上线接受申请和预约。针对市民反映集中的“合规车辆合格证丢失后也无法上牌”问题,北京市交管局表示,在《北京市电动自行车产品目录》内的电动自行车车主,因时间久远车辆“合格证”丢失的,经交管部门现场核验后,仍可办理登记上牌业务。网友评论:电动车闯红灯罚款不?7.哈罗创始团队股权质押给蚂蚁金服哈啰出行仍在寻找融资之中,或向其大股东蚂蚁金融再融资。据天眼查工商信息平台显示,哈啰出行CEO杨磊、执行总裁李开逐等4位联合创始团队将各自在江苏永安行低碳科技有限公司(哈啰出行主体公司)部分股权质押给上海云鑫创业投资有限公司,该公司法定代表人为蚂蚁金服CEO兼董事长井贤栋。质押股权数为962万,共计质押股权8.52%,具体质押金额不详。网友评论:共享单车的出路呢?8.成都计划发射人造月亮替代路灯据英国《独立报》网站报导,中国四川成都计在2020年发射一颗国产「人造月亮」,以增强真正月光的亮度,从而取代城市里的路灯。所谓的人造月亮,其实上是一颗卫星,能够为直径10至80公里的区域提供照明。成都航太科工微电子系统研究院院长武春风表示,人造月亮的亮度将是真正月光的8倍,并且测试工作几年前已经开始,目前技术也达到成熟。人造月亮的表面有一层涂层,可以用来反射太阳光,工作原理与太阳能电池板的帆板类似。透过调整人造月亮的帆板,可以使光线精确聚焦在一点上。成都市希望借助人造月亮节省城市照明开支,同时促进旅游业增长。网友评论:8倍亮度可以穿过雾霾吗?9.牛电科技下调IPO价格预期至9.00-10.00美元之间牛电科技在SEC提交的文件显示,牛电科技将在美国IPO中发行830万份ADS,价格调低至每单位9.00美元至10.00美元之间,之前预计为10.50-12.50美元。此前,北京时间9月25日,小牛电动车企业——牛电科技向SEC提交招股说明书,计划在IPO中募集最多1.5亿美元,拟在纳斯达克上市,股票代码为“NIU”。网友评论:连美团小哥都骑上小牛电动车了,我却依然买不起新iPhone。10.今日头条把创作者大会更名为生机大会10月18日,今日头条宣布将"创作者大会"更名为"生机大会",今年的“生机大会”将于11月17-18日在北京民生现代美术馆举办。创作者大会是今日头条一年一度的品牌活动,今年,除了邀请超过 4000 位创作者来共同讨论行业趋势,头条官方还将搭建一个超 2000 平米的内容市集,邀请超过 1 万名今日头条忠实用户来到现场共同感受生机。网友评论:创作者,最看不见生机的那波人?【本周新闻】员工反对微软竞标美国军方的 100 亿美元 AI 云(JEDI)项目 ~(北京时间)10月15日,星期一阿里健康杭州试水“刷脸就医”~(北京时间)10月16日,星期二Gartner 发布 2019 年十大战略性技术趋势~(北京时间)10月17日,星期三比特大陆推首款边缘AI芯片BM1880~(北京时间)10月18日,星期四【更多内容,欢迎访问】http://forum.huaweicloud.com/forum.php?mod=forumdisplay&fid=569&filter=typeid&typeid=266(内容来源于互联网,如侵犯您的合法权益或有其他任何疑问,请联系:huaweicloud.bbs@huawei.com沟通处理。谢谢!)
  • [技术干货] 服务启动报告错误 ALPN not available
    问题背景和描述报告 ALPN not available 分两种场景:第一种场景:初始化 HTTP 2 Client 的时候。 CSE (ServiceComb Java Chassis) 默认会初始化 HTTP 2 Client,方便和启用了 HTTP 2 协议的 Provider 进行通信。 io.vertx.core.VertxException: ALPN not available for JDK SSL/TLS engine     at io.vertx.core.net.impl.SSLHelper.resolveEngineOptions(SSLHelper.java:88)     at io.vertx.core.net.impl.SSLHelper.<init>(SSLHelper.java:134)     at io.vertx.core.http.impl.HttpClientImpl.<init>(HttpClientImpl.java:131)     at io.vertx.core.impl.VertxImpl.createHttpClient(VertxImpl.java:317)     at org.apache.servicecomb.foundation.vertx.client.http.HttpClientPoolFactory.createClientPool(HttpClientPoolFactory.java:36)     at org.apache.servicecomb.foundation.vertx.client.http.HttpClientPoolFactory.createClientPool(HttpClientPoolFactory.java:27)     at org.apache.servicecomb.foundation.vertx.client.ClientPoolManager.createClientPool(ClientPoolManager.java:60)     at org.apache.servicecomb.foundation.vertx.client.ClientVerticle.start(ClientVerticle.java:35)     at io.vertx.core.AbstractVerticle.start(AbstractVerticle.java:106)     at io.vertx.core.Verticle.start(Verticle.java:66)     at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$8(DeploymentManager.java:556)这种场景报告的错误在没有使用 HTTP 2 的情况下都可以忽略,不用处理。可以通过下面的配置项关闭 HTTP2 客户端的 ALPN:servicecomb.rest.client.http2.useAlpnEnabled: false如果使用 servicecomb-java-chassis 2.0.2 及其以上版本,还可以使用如下配置项,不初始化 HTTP 2客户端。servicecomb.rest.client.http2.enabled: false第二种场景:初始化 HTTP 2 Server 的时候。 CSE (ServiceComb Java Chassis) 默认不会启用 HTTP 2 Server。 用户需要通过配置项开启 HTTP2, 分为 H2 和 H2C两种模式, 如果使用 H2 模式 ( SSL),必须开启ALPN, 可能报告如下错误。 启用 H2 的配置参考: https://docs.servicecomb.io/java-chassis/zh_CN/transports/http2/io.vertx.core.VertxException: ALPN not available for JDK SSL/TLS engine     at io.vertx.core.net.impl.SSLHelper.resolveEngineOptions(SSLHelper.java:88)     at io.vertx.core.net.impl.SSLHelper.<init>(SSLHelper.java:155)     at io.vertx.core.http.impl.HttpServerImpl.<init>(HttpServerImpl.java:93)     at io.vertx.core.impl.VertxImpl.createHttpServer(VertxImpl.java:308)     at org.apache.servicecomb.transport.rest.vertx.RestServerVerticle.createHttpServer(RestServerVerticle.java:247)     at org.apache.servicecomb.transport.rest.vertx.RestServerVerticle.start(RestServerVerticle.java:99)     at io.vertx.core.Verticle.start(Verticle.java:66)     at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$8(DeploymentManager.java:556)如果使用 H2C 模式, 不需要启用 ALPN,可以通过下面的配置项关闭:servicecomb:     server:       http2:         useAlpnEnabled: false可能原因和解决方案CSE 提供两种方式使用 ALPN, 第一种是 openssl, 第二种是 JDK 原生 SSL。 默认使用原生 SSL, 使用 openssl 需要加上下面的配置项:ssl.engine: openssl在使用 opensssl 时可能的原因* netty 和 boringssl 版本不匹配。或者 netty-tcnative-boringssl-static-*.jar 没有包含对应操作系统的库文件,比如 ARM 环境。 CSE 3.0.0 版本在 foundation-auth 模块包含了 ARM 版本的库文件, 其他环境的库文件在 netty-tcnative-boringssl-static-*.jar 压缩包中。 * 操作系统 openssl 版本过低也可能导致这个问题。 使用 JDK 原生 SSL 时可能的原因* alpn 和 JDK 的版本不匹配,或者没有正确使用安装 ALPN 包。 CSE 默认没有携带 ALPN 包, 需要开发者自行配置。  参考: https://www.eclipse.org/jetty/documentation/current/alpn-chapter.html#alpn-versions 获取 JDK的对应版本;参考: https://github.com/Blazemeter/jmeter-http2-plugin/blob/master/README.md 了解如何配置。* 本机的JDK版本和操作系统版本位数不一样HTTP2和JDK8配合使用建议JDK8的HTTP2支持不是很好,在实际项目中,发现每次JDK的版本升级,都导致HTTP2支持有些变更,报告一些非常奇怪的错误,给开发者定位带来诸多不便。 如果使用JDK8和HTTP2,建议使用openssl,配置文件中指定:ssl.engine: openssl
  • 业务代码抛出异常, CSE微服务引擎将HTTP错误码包装为590非500, 能否关闭这一特性?
  • [技术干货] CSE如何设置HTTP的请求URL、Header、Body大小限制
    分场景。如果是tomcat场景,可以参考tomcat配置。如果是vert.x的HTTP服务器,下面几个参数可以参考:servicecomb.uploads.maxSize : 设置body的限制大小。servicecomb.rest.server.maxHeaderSize: 设置请求header大小限制。servicecomb.rest.server.maxInitialLineLength: 设置HTTP请求的第一行长度限制。(即URL)
  • 分布式数据库中间件使用心得
            关键字:高可用、分布式、多可用区       最近公司新项目使用了华为云的DDM分布式数据库中间件服务,通过一段的时间的使用感觉还不错。近段时间发现有许多小伙伴也准备去使用这个服务,所以为大家分享一下使用 创建DDM服务的经验,帮助小伙伴们少走弯路。       首先在使用创建DDM实例的时候小伙伴们会遇到的第一个问题应该是如何选择DDM实例的规格,选小了满足不了业务量,选大了浪费多余的性能。 那么应该如何解决呢?DDM服务公布了不同规格DDM实例的性能压测数据,如下图,我们可以参考DDM的性能压测数据,再通过对公司业务发展规模的评估,选择相对应的DDM实例规格。混合读写OLTP场景sql类型DDM规格并发数QPS混合sql8C16G2564947416C32G2568730232C64G25615267164C128G512317431 简单查询场景sql类型DDM规格并发数QPS单select8C16G25610800316C32G25620522832C64G25642558564C128G512796614         选择规格之后,在创建DDM实例的界面,我们会看到有可用分区这个选项。可能有部分小伙伴不理解可用分区是什么意思,在这里也一起解释一下。      不同的可用分区在物理上分布在不同的地点,可以简单地理解为:在同一区下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离(如下图所示)。针对可用区的选择上,主要从两个方面考虑:   (1)如果您需要提高应用的高可用性,建议您将云服务器创建在不同的可用区内。这样我们使用的DDM实例虚拟机的物理资源,就分布在了多个可用分区上,当其中有可用分区的物理资源出现故障时,只要有一个可用分区还正常运行我们的DDM实例就依然可以使用。   (2)如果您需要较低的网络延迟,建议您将云服务器创建在相同的可用区内。             还有一点需要注意的是,在创建DDM实例时选择的VPC与安全组必须要与你的ECS服务器使用的一致,否则会导致网络不通如下图所示(华为云出于安全上的考虑,VPC之间默认网络不互通,安全组不一致有可能导致网络访问被拦截),在华为云创建了多个VPC和安全组的同学需要注意一下。            DDM实例的使用需要关联RDS实例,因此在创建完DDM实例之后,还需要创建RDS实例才能够使用DDM实例。下面我们继续介绍RDS实例创建的注意事项。         首先需要注意的是,存储类型一定要选择超高IO类型,如下图所示,超高IO类型的最大吞吐量达到350MB/S,性能大大提高,并且价格只比普通IO贵20多块钱超值。数据库版本,优先选择最高MySQL5.7+,新版本会修复旧版本存在的漏洞,并且性能上会有所提高。           实例类型(如下图所示)如果仅仅是学生小伙伴自己玩玩,或者用于开发测试环境,则可选择单机实例即可,省点钱。但是如果是使用于公司的业务,则建议选择主备实例,预防万一,保证业务的稳定运行,提高可靠性,就相当于买个保险了,多花点钱图个安心,完全值得。            RDS实例规格可以适当选择小点,以便创建多个RDS,比如:如果需要一个2核8GB的RDS,可以换成创建两个1核4GB的RDS。这样的好处是,在使用DDM实例时,可以挂载多个RDS,提高使用DDM实例的性能。需要注意的是,创建RDS实例时,选择的VPC与安全组,也与创建DDM实例时选择的一样,必须与你的ECS服务器使用的一致。         最后在创建完RDS实例之后,如果对性能有更高要求的小伙伴,可以在RDS实例管理界面,创建只读实例,如下图所示,创建的只读实例的规格与主RDS实例的规格一致即可。创建了只读实例后,可以在DDM服务中,设置访问主RDS实例与只读RDS实例的负载均衡策略,进一步提升DDM实例的性能。                  好了,今天的分享就先到这里,后面还会继续分享DDM实例创建逻辑库、逻辑表、负载均衡策略等相关经验,小伙伴们如果有什么疑问可以随时与我交流分享吗,谢谢大家!欢迎扫码查看更多精彩:
  • 华为service mesh使用指南-实现原理
    Mesher集成了注册发现、负载均衡、熔断降级、路由管理、调用链等微服务功能,通过mesher,微服务开发不再依赖开发框架,用户可选择自己习惯的语言,以极低成本进行新的微服务开发,也可以零成本将旧应用微服务化。拓扑cse mesher调用拓扑图来如下,调用关系是:client->server1->server2。我们以server1为例进行分析。server1细节放大后如图所示。Cse Mesher的功能由两个Proxy实现:1,出流量,经过正向代理proxy2,入流量,经过反向代理reverse_proxyProxyMesher接收用户发出的请求,解析用户想要访问的服务,并经负载均衡,路由策略等功能,将请求转发到具体的服务端。当用户将mesher设置为http代理后,用户发出的请求将被mesher接收并转发。例如,用户打算访问server2,rest接口为/hello,则用户的只需发送请求: http://server2/hello,mesher从url中解析出用户打算访问的服务为server2,并从注册中心查询server2的地址,将请求转发至server2。Reverse_proxyMesher接收外部请求,将请求转发至后端的service。工作流程mesher将自己的监听地址注册到注册中心。客户端mesher的Proxy接收用户请求,从注册中心查询服务端的地址,将请求转发至服务端(实际发送到了服务端mesher)。服务端mesher的reverse_proxy接收外部请求,将请求转发到自己的后端。配置若mesher监听在内部ip,如127.0.0.1:30101,mesher将只开启正向代理proxy。由于正向代理proxy只能向外转发请求,因此用户只能发出请求,无法接收请求,即只能作为consumer。cse:   protocols:     http:       listenAddress: 127.0.0.1:30101若mesher监听在外部ip,如192.168.1.1:30101,mesher将同时开启reverse_proxy/proxy,分别监听在192.168.1.1:30101/127.0.0.1:30101(相同端口,不同ip)。由于两个Proxy都开启,mesher可同时作为consumer/provider。cse:   protocols:     http:       listenAddress: 192.168.1.1:30101以上配置位于conf/chassis.yaml文件FAQ问:若要使用mesher,需要用户自己把mesher设置为http代理么?答:是的。用户程序需要将mesher设置为http代理。不同语言设置方法不同,具体的例子可参考《华为service mesh使用指南-快速入门(虚机,windows)》问:mesher接收外部请求,并将请求转发到后端的服务,但mesher怎么知道后端服务的地址?答:mesher读取环境变量SPECIFIC_ADDR作为后端服务地址,例如后端服务监听地址为127.0.0.1:80,则mesher启动前设置环境变量:export SPECIFIC_ADDR=127.0.0.1:80问:每个进程都要绑定一个mesher?答:每启动一个服务进程,就要绑定一个mesher。问:配置mesher时,什么时候监听在内部ip,什么时候监听在外部ip?答:mesher监听在内部ip时,只能作为consumer。监听在外部Ip时,可同时作为consumer/privider。建议都监听在外部ip。问:同一台机器上,能不能启动多个mesher?答:可以。但注意修改监听端口,避免端口冲突。问:mesher默认监听了那些地址?答:mesher默认监听了30101和30102端口,30101是代理/反向代理端口,30102是admin API端口。当修改mesher监听端口时,请避开这些端口。
  • [教程] 华为service mesh使用指南-快速入门(虚机,windows)
    本文内容:通过cse mesher,仅用一个rest server,一个client,创建微服务,并实现服务发现和调用。本文的参考意义:mesher支持多语言,本文提供的server/client,读者可根据开发习惯,使用任何语言实现。只要满足以下要求,任何语言均可使用cse mesher:1,server提供rest接口2,client设置http代理,同时请求url格式为:http://{serviceName}/api其他语言示例:PHPNode.js环境准备:1,一个华为云账号,及该账号的ak/sk,请参考这里。2,一个rest server,提供"/hello"接口。Go的示例:Go server:package main import (    "log"    "net/http" ) func hello(w http.ResponseWriter, r *http.Request) {    msg := "Hello, Mesher!"    log.Println(msg)    w.WriteHeader(http.StatusOK)    w.Write([]byte(msg + "\n")) } func main() {    http.DefaultServeMux.HandleFunc("/hello", hello)    err := http.ListenAndServe("127.0.0.1:80", http.DefaultServeMux)    if err != nil {       log.Fatal(err)    } }3,一个client。go和curl示例:Go client:package main import (    "io/ioutil"    "log"    "net/http"    "net/url" ) func main() {    proxy, _ := url.Parse("http://127.0.0.1:30101") //将mesher设置为http代理    c := http.Client{       Transport: &http.Transport{          Proxy: http.ProxyURL(proxy),       },    }    u := "http://myServer/hello" //访问myServer,使用服务名进行访问    req, err := http.NewRequest(http.MethodGet, u, nil)    if err != nil {       log.Fatal(err)    }    resp, err := c.Do(req)    if err != nil {       log.Fatal(err)    }    r, err := ioutil.ReadAll(resp.Body)    if err != nil {       log.Fatal(err)    }    log.Printf("Get response: %s", string(r)) }Curl client:curl -x http://127.0.0.1:30101  http://myServer/hello  # -x用于指定http代理备注:如何指定http代理,不同的语言,以及在不同的代码中,方法不同。部分语言的默认http client会自动识别环境变量“http_proxy”或“HTTP_PROXY”作为http代理。若无法自动识别这两个环境变量,读者可自行在代码中设置,如本文client示例。4,mesher软件包,从这里下载:mesher发布地址mesher复制两份,分别给server/client使用:网络拓扑: 操作步骤1,启动server端确认服务端是否启动:2,为server端绑定一个mesher2.1 进入server端mesher目录:cd myServer/mesher/2.2 在conf/microservice.yaml里配置server端服务名:APPLICATION_ID: mesher service_description:   name: myServer #服务名   version: 0.0.12.3 在conf/auth.yaml里配置aksk:cse:   credentials:     accessKey: ***     secretKey: ***     project:2.4 在conf/chassis.yaml里配置mesher监听地址:cse:   protocols:     http:       listenAddress: 192.168.1.22:30111 #监听地址,填外部ip注意:作为服务提供者(服务端),请监听在外部ip。2.5 为mesher设置环境变量SPECIFIC_ADDRexport SPECIFIC_ADDR=127.0.0.1:80 #用于设置mesher的后端服务地址,即我的go server监听地址2.6 启动mesher./mesher2.7 确认mesher是否启动成功:mesher成功为后端进行代理(注意:此处的请求是发送至mesher):网络拓扑的右侧已经ok2.8 登录华为云CSE服务治理界面,可以看到mesher已经为我们注册了一个微服务:3,为client端绑定一个mesher3.1 进入client端mesher目录cd myClient/mesher/3.2 在conf/microservice.yaml里配置client端服务名:APPLICATION_ID: mesher service_description:   name: myClient #服务名   version: 0.0.13.3 在conf/auth.yaml里配置aksk:cse:   credentials:     accessKey: ***     secretKey: ***     project:3.4 在conf/chassis.yaml里配置mesher监听地址:cse:   protocols:     http:       listenAddress: 192.168.1.22:30101 #监听地址,填外部ip3.5 启动mesher./mesher注意:mesher启动后实际监听两个地址:在设置http代理时,只能设置127.0.0.1:30101,不可以设置192.168.1.22:30101即http proxy必须设置为:http://127.0.0.1:{meshPort}3.6 登录华为云CSE服务治理界面,可以看到mesher已经为我们注册了两个微服务:4,启动client端curl client:go client:调用成功!5,登录华为云CSE服务治理界面,可以看到两个微服务产生调用关系调用结果与网络拓扑对应关系:
  • [教程] 华为service mesh使用指南-快速入门(虚机,windows)
    本文内容:通过cse mesher,仅用一个rest server,一个client,创建微服务,并实现服务发现和调用。本文的参考意义:由于mesher与语言无关,作者在本文中提供的server/client,读者可以根据自己的开发习惯,使用任何语言实现。mesher仅要求:1,server端提供一个rest接口2,client端设置http代理3,client端请求url格式为:http://{serviceName}/api只要满足上述条件,任何语言都可以使用service mesh开发微服务。环境准备:1,一个华为云账号,及该账号的ak/sk,请参考这里。2,一个rest server,提供"/hello"接口。Go的示例:Go server:package main import (    "log"    "net/http" ) func hello(w http.ResponseWriter, r *http.Request) {    msg := "Hello, Mesher!"    log.Println(msg)    w.WriteHeader(http.StatusOK)    w.Write([]byte(msg + "\n")) } func main() {    http.DefaultServeMux.HandleFunc("/hello", hello)    http.ListenAndServe("127.0.0.1:80", http.DefaultServeMux) }3,一个client。go和curl示例:Go client:package main import (    "io/ioutil"    "log"    "net/http"    "net/url" ) func main() {    proxy, _ := url.Parse("http://127.0.0.1:30101") //将mesher设置为http代理    c := http.Client{       Transport: &http.Transport{Proxy: http.ProxyURL(proxy)},    }    u := "http://myServer/hello" //访问myServer,使用服务名进行访问    req, err := http.NewRequest(http.MethodGet, u, nil)    if err != nil {       log.Fatal(err)    }    resp, err := c.Do(req)    if err != nil {       log.Fatal(err)    }    r, err := ioutil.ReadAll(resp.Body)    if err != nil {       log.Fatal(err)    }    log.Printf("Get response: %s", string(r)) }Curl client:curl -x http://127.0.0.1:30101  http://myServer/hello  # -x用于指定http代理备注:如何指定http代理,不同的语言,以及在不同的代码中,方法不同。部分语言的默认http client会自动识别环境变量“http_proxy”或“HTTP_PROXY”作为http代理。若无法自动识别这两个环境变量,读者可自行在代码中设置,如本文client示例。4,mesher软件包,从这里下载:mesher发布地址mesher复制两份,分别给server/client使用:网络拓扑: 操作步骤1,启动server端确认服务端是否启动:2,为server端绑定一个mesher2.1 进入server端mesher目录:cd myServer/mesher/2.2 在conf/microservice.yaml里配置server端服务名:## microservice property APPLICATION_ID: mesher service_description:   name: myServer #服务名   version: 0.0.1   environment:  #microservice environment   properties:     allowCrossApp: false #whether to allow calls across applications2.3 在conf/auth.yaml里配置aksk:cse:   credentials:     accessKey: ***     secretKey: ***     project:2.4 在conf/chassis.yaml里配置mesher监听地址:cse:   protocols:     http:       listenAddress: 192.168.1.22:30111 #监听地址注意:请配置外部ip地址2.5 为mesher设置环境变量SPECIFIC_ADDRexport SPECIFIC_ADDR=127.0.0.1:80 #用于设置mesher的后端服务地址,即我的go server监听地址2.6 启动mesher./mesher2.7 确认mesher是否启动成功:mesher成功为后端进行代理(注意:此处的请求是发送至mesher):网络拓扑的右侧已经ok2.8 登录华为云CSE服务治理界面,可以看到mesher已经为我们注册了一个微服务:3,为client端绑定一个mesher3.1 进入client端mesher目录cd myClient/mesher/3.2 在conf/microservice.yaml里配置server端服务名:## microservice property APPLICATION_ID: mesher service_description:   name: myClient #服务名   version: 0.0.1   environment:  #microservice environment   properties:     allowCrossApp: false #whether to allow calls across applications3.3 在conf/auth.yaml里配置aksk:cse:   credentials:     accessKey: ***     secretKey: ***     project:3.4 在conf/chassis.yaml里配置mesher监听地址:cse:   protocols:     http:       listenAddress: 192.168.1.22:30101 #监听地址3.5 启动mesher./mesher注意:mesher启动后实际监听两个地址:在设置http代理时,只能设置127.0.0.1:30101,不可以设置192.168.1.22:30101即http proxy必须设置为:http://127.0.0.1:{meshPort}3.6 登录华为云CSE服务治理界面,可以看到mesher已经为我们注册了两个微服务:4,启动client端curl client:go client:调用成功!5,登录华为云CSE服务治理界面,可以看到两个微服务产生调用关系调用结果与网络拓扑对应关系:
  • [技术干货] 如何在返回值中包含HTTP头信息
    业务需要在响应消息中返回HTTP头,如何操作?可以使用Response+@ApiResponse来定义返回的Header。示例代码参考:https://github.com/apache/incubator-servicecomb-java-chassis/blob/master/demo/demo-jaxrs/jaxrs-server/src/main/java/org/apache/servicecomb/demo/jaxrs/server/multiErrorCode/MultiErrorCodeService.java