-
服务消费者给后端服务通过CSE RestTemplate的方式发消息,当后端服务下线,服务消费者会产生空指针消费者发送的代码:
-
1、filter的实现和spring mvc的filter实现完全不同:cse的fileter和controller使用的是不同线程,导致线程传递的变量失效;fspring mvc的filter执行顺序是U型,而cse的filter是类似于栈,导致原有实现逻辑错误 ----------是的,需要客户理解其中原理。参考文章: https://bbs.huaweicloud.com/blogs/eca98a6f399a11e9bd5a7ca23e93a891 https://bbs.huaweicloud.com/blogs/b5dfdf9d51bf11e9bd5a7ca23e93a8912、用于API异常捕获的@ControllerAdvice失效,需要重新按照cse规则做一个捕获处理 ----------是的,这个是spring mvc的功能。参考文章看看差异: https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/springmvc.html3、默认的消息处理线程只有1个,经过压测才发现有性能问题(通过配置可以解决) -------老版本问题升级 (参考说明:https://docs.servicecomb.io/java-chassis/zh_CN/transports/rest-over-vertx.html)4、默认只能返回http状态码为200,假如需要返回2XX或者4XX错误码,需要用cse规则实现 --------是的, 参考说明:https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/interface-constraints.html5、不支持部署到tomcat,部署会报空指针,cse开发没有解决这个问题 ------这个需要具体定位。 大量CSE的用户用的tomcat,这块功能支持方面应该是没问题的。 参考https://docs.servicecomb.io/java-chassis/zh_CN/transports/rest-over-servlet.html
-
如何让已注册的实例 实例名称以容器ip地址展示,java源码要做什么相关的配置吗。help~
-
接口定义为public UserVerifyCodeRsp genVerifyCode(@RequestParam Boolean unique)通过Edge调用该接口。在2.3.39版本时不传入unique是没问题的。在2.3.70版本,不传入在Edge校验报错
-
项目用Spring boot2 开发的, 原来通过Spring boot 默认的 AcceptHeaderLocaleResolver 机制,根据请求头中的Accept-Language 里值, 自动设定LocaleContextHolder了 Locale, 实现国际化, 集成了CSE后, 此功能失效了,Accept-Language里的值无法设定到 LocalContextHolder里, 从LocalContextHolder里取locale只能返回系统默认的语言,有什么办法解决?
-
CCIGPU共享型AI容器相比开源我们做了哪些优化?为什么说我们当前优化效果比较好?1)优化Kata的硬件直通挂载技术,将物理GPU直接挂载到安全容器内,降低虚拟化层资源损耗,最大化利用GPU算力;2)对接华为云高性能存储和NVMe本地高性能盘,实现AI场景数据高性能存取(低时延、高IOPS),降低计算过程中的数据存取时间,提升AI计算性能;3)优化Kubernetes的调度框架,充分利用GPU服务器的NVLink和IB网络等通信拓扑信息,实现AI实例间最优网络通信能力,线性加速比高达0.95;CCICCI支持哪些存储类型,之间的区别是什么?如何选择?CCI支持EVS\SFS\SFS Turbo三种类型,EVS只支持单pod挂载,有普通IO/高IO/超高IO模式;SFS、SFS Turbo为共享型存储,读写性能高;适合大量小文件或大日志文件。CCI存储与容器的挂载逻辑,存储盘是否需要额外购买,挂载后即可在容器中使用?存储与计算的计费是独立的,可使用已有的存储卷或者购买新的卷,挂载使用。CPTS云性能测试服务CPTS必须使用CCE的k8s集群资源吗?华东需要,华北可以用CCI资源组,用共享资源压测内网的话需指定对应的VPC和子网。CSE微服务和容器的关系?微服务和容器是两个相互独立的概念。不过容器的快速启动、快速弹性伸缩等优势正是微服务框架得以快速发展的基础。CSEServicestage构建如何使用私有镜像作为基础镜像?1.目前阶段,servicestage进行构建的时候,拉镜像没有使用认证信息,因此只能拉公开镜像。Servicestage已经提需求对这个地方进行优化。 2.如果使用私有集群进行构建,在必须使用私有镜像的情况下,需要手动先把镜像拉到构建节点上。如果使用公共集群进行构建,目前无法使用私有镜像。CSE基于微服务框架进行开发,如何进行版本控制?在yalm文件中配置servicecomb.references.{provider端微服务服务名}.version-rule指定版本匹配规则,有四种格式: 精确版本匹配:例如version-rule: 0.0.1,表示只匹配版本号为0.0.1的服务提供者 后续版本匹配:例如version-rule: 1.0.0+,表示匹配版本号大于或等于1.0.0的服务提供者 最新版本:version-rule: latest,表示匹配最新版本的服务提供者 版本范围:例如1.0.0-2.0.2,表示匹配版本号在1.0.0至2.0.2之间的服务提供者,包含1.0.0和2.0.2 此配置项默认为latestCSE基于微服务框架进行开发,如何进行环境隔离?1.在yalm文件中service_description. Environment:[环境名称]指定服务发布环境;2.不同环境即使注册在同一个服务中心,相互之间也是隔离的,不会被发现。CSE使用ServiceStage进行构建,依赖的快照更新策略怎么样?默认快照的更新策略是一天更新一次,如果需要每次都更新,需要在构建命令中加入-i参数,maven -ICSE微服务框架进行开发,如何返回html页面?建议使用重定向解决,直接返回html页面有额外的性能消耗,不推荐。CSE部署多环境时,如何指定不同的启动参数,加载不同的配置文件?微服务yaml文件中的所有配置项都优先从环境变量读取,所以不必要使用不同的配置文件,只需要在部署的时候设置不同的环境变量值即可。CSE基于微服务框架进行开发,如何跨应用调用?1.首先需在provider端的microservice.yaml文件开启跨应用调用配置:service_description. Properties.allowCrossApp:=true;2.consumer端指定微服务名称调用provider的时候,需要加上provider所属的应用ID,格式变为[appID]:[microserviceName]CSE微服务平台专业版本,能不能升级到专享版?专业版本不能升级到专享版,专业版本可以手工升级到新的专享版本,只需要在CCE里修改新的CSE的注册中心地址。CSEcse://server/v2/server/interface通过这种方式实现服务间调用,怎么能够获取本次调用时所调用的具体服务?能否获取所调用服务的地址?1.可以到CSE的控制台看一下调用的监控数据。2.从代码的角度,可以考虑出现错误的时候,打印日志,把对端的地址打印出现。具体可以通过实现handler,放到最前面,捕获异常,从invocation里面读取地址信息输出。CSE使用CSE-SDK开发的微服务,如何进行服务超时设置?可以通过下面的配置修改超时时间: servicecomb.rest.client.connection.idleTimeoutInSeconds: 30 cse.request.timeout: 30000 请求超时时间需要比IdelTimeout大一点 参照:https://bbs.huaweicloud.com/forum/thread-11031-1-1.htmlCSE是否可以在EdgeService执行阻塞性操作?不要在Edge执行阻塞操作,否则会线程挂死,建议改为线程池模式 https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/protocol/thread-model.htmlCSE如何同时发布ServiceComb Restful和SpringBoot的Servlet接口?如何同时发布ServiceComb Restful和SpringBoot的Servlet接口: https://github.com/yhs0092/SpringBoot1.5-ServiceCombDemo-2GCS使用Docker是否需要考虑登录与认证?任务投递正常是需要配置登录认证,目前我们的方案好像没考虑?Master节点Linux用户信息,可自动同步至整个集群(如/etc/passwd文件),所以登录认证与本地机器使用方式一致。GCSARM替代X86英特尔芯片,是否全部适用?基因测序领域的应用前景怎么样?ARM服务器,软件需要重新编译。Python语言可直接跑。生信软件容器化是趋势,可独立维护升级,运行互相隔离。IstioISTIO服务网格与ServiceComb的区别在哪里,为什么ISTIO算是容器类服务全栈产品之一?1)ServiceComb是华为开源的微服务开发与治理框架,通过SDK封装微服务治理接口,简化微服务开发。ServiceComb并不依赖Kubernetes,通过SDK与应用结合。2)ISTIO是Google开源的服务网格项目,华为也参与了此项目,服务网格更专注于服务之间的通信、流量控制、可视化与安全,通过Sidecar的方式与应用结合,无需修改业务代码。3)Istio与k8s结合紧密,k8s负责容器基础设施,istio实现服务治理,两者配合完成容器应用的部署、运行、治理的全流程。当前Istio只支持Kubernetes,且所有业界产品中,Istio均运行在Kubernetes平台之上,因此,Istio属于华为容器全栈平台一部分。Istio如果客户直接做容器化改造是否可以直接使用ISTIO?可以,CCE容器集群将ISTIO作为插件,与集群无缝集成,用户可以根据需要开启和关闭。Istio如果客户已经做了微服务改造,是否可以容器化后用自己的微服务治理框架?可以继续使用,相互之间不冲突。Istioistio 是否已集成在AOM和APM中?还是需要单独去配置。istio默认会对接AOM、APM(网格型)。istio的拓扑页面(微服务治理)依赖APM(网格型),显示各个微服务流量状态,客户可以从这个图中看到微服务治理(比如熔断、限流、伸缩)的效果。 如果客户要看应用的调用链、事务信息,则需要再额外使用APM探针型版本(跟语言相关)。Istio是否支持istio egress?istio支持egress,目前后台已配置egress,默认放通对外访问能力,如果需要关闭的话,需要在后台修改。 kubectl edit cm -n istio-system istio-sidecar-injector 查找traffic.sidecar.istio.io/includeOutboundIPRanges字段,将其修改为"*",则与原生一致IstioIstio服务提供哪些灰度发布能力?目前支持http/grpc/tcp协议的灰度升级,tcp仅支持基于流量比例的灰度发布SWR是否有便捷的方式指导用户制作容器镜像?我们的镜像构建是否客户就不用自己写dockerfile?1)CCE容器服务的官方说明文档有个最佳实践,有详细镜像制作的指导(https://support.huaweicloud.com/bestpractice-cce/cce_bestpractice_0001.html); 2)ContainerOps提供镜像Step by Step能力,可实现源码、二进制到镜像的制作。用户可以选择自行编写dockerfile,也可以选择由ContainerOps自动生成Dockerfile。SWRSWR是否支持对接私有仓库?SWR支持对接自建Gitlab,要求版本在8.10.0-rc1.ce.0以上SWRswr镜像仓库的地址在哪里获取?可以在SWR界面的总览里面的获取登入指令看到。具体调用的接口可以查看API文档。如获取命名空间:https://swr-api.cn-north-1.myhuaweicloud.com/v2/manage/namespacespaas_solution 发表于2019-07-30 17:15:21 2019-07-30 17:15:21 最后回复 paas_solution 2019-07-30 17:15:216617 0
-
项目原是spring boot2 开发的Restful 接口, 集成了CSE后, 一些带查询参数的接口 出现了问题, 会报{ "message": "Parameters not valid or types not match."} 接口里将qurey param封装到一个类里, 经过尝试,发现请求的时候如果只含有部分参数的时候,会报错,但是如果包含全部的参数,就没有错了。但是我们的查询的参数本身就有一些是 not required, 查看cse启动时生成的yaml 里, 参数的require也是 false请问这种问题怎么解决?
-
Spring boot集成shiro,正常。 切换到CSE之后,还没有进shiro的验证,就报了如下错误。 网上搜索是需要配置web.xml中 shiro的filter配置,不知怎么解决这个问题 2019-07-25 11:57:41,925 [ERROR] invoke failed, invocation=PRODUCER rest DemoService.UserController.getUser org.apache.servicecomb.swagger.invocation.exception.DefaultExceptionToProducerResponseConverter.convert(DefaultExceptionToProducerResponseConverter.java:35) org.apache.shiro.UnavailableSecurityManagerException: No SecurityManager accessible to the calling code, either bound to the org.apache.shiro.util.ThreadContext or as a vm static singleton. This is an invalid application configuration. at org.apache.shiro.SecurityUtils.getSecurityManager(SecurityUtils.java:123) at org.apache.shiro.subject.Subject$Builder.
-
CSE服务按照如下组网部署。正常A1是可以给B1和B2发消息的。在消息发送时,我们是否可以优先在自己AZ内部发送。就是A1要给B发现消息时,优先选择和A1在同一个AZ内的B1发送?
-
项目是用spring boot2 开发的,现在集成cse, 用的是web方式,用项目里本身使用的jetty容器, 依赖里引入一下compile("org.apache.servicecomb:spring-boot2-starter-servlet:1.2.1")compile("com.huawei.paas.cse:cse-solution-service-engine:2.3.70")做了一些代码上的改造, 加了microservice.yaml , 在 intellij idea里可以正常运行, 但是打成jar包后在启动,发现问题,打印的日志:2019-07-24 13:29:59.887 - WARN 43428 --- [-thread-checker] io.vertx.core.impl.BlockedThreadChecker [line:51] : Thread Thread[vert.x-eventloop-thread-7,5,main] has been blocked for 4917 ms, time limit is 2000 ms2019-07-24 13:30:04.986 - WARN 43428 --- [-thread-checker] io.vertx.core.impl.BlockedThreadChecker [line:51] : Thread Thread[vert.xException in thread "qtp266273434-15" java.lang.OutOfMemoryError: MetaspaceException in thread "Thread-10" java.lang.OutOfMemoryError: Metaspace服务无法正常访问。 请问该怎么解决?
-
当前我们在用CSE的microservice.yaml中配置:cse: request: #请求配置 timeout: 60000 #微服务消费端超时时间,60s通过request.timeout控制调用超时,但是某些指定的接口我们希望独立控制超时时间,之前gihub上问有人回答:global: servicecomb.request.timeout microservice: servicecomb.request.${service}.timeout schema: servicecomb.request.${service}.${schema}.timeout operation: servicecomb.request.${service}.${schema}.${operation}.timeout但是这个在microservice.yaml如何配置到operation级别呢?
-
provider侧microservice.yaml中有线程配置,容器(tomcat)自身也有线程配置,最终线程数的上限是由什么决定的?
-
例如:2019-07-03 14:09:28,492 ERROR ConfigCenterClient:413 - Config update from https://cse.cn-east-2.myhuaweicloud.com failed.2019-07-03 14:09:28,516 ERROR ConfigCenterClient:409 - Server error message is [{"error_code":"SVCSTG.CSE.401401","error_message":"auth token valid fail: get token from iam with AK/SK/Project: {\"error\":{\"code\":401,\"message\":\"The request you have made requires authentication.\",\"title\":\"Unauthorized\"}}"}]._2019-07-03 06:27:14.764这种问题原因是:project配置错误请用户确认配置了project并且与所连接的CSE服务端所在project保持一致(CSE专业版引擎可以不配置project,CSE专享版引擎必须配置)
上滑加载中
推荐直播
-
全面解析华为云EI-API服务:理论基础与实践应用指南
2024/11/29 周五 18:20-20:20
Alex 华为云学堂技术讲师
本期直播给大家带来的是理论与实践结合的华为云EI-API的服务介绍。从“主要功能,应用场景,实践案例,调用流程”四个维度来深入解析“语音交互API,文字识别API,自然语言处理API,图像识别API及图像搜索API”五大场景下API服务,同时结合实验,来加深开发者对API服务理解。
回顾中 -
企业员工、应届毕业生、在读研究生共探项目实践
2024/12/02 周一 19:00-21:00
姚圣伟 在职软件工程师 昇腾社区优秀开发者 华为云云享专家 HCDG天津地区发起人
大神带你一键了解和掌握LeakyReLU自定义算子在ONNX网络中应用和优化技巧,在线分享如何入门,以及在工作中如何结合实际项目进行学习
即将直播 -
昇腾云服务ModelArts深度解析:理论基础与实践应用指南
2024/12/03 周二 14:30-16:30
Alex 华为云学堂技术讲师
如何快速创建和部署模型,管理全周期AI工作流呢?本期直播聚焦华为昇腾云服务ModelArts一站式AI开发平台功能介绍,同时结合基于ModelArts 的实践性实验,帮助开发者从理论到实验更好地理解和使用ModelArts。
去报名
热门标签