• [问题求助] CSE的dashborard中,选择微服务离线或者摘机,无用
    CSE的dashborard中,选择微服务离线或者摘机,无用。前台报错:TypeError: Cannot read property 'callback' of undefined    at p.click [as innerClick] (app.1542080756217.js:1)    at fn (eval at compile (tiny.min.js:667), <anonymous>:4:323)    at i (tiny.min.js:667)    at p.$eval (tiny.min.js:667)    at p.$apply (tiny.min.js:667)    at HTMLButtonElement.<anonymous> (tiny.min.js:667)    at HTMLButtonElement.dispatch (tiny.min.js:667)    at HTMLButtonElement.m.handle (tiny.min.js:667)
  • [问题求助] 华为cse微服务开发网关问题
    大佬们使用 华为cse微服务开发网关那么操作如:nginx上的反向代理如:Springcloud的zuul我现在有几个cse的微服务 想访问一个ip和端口 去找到对应的微服务接口
  • [分享交流] 分布式系统设计新手入门---2,微服务架构中拆分的实践
    引言在这篇文章中将从分析一个开源项目的可分布性入手,介绍如何使用AP&RP技术。这是一个关于分布式系统设计新手入门的系列文章中的第二篇。您可以点击下面链接找到第一篇文章。分布式系统设计新手入门---1,微服务的拆分I.          介绍在新手入门1中我们简要的介绍了AP&RP技术。为了充分展现这个技术带来的惊人效果,我在github.com上随机挑选了一个项目。这个项目是一个电商的开源项目,名称叫shop,作者为Manphil,项目地址为https://github.com/Manphil/shop。这里要向他及其所有开源作者表示感谢。如果没有他们的工作,我将需要耗费更多的时间来编写本章的实例。首先我要对这个项目做一个整体的技术介绍。这是一个使用JAVA语言开发的电商项目。开发环境为开发环境:IDEA、Tomcat8.5。使用的数据库为MySql。分为前端两个部分,前端使用Bootstrap以及JQuery,后端基于SpringMVC、Spring、MyBatis进行开发,使用Maven构建工程。因为我们只是分析服务端系统的可分布性,限于篇幅将略过项目的构建,调试以及前端的部分。虽然这个实例为JAVA语言,但本篇所介绍的技术同样适用于nodejs,C++,C等语言开发的服务端软件系统。II.        整体的产品功能及系统架构Shop并不是一个成熟的开源项目,很多功能处于开发过程中。通过对其分析产生了一些让我也感到惊讶的结论。我会在后面总结这些结论。shop项目主要分为两个大部分,第一部分为系统管理,第二部分为前端调用接口。其全部有11个产品功能组成。如图1所示Shop系统架构也较为简单,分为后端服务和数据库端。后端服务直接通过MyBatis中间件链接数据库。如图2所示在shop中有62个可以被调用的接口链接。也就是说整个系统是由62个任务所组成的。相对于比较成熟的电商项目有着上百个接口来说,shop是比较简单的。III.      分析任务1先假设shop可以通过MySql集群实现AP操作,那么我们只要对软件系统中的任务读写数据的情况进行分类既RP分析,就可以知道项目shop能否进行分布式操作。这里我们挑选shop中比较复杂的两个任务来介绍具体的分析过程。其中之一是/info/list,这个功能负责返回用户的订单信息。他位于shop/controller/front/CustomerController.java文件中。其源代码如下:    @RequestMapping("/info/list")     public String list(HttpServletRequest request,Model orderModel){         HttpSession session=request.getSession();         User user;         user=(User)session.getAttribute("user");           if (user==null)         {             return "redirect:/login";         }           OrderExample orderExample=new OrderExample();        orderExample.or().andUseridEqualTo(user.getUserid());         List<Order> orderList=orderService.selectOrderByExample(orderExample);         orderModel.addAttribute("orderList",orderList);         Order order;         OrderItem orderItem;         List<OrderItem> orderItemList=new ArrayList<>();         Goods goods;         Address address;        for (Integer i=0;i<orderList.size();i++)        {            order=orderList.get(i);            OrderItemExample orderItemExample=new OrderItemExample();            orderItemExample.or().andOrderidEqualTo(order.getOrderid());            orderItemList=orderService.getOrderItemByExample(orderItemExample);            List<Goods> goodsList=new ArrayList<>();            List<Integer> goodsIdList=new ArrayList<>();            for (Integer j=0;j<orderItemList.size();j++)            {                orderItem=orderItemList.get(j);                goodsIdList.add(orderItem.getGoodsid());            }            Good**ample good**ample=new Good**ample();            good**ample.or().andGoodsidIn(goodsIdList);            goodsList=goodsService.selectByExample(good**ample);            order.setGoodsInfo(goodsList);            address=addressService.selectByPrimaryKey(order.getAddressid());            order.setAddress(address);            orderList.set(i,order);        }        orderModel.addAttribute("orderList",orderList);        return "list";     }1, “@RequestMapping("/info/list")”表示uri的链接/info/list将会触发调用函数“public String list(HttpServletRequest request,Model orderModel)”。这个调用并没有传递参数到函数中。它被触发的形式可能为http://localhost/info/list。2, 在“HttpSession session=request.getSession();”中首先读取了session的数据。Session内保存了当前链接关于安全和权限的数据。这段代码是检验只允许已经登陆的用户才能使用这个接口。注意session中的数据作为全局数据也是我们要分析的数据之一。3, 在“List<Order> orderList=orderService.selectOrderByExample(orderExample);”中读取了指定用户的所有订单的数据。其中“orderService.selectOrderByExample”最终被转换为mysql数据库的查询操作。4, 在获取了用户全部订单信息后,通过语句“orderItemList=orderService.getOrderItemByExample(orderItemExample);”查询具体订单中的物品信息。5,在“goodsList=goodsService.selectByExample(good**ample);”中查询物品的商品信息。6, 以及在address=addressService.selectByPrimaryKey(order.getAddressid());查询对应订单的地址信息。以上5个信息分别存储在数据库中的`address`,`indent` ,`orderitem`,`goods`以及全局数据session中。这里是以整个表为读取数据的使用范围。请注意这里的使用数据的范围。以读取用户全部订单为例,其使用数据的范围为整个`indent`表。得到的数据是用户的当前订单。这里以使用数据范围为边界而不是以得到的数据范围为边界。通过以上分析我们得到了“/info/list”的使用数据的范围并记录下来。如图3所示IV.      分析任务2我以“/orderFinish”来分析有写入数据的情况。“/orderFinish”的功能是将购物车的数据提交为订单。其代码如下    @RequestMapping("/orderFinish")     @ResponseBody     public Msg orderFinish(Float oldPrice, Float newPrice, Boolean isPay, Integer addressid,HttpSession session) {         User user = (User) session.getAttribute("user");           //获取订单信息         ShopCartExample shopCartExample = new ShopCartExample();         shopCartExample.or().andUseridEqualTo(user.getUserid());         List<ShopCart> shopCart = shopCartService.selectByExample(shopCartExample);           //删除购物车         for (ShopCart cart : shopCart) {             shopCartService.deleteByKey(new ShopCartKey(cart.getUserid(),cart.getGoodsid()));         }           //把订单信息写入数据库         Order order = new Order(null, user.getUserid(), new Date(), oldPrice, newPrice, isPay, false, false, false, addressid,null,null);         orderService.insertOrder(order);         //**的订单号         Integer orderId = order.getOrderid();           //把订单项写入orderitem表中         for (ShopCart cart : shopCart) {             orderService.insertOrderItem(new OrderItem(null, orderId, cart.getGoodsid(), cart.getGoodsnum()));         }           return Msg.success("购买成功");     }1, 首先“@RequestMapping("/orderFinish")”将uri映射到了orderFinish函数。并传入了5个参数。这5个参数是前端调用uri时同时传入的。2, 在第一句中“User user = (User) session.getAttribute("user");”通过session获得了当前用户信息。3, 在“List<ShopCart> shopCart = shopCartService.selectByExample(shopCartExample);”中获得了数据库内的用户购物车信息。4, 在“shopCartService.deleteByKey(new ShopCartKey(cart.getUserid(),cart.getGoodsid()));”中删除了数据库内的购物车信息。5, 在“orderService.insertOrder(order);”将购物车的数据转为订单并提交到订单数据库。6,在“orderService.insertOrderItem”中将订单中的物品提交到了数据库中的“orderitem”数据表。通过对上述写入和读取数据范围的分析可知。“/orderFinish”读取了`shopcart`表和“session”中的数据。其读取范围为`shopcart`表和全部“session”。写入了`shopcart`,`indent`  ,`orderitem`共3个数据库中的表。其写入数据的边界同样为这3个表的全部。注意这里是**数据而不是更新数据。如果是更新数据,其更新的范围会更小。我们将在后续的章节里进一步讨论其中的细微差别。同样将我们的分析结果记录下来如图4所示V.        工程的可分布性当我们把所有的任务读取和写入的数据都整理好以后放入表格文件(见附件)。我们发现在这个工程中只有少数操作使用数据库字段。大部分数据都是以表为单位使用全部数据字段。在项目中无效的任务为6个。有读取数据的任务为28个。有写入数据的任务有30个。写入数据之间没有原子关系的任务为1个。有原子关系的任务共29个分为8组。除去无效任务剩余的37组任务可以分布到37个服务器容器中。整体工程的可分布性比率即可分布任务组与有效任务之比为69.3%。如图5所示其中任务有原子关系是指读取的数据之间有写入冲突只能放在有原子性的服务器容器内。在30个有写入数据的任务中,有29个任务有原子关系共分为8组。例如“/addCategoryResult”,“/saveCate”,“/deleteCate”都写入表`category`。所以这3个任务具有原子关系,被分为一组。这8组写入任务最多只能放在8个有原子属性的服务器容器内。也就是8个单线程的服务器容器。对于其余的28个只读任务,在前面已经假定我们使用的是分布式数据库集群来模拟AP技术。这种数据库集群可以使用Oracle, HP vertica, SAP HANA或OceanBase,以上是世界知名公司的产品,不需要我来打广告。虽然使用数据库集群模拟的AP操作效率较低,但为了更方便初学者我们使用数据库集群来替代AP操作,以后的章节里我们会学习如何手动进行AP操作。这里先假定数据库集群可以为每个任务提供一个额外的服务器节点用于处理AP操作。那么这个项目在一般情况下最大可以分布到74台服务器集群中。VI.      一般分布式方法让我非常惊讶的事情在于一个电商网站的工程离散性居然如此之高。在没有使用任何其他特殊技术的情况下只是引入了数据库集群。并且没有修改任何代码的情况下就将服务器扩张了74倍。如果按传统的产品功能分割的方法则最多只能分为11个部分。而且要非常耗时耗力的分割软件工程和分割数据库。这里我将这种分布式技术的一般应用称为一般分布式技术。一般分布式技术是在最小改动工程的基础上运用分布式技术进行系统分布式的方法。与此相对而言,AP&RP技术绝不仅仅限于此。在使用一般分布式方法处理后的工程,我们会得到一个关于任务uri影射表的。以此项目为例可以简单的将服务端软件复制37份并放入37个服务器容器内。并使用nginx反向代理将uri影射到不同的服务器容器内。注意这里并不需要你去拆分软件工程。只要让不同的服务器容器处理不同的请求就可以了。例如我们配置其中一个服务器容器192.168.1.1用于处理`category`表的写入请求。前面得知“/addCategoryResult”,“/saveCate”,“/deleteCate”三个任务会写入`category`所以添加配置到nginx如下: location /addCategoryResult {         proxy_pass http:// 192.168.1.1:8080;     } location /saveCate {         proxy_pass http:// 192.168.1.1:8080;     } location /deleteCate {         proxy_pass http:// 192.168.1.1:8080;     } 将反向代理和数据库集群以及37个服务器的复制品放在一起,我们得到被分布式后的shop工程。如图6所示VII.    一些知识点与问题1,  AP&RP技术是否安全可靠?首先AP&RP技术没有修改您的任何业务逻辑。也没有增加任何额外的业务及硬件层级。所以不存在AP&RP技术失效导致系统停用的问题。在一般分布式技术中,从直观角度说由单台服务器扩张到多台服务器后。其中任何服务器的失效都不会导致集群整体业务的停止。所以这种扩展是对集群安全性的提升。现有的分布式方法是否更加安全呢?建议你去读FLP定理的相关论文。分布式系统不会比硬件带来更多的可靠性。这里向为我们提供了更多可靠性而不断努力的硬件工程师致敬。2,  谬误1,在不同功能分类中不存在有原子关系的任务。因为功能分类的划分是主观而随意的。常常会将一些有原子关系的任务划分到不同的功能中。例如示例中活动商品管理中的任务“/update”需要设置“goods(activityId)”与商品管理功能产生了原子关系。将这个任务与其他具有原子关系的任务放在一起,在分割中会更为自然。这里应将“/update”放入到商品管理中,这样做从产品设计的角度就显得有些奇怪。3,  谬误2,按功能分类不出问题但不代表正确。目前绝大多数分布式系统都是按功能进行划分的。然后工程师依据是否出现问题去修正系统。虽然大部分按功能划分的系统都运行良好。但我思考这也仅仅是运行良好而以。因为刚好没有触发RP冲突也就是原子关系的冲突。在一定概率上运行良好就认为这样划分没有问题,这是非常危险和不严谨的态度。4,  过度分层导致心智负担严重。软件功能过多的分层和硬件系统过多的分层对开发人员导致了严重的心智负担。仅仅为了阅读看起来更有层次而产生的分层。将软件真实处理过程与触发点严重分割开来。导致对软件的阅读产生了极大的障碍。例如本示例从触发数据库操作到真实调用数据库之间要跳转3个文件。而且作者额外开发了大量最终没有使用的数据库调用方法。这都导致了开发效率下降和开发成本增加。5,  有弹性的分布式系统。随着软件系统的访问流量的增长,系统拆分的越来越细是必然需求,但随着拆分的越来越细,工程的复杂度也会越来越高。当复杂度超过人脑在有限时间范围内能够理解的程度时,就需要计算机系统有能够按规则自动完成分解系统的能力。显然在处理极度复杂的系统时不能再单纯的依靠人力。因为人力管理本身就是极其不可靠和复杂的。我们需要更有弹性的自动化分布式系统。今后的章节里我们将会讨论更多的技术细节并最终完成一个有弹性的自动化分布式系统。6,  从面向计算到异步网络的延伸。分布式这门学科创建之初主要是为了解决数学计算能否分解的难题。例如能否用分布式的方法逆向hash算法。那时计算机还只是作为计算的工具。而此时计算机系统更像是人类社会中某个工具的延伸。你可以当它是商店,停车场收费器,外卖的呼叫器。人类网络本身就是一个大型的异步系统。当这种异步系统延伸到计算机系统时,计算机系统只是延续了人类这个异步系统的高离散性。这种离散性便是能否进行分布式及其边界划分的基础。我们也会花更多的时间来讨论分布式技术在学术上的意义。VIII.  感谢首先这里我想感谢我的妻子在我进行学术研究的这一年里对我的支持。也要感谢华为云网站和编辑。更要感谢您抽出宝贵时间进行阅读。希望我的文章能够帮助您学习了解分布式技术,并将AP&RP技术应用到您的网站设计中。现在您就可以动起手来看看您网站的可分布性啦?
  • [热门活动] 【华为云讲师分享】如何更高效的测试微服务性能?(内含免费资料)
    直播入口已公布!↓↓↓http://huaweicloud.bugu.mudu.tv/watch/lm60rlm2 (建议提前收藏)4月23日晚19:00-20:00准时直播!作为“最酷、最前沿、最高端”的开发者你一定知道当下“最火热”的微服务架构吧!但是你真的能够驾驭得了它吗?云时代,越来越多互联网企业开始采用微服务架构其带来高可靠性、容错性等价值的同时,也面临着诸多挑战——l  单服务变更性能影响如何评估?l  性能瓶颈在各微服务间漂移,如何做好性能测试?l  应对突发流量需求,扩容能否解决问题,如何扩容?l  服务实例数量众多,如何收集信息,快速定位性能问题?……面对这些挑战,大厂是怎么应对的呢?又有什么样的实施策略呢? 4月23日(周二)晚19:00~20:00华为云高级工程师——Mark老师直播开讲! ▼  #云测大咖面对面#  第1期:如何更高效的测试微服务性能?——你可以看到——l  大咖剖析微服务性能测试、分享技术干货;l  实操演示CPTS,解读华为云性能测试服务;l  直播互动答疑,关于微服务、性能测试、CPTS……Mark老师有问必答! ——你可以得到——l  免费加入云测交流群,与数百同行交流学习,get测试黑科技!l  免费领取课程资料+实操指导+CPTS资源包,1万VUM免费用! ——免费报名入口——l  报名时间:即日起截至4月23日19:00l  报名入口:扫描下方二维码,添加华为云应用服务小助手,备注“CPTS”即可进群提前预约直播,领取资料! ▼ 微信扫一扫,备注“CPTS”免费预约直播——社区专享福利——关于本期直播,你有哪些问题想要问Mark老师呢?欢迎回复本帖,提出【你的问题】即有机会获得Mark老师直播亲自答疑哦! 
  • [技术干货] 如何在服务注册完成之后调用其他微服务?
    CSE提供了一些系统启动事件,用户可以监听这些事件做一些业务处理。 比如:import org.apache.servicecomb.core.BootListener; @Component public class MonitorBootListener implements BootListener {     @Override     public void onBootEvent(BootEvent event) {         if (EventType.AFTER_REGISTRY == event.getEventType()) {             ...         }     } }BootEvent里面说明了具体的事件类型。 
  • [技术干货] 【CSEJavaSDK/ServiceComb】详解契约校验失败导致的微服务实例注册失败问题
    相信不少同学在使用 CSEJavaSDK / ServiceComb-Java-Chassis 开发微服务的过程中都碰到过修改了服务接口后服务就无法启动的情况。控制台上会打出如下的异常栈:Exception in thread "main" java.lang.IllegalStateException: ServiceComb init failed. at org.apache.servicecomb.core.SCBEngine.init(SCBEngine.java:220) at org.apache.servicecomb.core.CseApplicationListener.onApplicationEvent(CseApplicationListener.java:81) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:393) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:347) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:883) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93) at org.apache.servicecomb.foundation.common.utils.BeanUtils.init(BeanUtils.java:49) at org.apache.servicecomb.foundation.common.utils.BeanUtils.init(BeanUtils.java:42) at microservice.demo.training21days.provider.AppMain.main(AppMain.java:9) Caused by: java.lang.IllegalStateException: The schema(id=[hello]) content held by this instance and the service center is different. You need to increment microservice version before deploying. Or you can configure service_description.environment=development to work in development environment and ignore this error at org.apache.servicecomb.serviceregistry.task.MicroserviceRegisterTask.compareAndReRegisterSchema(MicroserviceRegisterTask.java:277) at org.apache.servicecomb.serviceregistry.task.MicroserviceRegisterTask.registerSchema(MicroserviceRegisterTask.java:206) at org.apache.servicecomb.serviceregistry.task.MicroserviceRegisterTask.registerSchemas(MicroserviceRegisterTask.java:170) at org.apache.servicecomb.serviceregistry.task.MicroserviceRegisterTask.doRegister(MicroserviceRegisterTask.java:122) at org.apache.servicecomb.serviceregistry.task.AbstractRegisterTask.doRun(AbstractRegisterTask.java:41) at org.apache.servicecomb.serviceregistry.task.AbstractTask.run(AbstractTask.java:53) at org.apache.servicecomb.serviceregistry.task.CompositeTask.run(CompositeTask.java:35) at org.apache.servicecomb.serviceregistry.task.ServiceCenterTask.init(ServiceCenterTask.java:82) at org.apache.servicecomb.serviceregistry.registry.AbstractServiceRegistry.run(AbstractServiceRegistry.java:178) at org.apache.servicecomb.serviceregistry.registry.RemoteServiceRegistry.run(RemoteServiceRegistry.java:86) at org.apache.servicecomb.serviceregistry.RegistryUtils.run(RegistryUtils.java:70) at org.apache.servicecomb.core.SCBEngine.doInit(SCBEngine.java:255) at org.apache.servicecomb.core.SCBEngine.init(SCBEngine.java:209) ... 13 more其实这里抛出的异常已经告诉大家问题的原因和解决方式了。问题原因是这个服务在服务中心里注册的契约内容和这个实例实际持有的契约内容不一致(契约的id也打出来了,这里是"hello")。至于解决方案,这里给出了两种:增加微服务的版本,也就是要修改`microservice.yaml`配置文件里的`service_description.version`配置项的值将环境更改为开发环境,也就是在`microservice.yaml`配置文件里加上一个配置 `service_description.environment=development`那么这里的两种问题解决方式应该选择哪一种呢,还有其他的解决方式吗?我们还是得先从服务契约本身说起。一个 ServiceComb-Java-Chassis 框架的微服务在启动时会扫描它全部的REST接口类,并根据这些接口类生成对应的服务契约,并确保它们随着自己的服务记录一起注册到了服务中心。服务契约不仅仅是一份“接口文档”,同时它也约束着微服务的运行时行为。微服务会根据服务契约来确定如何调用其他服务,以及如何执行参数的序列化、反序列化操作等等。 也就是说, ServiceComb-Java-Chassis 的服务契约,不是那种大家开发完新功能后想起来要更新了就去改一下,忘记了或者没时间就不改的“接口说明文档”。它跟服务的接口有着严格的对应关系。如果契约不一样的话,那么就说明,你的服务,真的,有接口变化。说到接口变化,大家都知道这是一个比较严肃的事情了。通常一个服务的接口都应该是经过设计和评审的,不能轻易改变(跟其他服务联调过的同学对这个应该有体会吧?)。 在正式的环境(生产环境)下,服务接口变更发生在什么时候呢?答案是,服务版本变更的时候。抛开那些不按套路出牌的开发团队不谈,一般情况下一个服务版本应该上线哪些功能,提供哪些接口,都是应该有规划和记录的。也就是说,一个服务的每个版本的接口都是确定的,不应该出现一个版本的服务有两套不同的接口的情况。到这里,大家知道为什么你会碰到本文开头碰到的问题了吧? 原因很明确,就是你不应该在一个版本的微服务里给出两套不相同的接口。想想如果你的生产环境里,同一个版本的微服务混进去了一批接口不一样的服务实例(微服务架构下通常都是多实例部署服务的),那么你的系统一会儿可以正常工作,一会儿报各种参数错误、接口不存在之类的问题。这些问题的表象可能会显得很隐晦、随机或者复杂,而你在线上环境里很难排查出来。 为了避免将这类问题引入到线上, CSEJavaSDK / ServiceComb-Java-Chassis 采取了严格的服务契约校验策略,确保你的线上的服务一定是接口一致的。所以异常里给出的两种解决方案其实也是针对不同的场景的:如果你正在开发新版本的服务,接口本来就变来变去的没定下来,那么你可以把你的微服务的环境改为开发环境(service_description.environment=development),此时微服务框架允许你变更你的接口并更新注册到服务中心。如果是测试、生产环境,这个时候服务接口应该稳定下来了,服务契约不同通常意味着这应该是一个新版本。那么你应该给你的服务分配一个更新的版本号了。顺带一提,开发自测时还有一种问题解决办法,就是直接把服务中心里的旧服务记录删掉,更简单 ; )删完记得把上游调用它的服务重启一下,consumer端只加载一次provider的服务契约,之后不再动态刷新的
  • [问题求助] 微服务运行项目报错Search domain query failed应该怎么解决?
    今天运行项目一直无法正常启动,注意有三条报错反复出现:[ERROR] Config update from https://cse.cn-north-1.myhuaweicloud.com:443 failed. Error message is [The timeout period of 9000ms has been exceeded while executing GET /v3/default/configuration/items?dimensionsInfo=provider%40Training21Days-HelloWorld%230.0.1&revision=default for host cse.cn-north-1.myhuaweicloud.com]. org.apache.servicecomb.config.client.ConfigCenterClient$ConfigRefresh.lambda$null$13(ConfigCenterClient.java:426)[ERROR] Config update from https://cse.cn-north-1.myhuaweicloud.com:443 failed. Error message is [Search domain query failed. Original hostname: 'cse.cn-north-1.myhuaweicloud.com' failed to resolve 'cse.cn-north-1.myhuaweicloud.com'. Exceeded max queries per resolve 4 ]. org.apache.servicecomb.config.client.ConfigCenterClient$ConfigRefresh.lambda$null$13(ConfigCenterClient.java:426)[ERROR] GET /v4/default/registry/existence?appId=Training21Days-HelloWorld&type=microservice&serviceName=provider&env&version=0.0.1 fail, endpoint is cse.cn-north-1.myhuaweicloud.com:443, message: Search domain query failed. Original hostname: 'cse.cn-north-1.myhuaweicloud.com' failed to resolve 'cse.cn-north-1.myhuaweicloud.com'. Exceeded max queries per resolve 4  org.apache.servicecomb.serviceregistry.client.http.RestUtils.lambda$null$1(RestUtils.java:93)我判断关键问题就是Search domain query failed,搜索域查询失败。但是不知道问题原因和解决方法。请专家指点。
  • [问题求助] 华为云微服务CSE在使用过程中遇到的一些问题
    华为云微服务CSE在使用过程中遇到的一些问题,问题描述如下:服务提供者 provider  , 在使用idea使用run启动入口类的时候,服务可以正常启动,在servicecenter中可以看到provider服务正常,但是在服务详情中无法查看到服务契约,在控制台也无法看到生成服务契约(如图1)。 但是如果在idea中使用debug模式启动入口类 ,服务可以正常启动,服务契约也可正常查看,控制台也可以看到生成服务契约的日志(如图二)初步怀疑是无法扫描到schema注解所致,可是却无法更详细的定位方法 ,求此领域大神指点一二图一如下:图二如下:
  • [热门活动] 2019华为云开发者大赛-AI赛道-微服务ServiceStage开通服务操作指引
    第一步:点击 https://www.huaweicloud.com/product/servicestage.html  打开微服务云应用平台ServiceStage,点击“立即使用”,进入微服务应用平台管理控制台。第二步:选择版本,这里选择基础版即可。第三步:点击左侧 “基础设施”,选择K8S集群(CCE),点击“购买K8S集群”,集群类型选择“创建虚拟机集群”。第四步:进入“购买虚拟机集群”页面,填写/选择必填信息。计费模式选择包年/包月,集群规模50节点,高可用选“否”,购买时长1个月。第五步:点击“下一步”,输入节点名称,节点规格选择通用型S3.xlarge.2  |4核 | 8GB | CentOS 7.4;弹性IP选择 静态BGP,1M 带宽;系统盘40GB,数据盘100GB。第六步:点击“下一步”,选择默认的系统资源插件,点击“立即购买”。订单确认无误后“去支付”,即可。
  • [问题求助] 如何获取CSE帮助以及技术干货汇总
    CSE和ServiceComb有非常紧密的联系,开源的帮助材料也适用于CSE的开发。# 商业渠道a. CSE是华为云ServiceStage的子功能,主要提供基于servicecomb-java-chassis(ServcieComb引擎)、spring cloud(Spring Cloud引擎)的微服务全生命周期管理。 ServiceStage 产品介绍页: https://www.huaweicloud.com/product/servicestage.html , ServiceStage 产品帮助页: https://support.huaweicloud.com/servicestage/index.html 。帮助页可以获取到产品介绍、应用场景、开发指南、优秀实践等多方面内容。b. 微服务培训课程: 进入华为云学院, https://edu.huaweicloud.com/courses/, 搜索 “微服务”, 可以找到相关的微服务课程。c. 通过提交工单、购买咨询和专业服务等获取工程师的协助。# 开源渠道a. ServiceComb官网: https://servicecomb.apache.org/cn/ 。 官网包含 ServiceComb 的最新动态、版本信息、 开发指南和技术博文等帮助信息。 通过官网,还可以获取到邮件列表、开发者信息等,和开发者进行在线交流。b. issues: issues是github为开源项目提供的交流空间,可以进行提问或者提交bug。 ServiceComb项目列表: https://github.com/apache?utf8=%E2%9C%93&q=servicecomb&type=&language= 。 c. 搜索和关注微信公众号“微服务蜂巢”,定期会推送相关技术文章、新功能和案例。# 个人贡献者a. 开发指南: 和华为云有关的场景: https://huaweicse.github.io/cse-java-chassis-doc/b. 使用google, bing, sogo或者baidu进行搜索    搜索的时候,可以采用以下技巧,比如:    使用站内搜索,提升准确性:CSE Spring Boot MVC site:bbs.huaweicloud.com    搜索包含关键日志:比如 CSE Spring Boot MVC     尝试多个搜索引擎:比如谷歌、搜狗、bing、百度等。c. 个人贡献者      liubao68的华为云博客: https://bbs.huaweicloud.com/community/iblognew/id_1505821502554271   liubao68的知乎博客: https://zhuanlan.zhihu.com/solve-problem-use-microservices   # 技术干货:    打造一个企业级应用的微服务开发框架(上)---从服务注册中心到服务管理中心: https://bbs.huaweicloud.com/blogs/8c98dc59412611e89fc57ca23e93a89f    打造一个企业级应用的微服务开发框架(下)---ServiceComb通信处理详解: https://bbs.huaweicloud.com/blogs/0a1a862f412611e89fc57ca23e93a89f    ServiceComb的开放性设计: https://bbs.huaweicloud.com/blogs/1fc9427c088611e89fc57ca23e93a89f    ServiceComb微服务开发框架介绍: https://bbs.huaweicloud.com/blogs/ad88f16dd98511e8bd5a7ca23e93a891    基于CSE的微服务架构实践-基础架构: https://bbs.huaweicloud.com/blogs/8bb2c3b8366c11e9bd5a7ca23e93a891    基于CSE的微服务架构实践-轻量级架构技术选型: https://bbs.huaweicloud.com/blogs/1be7166e371511e9bd5a7ca23e93a891    基于CSE的微服务架构实践-Spring Boot技术栈选型: https://bbs.huaweicloud.com/blogs/eca98a6f399a11e9bd5a7ca23e93a891    基于CSE的微服务架构实践-Spring Cloud技术栈选型: https://bbs.huaweicloud.com/blogs/e8e3deb63f1311e9bd5a7ca23e93a891    基于CSE的微服务工程实践-以契约为中心: https://bbs.huaweicloud.com/blogs/c998f257673711e9bd5a7ca23e93a891    基于CSE的微服务工程实践-Native API先行: https://bbs.huaweicloud.com/blogs/7c03a4793cd011e9bd5a7ca23e93a891    单体应用微服务改造实践: https://bbs.huaweicloud.com/blogs/17ad483f325f11e9bd5a7ca23e93a891    如何进行微服务的多环境开发部署: https://bbs.huaweicloud.com/forum/thread-11095-1-1.html    使用CSE实现滚动升级零中断: https://bbs.huaweicloud.com/blogs/72a312f09c8911e89fc57ca23e93a89f
  • [教程] 21天微服务课程问题锦囊-Day 4
    1      优秀课代表总结https://bbs.huaweicloud.com/blogs/5fac241847a511e9bd5a7ca23e93a8911、注意:建议第三步“修改yaml配置文件”那里增加一点说明。在consumer、provider服务的microservice.yaml文件修改配置,将环境设置为development后,需要先把provider服务启动一次,让provider服务注册到development环境里。再修改它的HelloService接口,然后再重启provider服务,这样才能观察到打卡作业里的特征日志。如果修改microservice.yaml和修改HelloService接口放在一步里做的话,那么在development里实际上provider服务只注册过一次,也就不存在服务契约有变化一说了。 2、注意:当环境改成了Dev后,需要同步修改契约并重新注册(重新注册契约:必须是要新的契约才会出现,也就是改成dev进行注册过一次,然后改契约,再注册一次,才会出现,要是契约不修改是不会出现的),启动日志才会打印如下内容如有其它干货和建议,欢迎评论区补充~~正所谓前人栽树后人乘凉,看你们的啦!
  • 微服务:发送127.0.0.1:9090/consumer/v0/hello?name=Alice请求,后台异常后自动启动多个consumer实例
    2019-03-17 16:35:30,275 [ERROR] invoke failed, invocation=PRODUCER rest consumer.helloConsumer.sayHello org.apache.servicecomb.swagger.invocation.exception.DefaultExceptionToProducerResponseConverter.convert(DefaultExceptionToProducerResponseConverter.java:35)java.lang.IllegalStateException: Schema not exist, microserviceName=provider, schemaId=hello, consumer interface=microservice.demo.training21days.provider.service.HelloService; new producer not running or not deployed.at org.apache.servicecomb.provider.pojo.Invoker.createInvokerMeta(Invoker.java:106)at org.apache.servicecomb.provider.pojo.Invoker.invoke(Invoker.java:130)at com.sun.proxy.$Proxy29.sayHello(Unknown Source)at microservice.demo.training21days.consumer.service.HelloConsumerService.sayHello(HelloConsumerService.java:32)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.doInvoke(SwaggerProducerOperation.java:180)at org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.syncInvoke(SwaggerProducerOperation.java:165)at org.apache.servicecomb.swagger.engine.SwaggerProducerOperation.invoke(SwaggerProducerOperation.java:119)at org.apache.servicecomb.core.handler.impl.ProducerOperationHandler.handle(ProducerOperationHandler.java:40)at org.apache.servicecomb.core.Invocation.next(Invocation.java:193)at org.apache.servicecomb.bizkeeper.BizkeeperCommand.lambda$construct$2(BizkeeperCommand.java:79)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.Observable.unsafeSubscribe(Observable.java:8666)at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:52)at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:36)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.Observable.unsafeSubscribe(Observable.java:8666)at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:52)at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:36)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.Observable.unsafeSubscribe(Observable.java:8666)at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:52)at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:36)at rx.Observable.subscribe(Observable.java:8759)at rx.Observable.subscribe(Observable.java:8726)at rx.Observable.subscribe(Observable.java:8619)at org.apache.servicecomb.bizkeeper.BizkeeperHandler.handle(BizkeeperHandler.java:78)at org.apache.servicecomb.core.Invocation.next(Invocation.java:193)at org.apache.servicecomb.qps.ProviderQpsFlowControlHandler.handle(ProviderQpsFlowControlHandler.java:38)at org.apache.servicecomb.core.Invocation.next(Invocation.java:193)at org.apache.servicecomb.common.rest.AbstractRestInvocation.doInvoke(AbstractRestInvocation.java:238)at org.apache.servicecomb.common.rest.AbstractRestInvocation.invoke(AbstractRestInvocation.java:212)at org.apache.servicecomb.common.rest.AbstractRestInvocation.runOnExecutor(AbstractRestInvocation.java:196)at org.apache.servicecomb.common.rest.AbstractRestInvocation.lambda$scheduleInvocation$0(AbstractRestInvocation.java:159)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)2019-03-17 16:35:30,280 [WARN] bizkeeper command PRODUCER rest consumer.helloConsumer.sayHello failed due to InvocationException: code=590;msg=CommonExceptionData [message=Cse Internal Server Error] org.apache.servicecomb.bizkeeper.BizkeeperCommand.lambda$null$1(BizkeeperCommand.java:82)2019-03-17 16:35:30,282 [WARN] bizkeeper execution error, info=cause:InvocationException,message:InvocationException: code=590;msg=CommonExceptionData [message=Cse Internal Server Error];cause:IllegalStateException,message:Schema not exist, microserviceName=provider, schemaId=hello, consumer interface=microservice.demo.training21days.provider.service.HelloService; new producer not running or not deployed. org.apache.servicecomb.bizkeeper.BizkeeperHandler$1.onExecutionError(BizkeeperHandler.java:55)2019-03-17 16:39:46,163 [WARN] Send data to url /v2/default/csemonitor/metric?service=consumer failed and status line is 429 com.huawei.paas.monitor.DefaultMonitorDataPublisher.lambda$null$1(DefaultMonitorDataPublisher.java:178)2019-03-17 16:39:46,166 [WA
  • 21天微服务课程问题锦囊
     1    Day2: 1、如何获取AK/SK参考:https://support.huaweicloud.com/usermanual-iam/zh-cn_topic_0079477318.html 2、配置AK/SK:https://support.huaweicloud.com/qs-cse/cse_qs_0016.html 3、如何配置maven仓库https://support.huaweicloud.com/qs-cse/cse_qs_0012.html 4、报错?有可能是契约变化导致服务注册不上 如果你修改了demo服务的接口,那么需要删除原先注册的服务,或者增加微服务版本号关键就是要保证你跑的服务和契约描述的接口一致,否则会报错。建议参考Day2PPT 第8页的内容 视频参考:https://bbs-video.huaweicloud.com/upload/videos/media/20181228/20181228111844_77664.mp4注意:视频仅供参考,主要根据21天微服务课程的资料来操作 1.1.1     优秀课代表总结:https://bbs.huaweicloud.com/blogs/5f9b56af461a11e9bd5a7ca23e93a891注意,有个问题,课代表只写了provider那个服务的,还有个consumer服务的没写,需要大家自己去做加油(ง •̀_•́)ง 一、AK/SK是做什么的day2的课程需要用到AK/SK,AK/SK不是你的账号密码,但它也可以作为你的认证凭证,用于调用华为云的服务接口,所以要保存好,不能泄露出去了。其中SK只在下载文件里面有,创建时拿到这个文件后,你需要把它保存好,后续就无法从其他地方再查到这个SK了。二、使用什么开发工具官方示例使用的是IDEA,实际上每天的课程资料、打卡作业的项目都是不限制IDE的,你可以用IDEA、Eclipse之类的,都行。三、零基础的应该怎么学习每天的课程里有对应的demo代码,可以根据课程提供的相关资料进行学习四、从华为云的maven仓库都下载不到依赖?如何添加maven仓库?连接华为云maven仓库需要配置maven setting文件,文件见此附件settings.rar五、microservice.yaml文件中的project参数如何定义?project和你在页面上选择的区域有关系,我们的课程编写截的图都是北京一的,也就是cn-north-1,microservice.yaml里配置的project和文件上面配置的服务中心(sc)、配置中心(cc)、monitor的地址有关系你连接的是华为云哪个区的sc、cc、monitor,project就要配置成对应的区。六、DevCloud word版的操作手册是在哪里下载的?打卡程序里只看到截图示例,课程链接里只有PPT,找不到啊,指导一下吧群里每天会发云学院的链接,消息被刷的话可以直接看公告七、Demo-Day2 和 Demo-Day2-Homework 代码的区别Demo-Day2是配套当天的培训PPT的的代码Demo-Day2-Homework是当天打卡作业的参考答案八、使用什么工具测试推荐Postman,操作会简单一点。但是也可以用其他工具,能发送标准的HTTP请求即可。 九、maven依赖引入cse-solution-service-engine包的意义和demo跟华为云的关系cse-solution-service-engine包给你引入了开发CSEJavaSDK微服务所需的各种包,相当于是一个开箱即用的依赖。今天你跑的demo和华为云的联系实际上是在microservice.yaml里配置的服务中心、配置中心、monitor的地址上。这三个地址是连接到华为云的,认证鉴权的工作是AK/SK来做的。十、             为何第6页在微服务控制台看到provider服务,第7页就可以从127.0.0.1打开hello world的页面?provider服务运行于你本地的开发环境的,只不过它注册到华为云上的CSE了。所以你应该是用127.0.0.1,也就是localhost地址来调用provider服务的十一、             我之前完成学习注册cse时里面已经有了provider和consumer是不是必须要删除?报错?有可能是契约变化导致服务注册不上如果你修改了demo服务的接口,那么需要删除原先注册的服务,否则可以直接注册上去的关键就是要保证你跑的服务和契约描述的接口一致,否则会报错十二、             eplipse打开demo项目后点击什么按钮注册到cse上?注册的具体操作是你开发的服务在启动过程中由框架部分来执行的,你要做的就是把sc/cc/monitor的地址配对、AK/SK配对,然后把你的服务跑起来十三、             创建的maven项目没有自动生成settings.xml可以直接把课程提供的settings.xml拷贝到maven的conf文件夹下面十四、             这个是获取依赖失败的参考资料:https://support.huaweicloud.com/cse_faq/servicestage_06_0030.html 十五、             这个是注册失败的参考资料:https://support.huaweicloud.com/cse_faq/cse_04_0011.html 十六、             地址和端口写什么呀Provider服务地址和端口默认是127.0.0.1:8080,consumer默认是127.0.0.1:9090,大家可以参考当天的demo示例代码。十七、             调用服务接口遇到405 Method Not Allowed 错误 通常这个发生在调用greeting方法的时候,根据打卡作业的描述greeting方法应该用POST方法发请求,有些同学错用GET方法或直接在浏览器地址栏输入url调用就会碰到这个错误。如果你用的的确是POST请求,那么你应该检查一下你的代码里是不是把Greeting方法定义为GET请求了。十八、 域名解析问题,错误日志中包含 Search domain query failed 关键字https://bbs.huaweicloud.com/forum/thread-11806-1-1.html十九、 调用greeting方法报错,获取的应答消息为{"message":"Parameters not valid or types not match."}碰到这个错误通常是因为请求消息体的body类型没有选对,应该设置如下图所示:总之,要确保你的请求有Content-Type: application/json的请求头      
  • [问题求助] 【21天转型微服务】Day3截图问题
    操作指导文档中说 :要求包含consumer服务实例注册成功的日志、没有连接cc/monitor服务报错的日志2019-03-15 14:31:17,846 [INFO] Register microservice instance success.---这个应该是"服务实例注册成功的日志"但是没有连接cc/monitor服务报错的日志 我在截图中不知道是哪一句?还希望能指导下.谢谢~~
  • [技术干货] 为什么eclipse console 里显示注册成功, 为什么微服务的页面 却不显示
    log4j:WARN No appenders could be found for logger (org.springframework.core.io.support.PathMatchingResourcePatternResolver).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.2019-03-15 13:55:11,417 [ERROR] Can not output merged.log4j.properties,because can not write to directory of file file:/C:/Users/Administrator/.m2/repository/org/apache/servicecomb/transport-rest-vertx/1.1.0.B036/transport-rest-vertx-1.1.0.B036.jar!/config/base/log4j.properties org.apache.servicecomb.foundation.common.utils.Log4jUtils.outputFile(Log4jUtils.java:103)2019-03-15 13:55:11,434 [INFO] Found main class "microservice.demo.training21days.consumer.AppMain". org.apache.servicecomb.foundation.common.utils.JvmUtils.findMainClass(JvmUtils.java:62)2019-03-15 13:55:11,523 [INFO] Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@2d3fcdbd: startup date [Fri Mar 15 13:55:11 CST 2019]; root of context hierarchy org.springframework.context.support.AbstractApplicationContext.prepareRefresh(AbstractApplicationContext.java:583)2019-03-15 13:55:11,674 [INFO] Loading XML bean definitions from URL [jar:file:/C:/Users/Administrator/.m2/repository/org/apache/servicecomb/foundation-config/1.1.0.B036/foundation-config-1.1.0.B036.jar!/META-INF/spring/cse.bean.xml] org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:317)2019-03-15 13:55:11,914 [INFO] Loading XML bean definitions from URL [jar:file:/C:/Users/Administrator/.m2/repository/org/apache/servicecomb/foundation-vertx/1.1.0.B036/foundation-vertx-1.1.0.B036.jar!/META-INF/spring/cse.bean.xml] org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:317)2019-03-15 13:55:11,975 [INFO] Loading XML bean definitions from URL [jar:file:/C:/Users/Administrator/.m2/repository/org/apache/servicecomb/java-chassis-core/1.1.0.B036/java-chassis-core-1.1.0.B036.jar!/META-INF/spring/cse.bean.xml] org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:317)2019-03-15 13:55:13,617 [INFO] Loading XML bean definitions from URL [jar:file:/C:/Users/Administrator/.m2/repository/org/apache/servicecomb/handler-bizkeeper/1.1.0.B036/handler-bizkeeper-1.1.0.B036.jar!/META-INF/spring/cse.bean.xml] org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:317)2019-03-15 13:55:13,633 [INFO] Loading XML bean definitions from URL [jar:file:/C:/Users/Administrator/.m2/repository/org/apache/servicecomb/handler-loadbalance/1.1.0.B036/handler-loadbalance-1.1.0.B036.jar!/META-INF/spring/cse.bean.xml] org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:317)2019-03-15 13:55:13,667 [INFO] Loading XML bean definitions from URL [jar:file:/C:/Users/Administrator/.m2/repository/com/huawei/paas/cse/cse-handler-cloud-extension/2.3.62/cse-handler-cloud-extension-2.3.62.jar!/META-INF/spring/services.bean.xml] org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:317)2019-03-15 13:55:14,561 [INFO] Environment received, will get configurations from [org.springframework.core.env.StandardEnvironment@198098993]. org.apache.servicecomb.config.ConfigurationSpringInitializer.setEnvironment(ConfigurationSpringInitializer.java:59)2019-03-15 13:55:14,592 [WARN] No URLs will be polled as dynamic configuration sources. com.netflix.config.sources.URLConfigurationSource.<init>(URLConfigurationSource.java:121)2019-03-15 13:55:14,593 [INFO] To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath. com.netflix.config.sources.URLConfigurationSource.<init>(URLConfigurationSource.java:122)2019-03-15 13:55:14,806 [INFO] create local config: org.apache.servicecomb.config.ConfigUtil.createLocalConfig(ConfigUtil.java:114)2019-03-15 13:55:14,806 [INFO]  jar:file:/C:/Users/Administrator/.m2/repository/org/apache/servicecomb/java-chassis-core/1.1.0.B036/java-chassis-core-1.1.0.B036.jar!/microservice.yaml. org.apache.servicecomb.config.ConfigUtil.createLocalConfig(ConfigUtil.java:116)2019-03-15 13:55:14,807 [INFO]  jar:file:/C:/Users/Administrator/.m2/repository/com/huawei/paas/cse/cse-solution-service-engine/2.3.62/cse-solution-service-engine-2.3.62.jar!/microservice.yaml. org.apache.servicecomb.config.ConfigUtil.createLocalConfig(ConfigUtil.java:116)2019-03-15 13:55:14,807 [INFO]  file:/E:/%e5%8d%8e%e4%b8%ba%e5%be%ae%e6%9c%8d%e5%8a%a1/Self-paced+type@asset+block@Demo-Day2/Demo-Day2/helloworld-consumer/target/classes/microservice.yaml. org.apache.servicecomb.config.ConfigUtil.createLocalConfig(ConfigUtil.java:116)2019-03-15 13:55:14,809 [INFO]  file:/E:/%e5%8d%8e%e4%b8%ba%e5%be%ae%e6%9c%8d%e5%8a%a1/Self-paced+type@asset+block@Demo-Day2/Demo-Day2/helloworld-provider/target/classes/microservice.yaml. org.apache.servicecomb.config.ConfigUtil.createLocalConfig(ConfigUtil.java:116)2019-03-15 13:55:14,886 [INFO] Found SPI service org.apache.servicecomb.config.spi.ConfigCenterConfigurationSource, count=1. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:14,888 [INFO]   0. org.apache.servicecomb.config.archaius.sources.ConfigCenterConfigurationSourceImpl. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:14,970 [INFO] create local config: org.apache.servicecomb.config.ConfigUtil.createLocalConfig(ConfigUtil.java:114)2019-03-15 13:55:14,978 [INFO]  jar:file:/C:/Users/Administrator/.m2/repository/org/apache/servicecomb/java-chassis-core/1.1.0.B036/java-chassis-core-1.1.0.B036.jar!/microservice.yaml. org.apache.servicecomb.config.ConfigUtil.createLocalConfig(ConfigUtil.java:116)2019-03-15 13:55:14,979 [INFO]  jar:file:/C:/Users/Administrator/.m2/repository/com/huawei/paas/cse/cse-solution-service-engine/2.3.62/cse-solution-service-engine-2.3.62.jar!/microservice.yaml. org.apache.servicecomb.config.ConfigUtil.createLocalConfig(ConfigUtil.java:116)2019-03-15 13:55:14,982 [INFO]  file:/E:/%e5%8d%8e%e4%b8%ba%e5%be%ae%e6%9c%8d%e5%8a%a1/Self-paced+type@asset+block@Demo-Day2/Demo-Day2/helloworld-consumer/target/classes/microservice.yaml. org.apache.servicecomb.config.ConfigUtil.createLocalConfig(ConfigUtil.java:116)2019-03-15 13:55:14,982 [INFO]  file:/E:/%e5%8d%8e%e4%b8%ba%e5%be%ae%e6%9c%8d%e5%8a%a1/Self-paced+type@asset+block@Demo-Day2/Demo-Day2/helloworld-provider/target/classes/microservice.yaml. org.apache.servicecomb.config.ConfigUtil.createLocalConfig(ConfigUtil.java:116)2019-03-15 13:55:15,026 [INFO] Found SPI service org.apache.servicecomb.deployment.DeploymentProvider, count=1. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:15,027 [INFO]   0. org.apache.servicecomb.deployment.DefaultDeploymentProvider. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:19,240 [WARN] keyStore [server.p12] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:118)2019-03-15 13:55:19,240 [WARN] trustStore [trust.jks] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:138)2019-03-15 13:55:22,532 [INFO] add network interface name:eth3,host address:10.3.3.1 org.apache.servicecomb.foundation.common.net.NetUtils.doGetIpv4AddressFromNetworkInterface(NetUtils.java:118)2019-03-15 13:55:22,561 [INFO] add network interface name:eth4,host address:169.254.133.83 org.apache.servicecomb.foundation.common.net.NetUtils.doGetIpv4AddressFromNetworkInterface(NetUtils.java:118)2019-03-15 13:55:22,602 [INFO] add network interface name:eth6,host address:172.16.23.1 org.apache.servicecomb.foundation.common.net.NetUtils.doGetIpv4AddressFromNetworkInterface(NetUtils.java:118)2019-03-15 13:55:22,716 [INFO] add network interface name:eth9,host address:169.254.20.116 org.apache.servicecomb.foundation.common.net.NetUtils.doGetIpv4AddressFromNetworkInterface(NetUtils.java:118)2019-03-15 13:55:22,747 [INFO] add network interface name:eth10,host address:169.254.26.191 org.apache.servicecomb.foundation.common.net.NetUtils.doGetIpv4AddressFromNetworkInterface(NetUtils.java:118)2019-03-15 13:55:22,811 [INFO] add network interface name:eth13,host address:169.254.180.3 org.apache.servicecomb.foundation.common.net.NetUtils.doGetIpv4AddressFromNetworkInterface(NetUtils.java:118)2019-03-15 13:55:22,838 [INFO] add network interface name:eth14,host address:172.28.112.1 org.apache.servicecomb.foundation.common.net.NetUtils.doGetIpv4AddressFromNetworkInterface(NetUtils.java:118)2019-03-15 13:55:22,889 [INFO] add network interface name:eth16,host address:169.254.135.7 org.apache.servicecomb.foundation.common.net.NetUtils.doGetIpv4AddressFromNetworkInterface(NetUtils.java:118)2019-03-15 13:55:22,939 [INFO] add network interface name:eth17,host address:192.168.31.1 org.apache.servicecomb.foundation.common.net.NetUtils.doGetIpv4AddressFromNetworkInterface(NetUtils.java:118)2019-03-15 13:55:23,043 [INFO] add network interface name:eth22,host address:169.254.6.94 org.apache.servicecomb.foundation.common.net.NetUtils.doGetIpv4AddressFromNetworkInterface(NetUtils.java:118)2019-03-15 13:55:23,073 [INFO] add network interface name:eth23,host address:192.168.99.1 org.apache.servicecomb.foundation.common.net.NetUtils.doGetIpv4AddressFromNetworkInterface(NetUtils.java:118)2019-03-15 13:55:23,102 [INFO] add network interface name:wlan3,host address:172.16.144.130 org.apache.servicecomb.foundation.common.net.NetUtils.doGetIpv4AddressFromNetworkInterface(NetUtils.java:118)2019-03-15 13:55:23,167 [INFO] add network interface name:eth25,host address:11.12.13.1 org.apache.servicecomb.foundation.common.net.NetUtils.doGetIpv4AddressFromNetworkInterface(NetUtils.java:118)2019-03-15 13:55:23,340 [WARN] Thread Thread[config-center-vert.x-eventloop-thread-0,5,main] has been blocked for 2186 ms, time limit is 2000 io.vertx.core.impl.BlockedThreadChecker$1.run(BlockedThreadChecker.java:48)2019-03-15 13:55:24,137 [INFO] add host name from localhost:LAPTOP-PMJBG2K9,host address:172.28.112.1 org.apache.servicecomb.foundation.common.net.NetUtils.doGetHostNameAndHostAddress(NetUtils.java:76)2019-03-15 13:55:24,175 [INFO] Found SPI service com.huawei.paas.foundation.auth.credentials.AKSKCipher, count=2. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:24,175 [INFO]   0. com.huawei.paas.foundation.auth.credentials.DefaultAKSKCipher. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:24,176 [INFO]   1. com.huawei.paas.foundation.auth.credentials.SecurityAKSKCipher. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:24,177 [INFO] add ak/sk cipher default com.huawei.paas.foundation.auth.credentials.AKSKManager.lambda$static$0(AKSKManager.java:41)2019-03-15 13:55:24,177 [INFO] add ak/sk cipher security com.huawei.paas.foundation.auth.credentials.AKSKManager.lambda$static$0(AKSKManager.java:41)2019-03-15 13:55:24,178 [INFO] read ak/sk from microservice.yaml. com.huawei.paas.foundation.auth.credentials.AKSKOption.buildFromYaml(AKSKOption.java:158)2019-03-15 13:55:26,736 [WARN] Config value cache changed: action:create; item:[mykey] org.apache.servicecomb.config.archaius.sources.ConfigCenterConfigurationSourceImpl$UpdateHandler.handle(ConfigCenterConfigurationSourceImpl.java:145)2019-03-15 13:55:26,737 [INFO] Updating remote config is done. revision has changed from default to default84514370 org.apache.servicecomb.config.client.ParseConfigUtils.refreshConfigItems(ParseConfigUtils.java:88)2019-03-15 13:55:27,418 [INFO] JSR-330 'javax.inject.Inject' annotation found and supported for autowiring org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.<init>(AutowiredAnnotationBeanPostProcessor.java:155)2019-03-15 13:55:28,168 [INFO] Found SPI service org.apache.servicecomb.swagger.generator.core.CommonParameterTypeProcessor, count=3. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:28,168 [INFO]   0. org.apache.servicecomb.swagger.generator.springmvc.processor.parameter.MultipartFileTypeProcessor. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,169 [INFO]   1. org.apache.servicecomb.swagger.generator.core.processor.parametertype.HttpServletRequestProcessor. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,169 [INFO]   2. org.apache.servicecomb.swagger.invocation.generator.InvocationContextProcessor. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,180 [INFO] Found SPI service org.apache.servicecomb.swagger.generator.core.ResponseTypeProcessor, count=3. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:28,181 [INFO]   0. org.apache.servicecomb.swagger.generator.springmvc.processor.response.ResponseEntityProcessor. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,181 [INFO]   1. org.apache.servicecomb.swagger.generator.core.processor.response.CompletableFutureProcessor. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,181 [INFO]   2. org.apache.servicecomb.swagger.generator.jaxrs.processor.response.JaxrsResponseProcessor. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,253 [INFO] Found SPI service org.apache.servicecomb.swagger.generator.core.SwaggerGeneratorContext, count=3. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:28,254 [INFO]   0. org.apache.servicecomb.swagger.generator.springmvc.SpringmvcSwaggerGeneratorContext. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,254 [INFO]   1. org.apache.servicecomb.swagger.generator.jaxrs.JaxrsSwaggerGeneratorContext. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,255 [INFO]   2. org.apache.servicecomb.swagger.generator.pojo.PojoSwaggerGeneratorContext. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,385 [INFO] Found SPI service org.apache.servicecomb.swagger.invocation.response.producer.ProducerResponseMapperFactory, count=5. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:28,386 [INFO]   0. org.apache.servicecomb.swagger.invocation.springmvc.response.SpringmvcProducerResponseMapperFactory. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,386 [INFO]   1. org.apache.servicecomb.swagger.invocation.jaxrs.response.JaxrsProducerResponseMapperFactory. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,387 [INFO]   2. org.apache.servicecomb.swagger.invocation.response.producer.CseResponseProducerResponseMapperFactory. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,387 [INFO]   3. org.apache.servicecomb.swagger.invocation.response.producer.CompletableFutureProducerResponseMapperFactory. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,388 [INFO]   4. org.apache.servicecomb.swagger.invocation.response.producer.DefaultProducerResponseMapperFactory. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,401 [INFO] Found SPI service org.apache.servicecomb.swagger.invocation.response.consumer.ConsumerResponseMapperFactory, count=5. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:28,403 [INFO]   0. org.apache.servicecomb.swagger.invocation.springmvc.response.SpringmvcConsumerResponseMapperFactory. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,403 [INFO]   1. org.apache.servicecomb.swagger.invocation.jaxrs.response.JaxrsConsumerResponseMapperFactory. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,404 [INFO]   2. org.apache.servicecomb.swagger.invocation.response.consumer.CseResponseConsumerResponseMapperFactory. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,404 [INFO]   3. org.apache.servicecomb.swagger.invocation.response.consumer.CompletableFutureConsumerResponseMapperFactory. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,404 [INFO]   4. org.apache.servicecomb.swagger.invocation.response.consumer.DefaultConsumerResponseMapperFactory. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,758 [INFO] load microservice config, name=provider, paths=[jar:file:/C:/Users/Administrator/.m2/repository/org/apache/servicecomb/java-chassis-core/1.1.0.B036/java-chassis-core-1.1.0.B036.jar!/microservice.yaml, jar:file:/C:/Users/Administrator/.m2/repository/com/huawei/paas/cse/cse-solution-service-engine/2.3.62/cse-solution-service-engine-2.3.62.jar!/microservice.yaml, file:/E:/%e5%8d%8e%e4%b8%ba%e5%be%ae%e6%9c%8d%e5%8a%a1/Self-paced+type@asset+block@Demo-Day2/Demo-Day2/helloworld-consumer/target/classes/microservice.yaml, file:/E:/%e5%8d%8e%e4%b8%ba%e5%be%ae%e6%9c%8d%e5%8a%a1/Self-paced+type@asset+block@Demo-Day2/Demo-Day2/helloworld-provider/target/classes/microservice.yaml] org.apache.servicecomb.serviceregistry.definition.MicroserviceDefinition.logConfigPath(MicroserviceDefinition.java:142)2019-03-15 13:55:28,773 [INFO] It is running in the normal mode, a separated service registry is required org.apache.servicecomb.serviceregistry.registry.ServiceRegistryFactory.create(ServiceRegistryFactory.java:81)2019-03-15 13:55:28,807 [INFO] Found SPI service org.apache.servicecomb.serviceregistry.registry.ServiceRegistryTaskInitializer, count=1. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:28,807 [INFO]   0. org.apache.servicecomb.serviceregistry.diagnosis.instance.InstanceCacheCheckTask. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:28,811 [INFO] microserviceVersionFactory is org.apache.servicecomb.core.definition.PrivateMicroserviceVersionMetaFactory. org.apache.servicecomb.serviceregistry.registry.AbstractServiceRegistry.initAppManager(AbstractServiceRegistry.java:125)2019-03-15 13:55:28,846 [INFO] executor group 2, thread per group 4. org.apache.servicecomb.core.executor.FixedThreadExecutor.<init>(FixedThreadExecutor.java:56)2019-03-15 13:55:29,180 [INFO] Found SPI service org.apache.servicecomb.core.BootListener, count=0. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:29,282 [INFO] Loaded properties file jar:file:/C:/Users/Administrator/.m2/repository/org/apache/servicecomb/handler-bizkeeper/1.1.0.B036/handler-bizkeeper-1.1.0.B036.jar!/hystrix-plugins.properties com.netflix.config.util.ConfigurationUtils.getConfigFromPropertiesFile(ConfigurationUtils.java:183)2019-03-15 13:55:29,327 [INFO] select [org.apache.servicecomb.swagger.generator.jaxrs.JaxrsSwaggerGeneratorContext] for [microservice.demo.training21days.consumer.service.HelloConsumerService] to generate schema. org.apache.servicecomb.swagger.generator.core.CompositeSwaggerGeneratorContext.lambda$selectContext$0(CompositeSwaggerGeneratorContext.java:61)2019-03-15 13:55:29,368 [INFO] Found SPI service org.apache.servicecomb.swagger.extend.property.creator.PropertyCreator, count=1. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:29,375 [INFO]   0. org.apache.servicecomb.swagger.extend.property.creator.springmvc.MultipartFilePropertyCreator. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:29,610 [INFO] generate swagger for Training21Days-HelloWorld/provider/helloConsumer, swagger: ---swagger: "2.0"info:  version: "1.0.0"  title: "swagger definition for microservice.demo.training21days.consumer.service.HelloConsumerService"  x-java-interface: "cse.gen.Training21Days_HelloWorld.provider.helloConsumer.HelloConsumerServiceIntf"basePath: "/consumer/v0"consumes:- "application/json"produces:- "application/json"paths:  /greeting:    post:      operationId: "greeting"      parameters:      - in: "body"        name: "person"        required: false        schema:          $ref: "#/definitions/Person"      responses:        200:          description: "response of 200"          schema:            $ref: "#/definitions/GreetingResponse"  /hello:    get:      operationId: "sayHello"      parameters:      - name: "name"        in: "query"        required: false        type: "string"      responses:        200:          description: "response of 200"          schema:            type: "string"  /helloRT:    get:      operationId: "sayHelloRestTemplate"      parameters:      - name: "name"        in: "query"        required: false        type: "string"      responses:        200:          description: "response of 200"          schema:            type: "string"definitions:  Person:    type: "object"    properties:      name:        type: "string"      gender:        type: "string"        enum:        - "MALE"        - "FEMALE"        x-java-class: "microservice.demo.training21days.provider.service.Gender"    x-java-class: "microservice.demo.training21days.provider.service.Person"  GreetingResponse:    type: "object"    properties:      msg:        type: "string"      timestamp:        type: "string"        format: "date-time"    x-java-class: "microservice.demo.training21days.provider.service.GreetingResponse" org.apache.servicecomb.core.definition.schema.ProducerSchemaFactory.createSchema(ProducerSchemaFactory.java:118)2019-03-15 13:55:29,612 [INFO] register schema Training21Days-HelloWorld/provider/helloConsumer org.apache.servicecomb.core.definition.loader.SchemaLoader.registerSchema(SchemaLoader.java:83)2019-03-15 13:55:29,996 [INFO] create CtClass cse.gen.Training21Days_HelloWorld.provider.helloConsumer.HelloConsumerServiceIntf in classLoader sun.misc.Launcher$AppClassLoader@73d16e93. org.apache.servicecomb.common.javassist.JavassistUtils.createCtClass(JavassistUtils.java:185)2019-03-15 13:55:29,997 [INFO] create class cse.gen.Training21Days_HelloWorld.provider.helloConsumer.HelloConsumerServiceIntf in classLoader sun.misc.Launcher$AppClassLoader@73d16e93. org.apache.servicecomb.common.javassist.JavassistUtils.createClass(JavassistUtils.java:217)2019-03-15 13:55:30,003 [INFO] Found SPI service org.apache.servicecomb.swagger.invocation.response.ResponseMetaMapper, count=0. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:30,003 [INFO] Can not find SPI service for org.apache.servicecomb.swagger.invocation.response.ResponseMetaMapper org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.getPriorityHighestService(SPIServiceUtils.java:128)2019-03-15 13:55:30,047 [INFO] Found SPI service org.apache.servicecomb.serviceregistry.discovery.DiscoveryFilter, count=5. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:30,047 [INFO]   0. org.apache.servicecomb.serviceregistry.discovery.InstanceStatusDiscoveryFilter. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:30,054 [INFO]   1. org.apache.servicecomb.core.filter.OperationInstancesDiscoveryFilter. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:30,055 [INFO]   2. org.apache.servicecomb.loadbalance.filter.ZoneAwareDiscoveryFilter. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:30,055 [INFO]   3. org.apache.servicecomb.loadbalance.filter.InstancePropertyDiscoveryFilter. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:30,056 [INFO]   4. org.apache.servicecomb.loadbalance.filter.IsolationDiscoveryFilter. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:30,061 [INFO] DiscoveryFilter org.apache.servicecomb.serviceregistry.discovery.InstanceStatusDiscoveryFilter, enabled true. org.apache.servicecomb.serviceregistry.discovery.DiscoveryTree.sort(DiscoveryTree.java:104)2019-03-15 13:55:30,062 [INFO] DiscoveryFilter org.apache.servicecomb.core.filter.OperationInstancesDiscoveryFilter, enabled true. org.apache.servicecomb.serviceregistry.discovery.DiscoveryTree.sort(DiscoveryTree.java:104)2019-03-15 13:55:30,063 [INFO] DiscoveryFilter org.apache.servicecomb.loadbalance.filter.ZoneAwareDiscoveryFilter, enabled true. org.apache.servicecomb.serviceregistry.discovery.DiscoveryTree.sort(DiscoveryTree.java:104)2019-03-15 13:55:30,063 [INFO] DiscoveryFilter org.apache.servicecomb.loadbalance.filter.InstancePropertyDiscoveryFilter, enabled true. org.apache.servicecomb.serviceregistry.discovery.DiscoveryTree.sort(DiscoveryTree.java:104)2019-03-15 13:55:30,064 [INFO] DiscoveryFilter org.apache.servicecomb.loadbalance.filter.IsolationDiscoveryFilter, enabled true. org.apache.servicecomb.serviceregistry.discovery.DiscoveryTree.sort(DiscoveryTree.java:104)2019-03-15 13:55:30,064 [INFO] DiscoveryFilter org.apache.servicecomb.loadbalance.filter.ServerDiscoveryFilter, enabled true. org.apache.servicecomb.serviceregistry.discovery.DiscoveryTree.sort(DiscoveryTree.java:104)2019-03-15 13:55:30,075 [INFO] Found SPI service org.apache.servicecomb.faultinjection.Fault, count=2. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:30,076 [INFO]   0. org.apache.servicecomb.faultinjection.DelayFault. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:30,076 [INFO]   1. org.apache.servicecomb.faultinjection.AbortFault. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:30,103 [INFO] Found SPI service org.apache.servicecomb.swagger.invocation.extension.ProducerInvokeExtension, count=1. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:30,103 [INFO]   0. org.apache.servicecomb.swagger.invocation.validator.ParameterValidator. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:30,116 [WARN] address /0.0.0.0:8080, auto select a host address to publish 172.28.112.1:8080, maybe not the correct one org.apache.servicecomb.serviceregistry.RegistryUtils.genPublishIpPort(RegistryUtils.java:183)2019-03-15 13:55:30,122 [INFO] choose org.apache.servicecomb.transport.rest.vertx.VertxRestTransport for rest. org.apache.servicecomb.core.transport.TransportManager.chooseOneTransport(TransportManager.java:84)2019-03-15 13:55:30,122 [INFO] choose org.apache.servicecomb.transport.highway.HighwayTransport for highway. org.apache.servicecomb.core.transport.TransportManager.chooseOneTransport(TransportManager.java:84)2019-03-15 13:55:30,140 [INFO] Found SPI service org.apache.servicecomb.common.rest.filter.HttpClientFilter, count=3. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:30,140 [INFO]   0. org.apache.servicecomb.provider.springmvc.reference.RestTemplateCopyHeaderFilter. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:30,141 [INFO]   1. org.apache.servicecomb.common.rest.filter.inner.ClientRestArgsFilter. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:30,141 [INFO]   2. org.apache.servicecomb.transport.rest.client.http.DefaultHttpClientFilter. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:30,142 [WARN] keyStore [server.p12] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:118)2019-03-15 13:55:30,142 [WARN] trustStore [trust.jks] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:138)2019-03-15 13:55:30,145 [WARN] keyStore [server.p12] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:118)2019-03-15 13:55:30,145 [WARN] trustStore [trust.jks] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:138)2019-03-15 13:55:31,021 [INFO] Found SPI service org.apache.servicecomb.transport.rest.vertx.GlobalRestFailureHandler, count=0. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:31,022 [INFO] Can not find SPI service for org.apache.servicecomb.transport.rest.vertx.GlobalRestFailureHandler org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.getPriorityHighestService(SPIServiceUtils.java:128)2019-03-15 13:55:31,036 [INFO] Found SPI service org.apache.servicecomb.common.rest.filter.HttpServerFilter, count=1. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:31,037 [INFO]   0. org.apache.servicecomb.common.rest.filter.inner.ServerRestArgsFilter. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:31,038 [INFO] Found SPI service org.apache.servicecomb.transport.rest.vertx.VertxHttpDispatcher, count=1. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:31,039 [INFO]   0. org.apache.servicecomb.transport.rest.vertx.VertxRestDispatcher. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:31,044 [INFO] servicecomb.uploads.directory is null, not support upload. org.apache.servicecomb.common.rest.UploadConfig.toMultipartConfigElement(UploadConfig.java:92)2019-03-15 13:55:31,109 [INFO] rest listen success. address=0.0.0.0:8080 org.apache.servicecomb.transport.rest.vertx.RestServerVerticle.lambda$startListen$3(RestServerVerticle.java:218)2019-03-15 13:55:31,122 [INFO] endpoint to publish: rest://172.28.112.1:8080 org.apache.servicecomb.core.transport.TransportManager.init(TransportManager.java:58)2019-03-15 13:55:31,124 [WARN] keyStore [server.p12] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:118)2019-03-15 13:55:31,125 [WARN] trustStore [trust.jks] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:138)2019-03-15 13:55:31,126 [WARN] keyStore [server.p12] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:118)2019-03-15 13:55:31,126 [WARN] trustStore [trust.jks] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:138)2019-03-15 13:55:31,145 [WARN] highway listen address is not configured, will not listen. org.apache.servicecomb.transport.highway.HighwayServerVerticle.startListen(HighwayServerVerticle.java:65)2019-03-15 13:55:31,152 [INFO] Found SPI service org.apache.servicecomb.common.rest.codec.produce.ProduceProcessor, count=2. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:31,152 [INFO]   0. org.apache.servicecomb.common.rest.codec.produce.ProduceJsonProcessor. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:31,153 [INFO]   1. org.apache.servicecomb.common.rest.codec.produce.ProduceTextPlainProcessor. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:31,188 [INFO] add schema to service paths. Training21Days-HelloWorld:provider:helloConsumer. org.apache.servicecomb.common.rest.locator.ServicePathManager.addSchema(ServicePathManager.java:91)2019-03-15 13:55:31,190 [INFO] Swagger mapped "{[/consumer/v0/helloRT/], method=[GET], produces=[application/json]}" onto public abstract java.lang.String cse.gen.Training21Days_HelloWorld.provider.helloConsumer.HelloConsumerServiceIntf.sayHelloRestTemplate(java.lang.String) org.apache.servicecomb.common.rest.locator.MicroservicePaths.printPath(MicroservicePaths.java:103)2019-03-15 13:55:31,190 [INFO] Swagger mapped "{[/consumer/v0/hello/], method=[GET], produces=[application/json]}" onto public abstract java.lang.String cse.gen.Training21Days_HelloWorld.provider.helloConsumer.HelloConsumerServiceIntf.sayHello(java.lang.String) org.apache.servicecomb.common.rest.locator.MicroservicePaths.printPath(MicroservicePaths.java:103)2019-03-15 13:55:31,190 [INFO] Swagger mapped "{[/consumer/v0/greeting/], method=[POST], produces=[application/json]}" onto public abstract microservice.demo.training21days.provider.service.GreetingResponse cse.gen.Training21Days_HelloWorld.provider.helloConsumer.HelloConsumerServiceIntf.greeting(microservice.demo.training21days.provider.service.Person) org.apache.servicecomb.common.rest.locator.MicroservicePaths.printPath(MicroservicePaths.java:103)2019-03-15 13:55:31,890 [WARN] Failed to create lambda for method: public void org.apache.servicecomb.core.SCBEngine$1.afterRegistryInstance(org.apache.servicecomb.serviceregistry.task.MicroserviceInstanceRegisterTask), fallback to reflect. org.apache.servicecomb.foundation.common.event.SimpleSubscriber.<init>(SimpleSubscriber.java:48)2019-03-15 13:55:31,913 [INFO] running microservice register task. org.apache.servicecomb.serviceregistry.task.MicroserviceRegisterTask.doRegister(MicroserviceRegisterTask.java:75)2019-03-15 13:55:32,053 [WARN] keyStore [server.p12] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:118)2019-03-15 13:55:32,055 [WARN] trustStore [trust.jks] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:138)2019-03-15 13:55:32,172 [INFO] Microservice exists in service center, no need to register. id=[08841bdecb83d3ff44e874fcaab900a44f76ecc8] appId=[Training21Days-HelloWorld], name=[provider], version=[0.0.1], env=[] org.apache.servicecomb.serviceregistry.task.MicroserviceRegisterTask.doRegister(MicroserviceRegisterTask.java:83)2019-03-15 13:55:32,218 [INFO] SchemaIds are equals to service center. serviceId=[08841bdecb83d3ff44e874fcaab900a44f76ecc8], appId=[Training21Days-HelloWorld], name=[provider], version=[0.0.1], env=[], schemaIds=[helloConsumer] org.apache.servicecomb.serviceregistry.task.MicroserviceRegisterTask.checkSchemaIdSet(MicroserviceRegisterTask.java:149)2019-03-15 13:55:32,244 [INFO] schemaId [helloConsumer] exists [true], summary exists [true] org.apache.servicecomb.serviceregistry.task.MicroserviceRegisterTask.registerSchema(MicroserviceRegisterTask.java:194)2019-03-15 13:55:32,255 [INFO] read MicroserviceRegisterTask status is FINISHED org.apache.servicecomb.serviceregistry.task.ServiceCenterTask.onRegisterTask(ServiceCenterTask.java:51)2019-03-15 13:55:32,255 [INFO] running microservice instance register task. org.apache.servicecomb.serviceregistry.task.MicroserviceInstanceRegisterTask.doRegister(MicroserviceInstanceRegisterTask.java:59)2019-03-15 13:55:32,584 [INFO] Register microservice instance success. microserviceId=08841bdecb83d3ff44e874fcaab900a44f76ecc8 instanceId=03976be646e711e9900e0255ac105166 endpoints=[rest://172.28.112.1:8080] lease 120s org.apache.servicecomb.serviceregistry.task.MicroserviceInstanceRegisterTask.doRegister(MicroserviceInstanceRegisterTask.java:77)2019-03-15 13:55:32,584 [INFO] read MicroserviceInstanceRegisterTask status is FINISHED org.apache.servicecomb.serviceregistry.task.ServiceCenterTask.onRegisterTask(ServiceCenterTask.java:51)2019-03-15 13:55:32,584 [INFO] receive MicroserviceInstanceRegisterTask event, check instance Id... org.apache.servicecomb.core.SCBEngine$1.afterRegistryInstance(SCBEngine.java:182)2019-03-15 13:55:32,584 [INFO] instance registry succeeds for the first time, will send AFTER_REGISTRY event. org.apache.servicecomb.core.SCBEngine$1.afterRegistryInstance(SCBEngine.java:184)2019-03-15 13:55:32,646 [WARN] keyStore [server.p12] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:118)2019-03-15 13:55:32,646 [WARN] trustStore [trust.jks] file not exist, please check! org.apache.servicecomb.foundation.vertx.VertxTLSBuilder.buildTCPSSLOptions(VertxTLSBuilder.java:138)2019-03-15 13:55:32,648 [INFO] Monitor data sender started. Configured data providers is {com.huawei.paas.monitor.HealthMonitorDataProvider,} com.huawei.paas.monitor.DataFactory.start(DataFactory.java:62)2019-03-15 13:55:32,650 [INFO] ServiceComb is ready. org.apache.servicecomb.core.SCBEngine$1.afterRegistryInstance(SCBEngine.java:188)2019-03-15 13:55:32,838 [INFO] Waiting for status up. timeout: 10000ms org.apache.servicecomb.core.SCBEngine.waitStatusUp(SCBEngine.java:362)2019-03-15 13:55:32,839 [INFO] Status already changed to up. org.apache.servicecomb.core.SCBEngine.waitStatusUp(SCBEngine.java:371)2019-03-15 13:55:34,452 [ERROR] locate path failed, status:Not Found, http method:POST, path:/provider/v0/greeting/, microserviceName:provider org.apache.servicecomb.common.rest.locator.OperationLocator.locate(OperationLocator.java:72)2019-03-15 13:55:34,467 [INFO] Found SPI service org.apache.servicecomb.swagger.invocation.exception.ExceptionToProducerResponseConverter, count=3. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:79)2019-03-15 13:55:34,468 [INFO]   0. org.apache.servicecomb.swagger.invocation.validator.ConstraintViolationExceptionToProducerResponseConverter. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:34,468 [INFO]   1. org.apache.servicecomb.swagger.invocation.exception.InvocationExceptionToProducerResponseConverter. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:34,468 [INFO]   2. org.apache.servicecomb.swagger.invocation.exception.DefaultExceptionToProducerResponseConverter. org.apache.servicecomb.foundation.common.utils.SPIServiceUtils.loadSortedService(SPIServiceUtils.java:82)2019-03-15 13:55:36,887 [ERROR] locate path failed, status:Not Found, http method:POST, path:/provider/v0/greeting/, microserviceName:provider org.apache.servicecomb.common.rest.locator.OperationLocator.locate(OperationLocator.java:72)2019-03-15 13:55:42,781 [WARN] Send data to url /v2/default/csemonitor/metric?service=provider failed and status line is 429 com.huawei.paas.monitor.DefaultMonitorDataPublisher.lambda$null$1(DefaultMonitorDataPublisher.java:178)2019-03-15 13:55:42,782 [WARN] message: {"error_msg":"Throttling threshold reached: policy api over ratelimit,limit:150,time:1 second","error_code":"APIGW.0308","request_id":"650ded6dfb0bca637a8d14274180aeeb"} com.huawei.paas.monitor.DefaultMonitorDataPublisher.lambda$null$1(DefaultMonitorDataPublisher.java:181)2019-03-15 13:56:02,693 [WARN] Send data to url /v2/default/csemonitor/metric?service=provider failed and status line is 429 com.huawei.paas.monitor.DefaultMonitorDataPublisher.lambda$null$1(DefaultMonitorDataPublisher.java:178)2019-03-15 13:56:02,694 [WARN] message: {"error_msg":"Throttling threshold reached: policy api over ratelimit,limit:150,time:1 second","error_code":"APIGW.0308","request_id":"ec15110b49dfe14a40df0410ef7cd7aa"} com.huawei.paas.monitor.DefaultMonitorDataPublisher.lambda$null$1(DefaultMonitorDataPublisher.java:181)2019-03-15 13:56:02,836 [INFO] sc task interval changed from -1 to 30 org.apache.servicecomb.serviceregistry.task.ServiceCenterTaskMonitor.beginCycle(ServiceCenterTaskMonitor.java:39)2019-03-15 13:56:12,694 [WARN] Send data to url /v2/default/csemonitor/metric?service=provider failed and status line is 429 com.huawei.paas.monitor.DefaultMonitorDataPublisher.lambda$null$1(DefaultMonitorDataPublisher.java:178)2019-03-15 13:56:12,694 [WARN] message: {"error_msg":"Throttling threshold reached: policy api over ratelimit,limit:150,time:1 second","error_code":"APIGW.0308","request_id":"dba89ecb5c20f85ea3346bc750175f74"} com.huawei.paas.monitor.DefaultMonitorDataPublisher.lambda$null$1(DefaultMonitorDataPublisher.java:181)2019-03-15 13:56:42,851 [WARN] Send data to url /v2/default/csemonitor/metric?service=provider failed and status line is 429 com.huawei.paas.monitor.DefaultMonitorDataPublisher.lambda$null$1(DefaultMonitorDataPublisher.java:178)2019-03-15 13:56:42,851 [WARN] message: {"error_msg":"Throttling threshold reached: policy api over ratelimit,limit:150,time:1 second","error_code":"APIGW.0308","request_id":"4cfb291d046f3510539e52382788e16e"} com.huawei.paas.monitor.DefaultMonitorDataPublisher.lambda$null$1(DefaultMonitorDataPublisher.java:181)2019-03-15 13:59:22,809 [WARN] Send data to url /v2/default/csemonitor/metric?service=provider failed and status line is 429 com.huawei.paas.monitor.DefaultMonitorDataPublisher.lambda$null$1(DefaultMonitorDataPublisher.java:178)2019-03-15 13:59:22,810 [WARN] message: {"error_msg":"Throttling threshold reached: policy api over ratelimit,limit:150,time:1 second","error_code":"APIGW.0308","request_id":"461b7280abd5944891c04b71633bedc2"} com.huawei.paas.monitor.DefaultMonitorDataPublisher.lambda$null$1(DefaultMonitorDataPublisher.java:181)2019-03-15 14:02:52,878 [WARN] Send data to url /v2/default/csemonitor/metric?service=provider failed and status line is 429 com.huawei.paas.monitor.DefaultMonitorDataPublisher.lambda$null$1(DefaultMonitorDataPublisher.java:178)2019-03-15 14:02:52,879 [WARN] message: {"error_msg":"Throttling threshold reached: policy api over ratelimit,limit:150,time:1 second","error_code":"APIGW.0308","request_id":"d06f5c694576f9b198da95b6836cbfd7"} com.huawei.paas.monitor.DefaultMonitorDataPublisher.lambda$null$1(DefaultMonitorDataPublisher.java:181)2019-03-15 14:03:22,867 [WARN] Send data to url /v2/default/csemonitor/metric?service=provider failed and status line is 429 com.huawei.paas.monitor.DefaultMonitorDataPublisher.lambda$null$1(DefaultMonitorDataPublisher.java:178)2019-03-15 14:03:22,867 [WARN] message: {"error_msg":"Throttling threshold reached: policy api over ratelimit,limit:150,time:1 second","error_code":"APIGW.0308","request_id":"13095555bbe073482eb0faa5119ac1ba"} com.huawei.paas.monitor.DefaultMonitorDataPublisher.lambda$null$1(DefaultMonitorDataPublisher.java:181)
总条数:351 到第 页
上滑加载中