首页
学习
活动
专区
工具
TVP
发布
首页标签微服务

#微服务

微服务是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 为基础,利用模组化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 的 API 集相互通讯。

HmilyTransactionContext为空异常 ?

已解决,是因为同一个服务类中A方法调用B方法,这种写法导致B方法的注解失效,实际调用B方法的时候没出发代理

docker swarm 发布微服务怎么向consul注册;需要获取部署项目的ip地址?

基于开源zuul的微服务网关,集成tsf后不支持路由转发通过URL吗?

dockers运行微服务报错?

docker启动nacos2.0.2之后,cloud微服务启动报错9848端口拒绝连接,求大神解答?

Serverless/云函数如何调用RPC服务?

泰坦HW不为岁月流逝蹉跎,不为潮流的势头去附和

RPC是有基于HTTP的实现的(RPC OVER HTTP),你这里说的“云函数只支持事件或者http请求,没有rpc通信”,或许描述的不太清晰,具体可以根据你的业务来解决,比如 XMLRPC就是使用HTTP协议进行通讯的。

为什么通过tag方式进行路由不生效?

注意:如果开启了feign的hystrix配置,那么会因为使用了hystrix的异步线程池,而使得自定义标签(tag)路由及全链路灰度失效。原因是tag是打在ThreadLocal中的,如果切换线程会丢失tag,如使用ExecutorService多线程调用下游服务也会。丢失tag的现象是,调用顺序A->B->C时,调用链中只能看到A服务相关的tag信息,看不到B的相关信息。(不加TRANSITIVE参数,默认tag可以传递给B,加了TRANSITIVE参数tag可以传递给C)... 展开详请

dubbo应用如何迁移?

修改控制台中的应用配置,为什么没生效?

配置管理中的应用配置在配置发布后(注意发布的版本是否正确),代码中也要同步开启@RefreshScope注解、编写对应配置文件的监听类,才能达到配置热刷新的目的。

如何通过demo测试服务限流?

如果服务触发限流,会返回429的httpcode,代表请求太多。设置10s/1次,很容易触发。同时全局限流只能是一个,基于系统和自定义标签限流可以有多个。限流配置在被调用方,会把限流规则下发给provider。

服务调用时,如果添加了微服务网关,那么上下游服务要如何区分?

Consumer调用gateway调用provider,此时provider的上游服务不是consumer,而是gateway。所以服务路由、服务鉴权、服务熔断,都是按照这个逻辑去配置。

我创建并部署了demo中的两个provider项目,但在服务治理中只能看到一个provider服务?

虽然分开两个部署组,但如果spring.application.name的服务名相同,会认为是同一个服务,并且归在同一个服务治理下。可以通过服务治理-服务实例列表查看服务下的所有实例。

demo已经部署后,是否可以查询到应用真实开启的端口?

服务默认开启的端口是application.yml中配置的端口,可以在服务治理-服务实例列表中看到开启的端口。

注意:这里的端口如果需要通过公网IP访问,需要在安全组的入站规则中放开。

路由规则、熔断规则要配置在上游服务还是下游服务?

路由规则需要配置在被调用方(下游服务),熔断规则要配置在主调用方(上游服务)。

如何在本地运行consul,并进行demo的调试?

Provider要启动需要在本地启动consul,consul下载64位版本,将consul执⾏⽂件拷⻉到/usr/local/bin⽬录下,通过命令consul agent -dev启动。 启动provider服务后,通过http://localhost:8500/访问当前启动的服务列表是否注册成功。 ... 展开详请

微服务引擎的注册中心有计划接入nacos吗?

你好,感谢你对微服务引擎的关注。考虑到NACOS是阿里集团推出的开源注册中心,目前微服务引擎团队暂无计划在近期支持该注册中心托管。

弹性微服务新建环境一直初始化问题?

微服务平台Serverless集群部署应用报无实例可用?

TSF微服务无法查看JVM监控,显示空白?

工口Miku说唱歌手
回答来自于问答智囊团成员:邓愉悦 专栏:https://cloud.tencent.com/developer/user/6835587 原因分析 1、tsf-agent 版本过低。 使用 JVM 监控功能时,实例的 tsf-agent 需为 1.21.0 或以上版本。如果 agent 版本过低,JVM 监控功能无法使用您需要对 agent 进行升级。 2、GC 日志配置被覆盖。 JVM 日志的采集依赖于 TSF 的 GC 日志配置。如果您自定义了 GC 日志配置,将会覆盖 TSF 的 GC 日志配置,这将导致无法在界面中查看 JVM 日志。 解决方案 1、JVM 如何升级 tsf-agent? 首先我们需要对tsf-agent进行升级操作: VM 场景:您需要把实例移出集群后,再重新移入集群,重新部署服务实例。 容器场景:您需重新编写 dockerfile,生成新的镜像后重新部署服务实例。 这里我们先介绍下如何制作容器镜像。 Spring Cloud 应用构建材料: 我们需要在 Dockerfile 中增加 JVM 监控组件TencentCloudJvmMonitor然后在 CMD 命令中启动该组件。 注意:将 Spring Cloud 应用 JAR 包和 JVM 监控组件放在同级目录下,并在该目录下编写 Dockerfile。 FROM centos:7 RUN echo "ip_resolve=4" >> /etc/yum.conf RUN yum update -y && yum install -y java-1.8.0-openjdk # 设置时区。这对于日志、调用链等功能能否在 TSF 控制台被检索到非常重要。 RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo "Asia/Shanghai" > /etc/timezone ENV workdir /app/ # 下面的 jar 包可替换为您的 Spring Cloud 应用 jar 包,注意这个 jar 包要和您的 dockerfile 位于同一级目录 ENV jar provider-demo-0.0.1-SNAPSHOT.jar COPY ${jar} ${workdir} WORKDIR ${workdir} # JVM 监控组件要和您的 Dockerfile 位于同一级目录,并创建 JVM 监控数据采集目录 ENV agentjar TencentCloudJvmMonitor-1.0-RELEASE.jar COPY ${agentjar} ${workdir} RUN mkdir -p /data/tsf_apm/monitor/jvm-metrics/ # JAVA_OPTS 环境变量的值为部署组的 JVM 启动参数,在运行时 bash 替换。使用 exec 以使 Java 程序可以接收 SIGTERM 信号。 # 使用 JVM监控功能需要加上 gclog 和 javaagent 的配置, 否则将无法提供 jvm 监控能力 CMD ["sh", "-ec", "exec java -Xloggc:/data/tsf_apm/monitor/jvm-metrics/gclog.log -XX:+PrintGCDateStamps -XX:+PrintGCDetails -verbose:gc -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=8 -XX:GCLogFileSize=50M -javaagent:${workdir}/${agentjar}=hascontroller=true ${JAVA_OPTS} -jar ${jar}"] 这里我们需要注意的是: JVM 监控功能依赖 javaagent,jdk1.5 以后才引入了 javaagent 技术,所以您需使用 jdk1.6 及以上版本,建议您使用 jdk1.8。 2、火焰图采集失败如何处理? 火焰图适用于在 CPU 利用率持续较高的情况下进行热点函数分析。 在如下场景下,火焰图采集可能失败: 数据量过大:目前火焰图的数据量上限为2MB,超出时会采集失败;此时,请缩短所选择的采集时间后,重新进行采集。 当前无热点函数:进程处于低 CPU 消耗状态,即当前无热点函数时,火焰图采集可能失败(无法采集到热点函数);此时,可尝试延长采集时间后重新采集,或待服务请求量较大时再重新采集。 无法和进程建立连接:发生无法和实例连接等异常情况时,采集任务会执行超时;此时,请您检查实例的连接状态,确认状态正常后再重新采集。 3、为何无法查看 JVM 日志? JVM 日志的采集依赖于 TSF 的 GC 日志配置。如果自定义了 GC 日志配置,将会覆盖 TSF 的 GC 日志配置,这将导致无法在界面中查看 JVM 日志。 以上就是解决在使用TSF遇到JVM相关监控无法看到、以及JVM日志无法查看相关问题的一些解决办法,供大家参考下。... 展开详请
回答来自于问答智囊团成员:邓愉悦 专栏:https://cloud.tencent.com/developer/user/6835587 原因分析 1、tsf-agent 版本过低。 使用 JVM 监控功能时,实例的 tsf-agent 需为 1.21.0 或以上版本。如果 agent 版本过低,JVM 监控功能无法使用您需要对 agent 进行升级。 2、GC 日志配置被覆盖。 JVM 日志的采集依赖于 TSF 的 GC 日志配置。如果您自定义了 GC 日志配置,将会覆盖 TSF 的 GC 日志配置,这将导致无法在界面中查看 JVM 日志。 解决方案 1、JVM 如何升级 tsf-agent? 首先我们需要对tsf-agent进行升级操作: VM 场景:您需要把实例移出集群后,再重新移入集群,重新部署服务实例。 容器场景:您需重新编写 dockerfile,生成新的镜像后重新部署服务实例。 这里我们先介绍下如何制作容器镜像。 Spring Cloud 应用构建材料: 我们需要在 Dockerfile 中增加 JVM 监控组件TencentCloudJvmMonitor然后在 CMD 命令中启动该组件。 注意:将 Spring Cloud 应用 JAR 包和 JVM 监控组件放在同级目录下,并在该目录下编写 Dockerfile。 FROM centos:7 RUN echo "ip_resolve=4" >> /etc/yum.conf RUN yum update -y && yum install -y java-1.8.0-openjdk # 设置时区。这对于日志、调用链等功能能否在 TSF 控制台被检索到非常重要。 RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo "Asia/Shanghai" > /etc/timezone ENV workdir /app/ # 下面的 jar 包可替换为您的 Spring Cloud 应用 jar 包,注意这个 jar 包要和您的 dockerfile 位于同一级目录 ENV jar provider-demo-0.0.1-SNAPSHOT.jar COPY ${jar} ${workdir} WORKDIR ${workdir} # JVM 监控组件要和您的 Dockerfile 位于同一级目录,并创建 JVM 监控数据采集目录 ENV agentjar TencentCloudJvmMonitor-1.0-RELEASE.jar COPY ${agentjar} ${workdir} RUN mkdir -p /data/tsf_apm/monitor/jvm-metrics/ # JAVA_OPTS 环境变量的值为部署组的 JVM 启动参数,在运行时 bash 替换。使用 exec 以使 Java 程序可以接收 SIGTERM 信号。 # 使用 JVM监控功能需要加上 gclog 和 javaagent 的配置, 否则将无法提供 jvm 监控能力 CMD ["sh", "-ec", "exec java -Xloggc:/data/tsf_apm/monitor/jvm-metrics/gclog.log -XX:+PrintGCDateStamps -XX:+PrintGCDetails -verbose:gc -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=8 -XX:GCLogFileSize=50M -javaagent:${workdir}/${agentjar}=hascontroller=true ${JAVA_OPTS} -jar ${jar}"] 这里我们需要注意的是: JVM 监控功能依赖 javaagent,jdk1.5 以后才引入了 javaagent 技术,所以您需使用 jdk1.6 及以上版本,建议您使用 jdk1.8。 2、火焰图采集失败如何处理? 火焰图适用于在 CPU 利用率持续较高的情况下进行热点函数分析。 在如下场景下,火焰图采集可能失败: 数据量过大:目前火焰图的数据量上限为2MB,超出时会采集失败;此时,请缩短所选择的采集时间后,重新进行采集。 当前无热点函数:进程处于低 CPU 消耗状态,即当前无热点函数时,火焰图采集可能失败(无法采集到热点函数);此时,可尝试延长采集时间后重新采集,或待服务请求量较大时再重新采集。 无法和进程建立连接:发生无法和实例连接等异常情况时,采集任务会执行超时;此时,请您检查实例的连接状态,确认状态正常后再重新采集。 3、为何无法查看 JVM 日志? JVM 日志的采集依赖于 TSF 的 GC 日志配置。如果自定义了 GC 日志配置,将会覆盖 TSF 的 GC 日志配置,这将导致无法在界面中查看 JVM 日志。 以上就是解决在使用TSF遇到JVM相关监控无法看到、以及JVM日志无法查看相关问题的一些解决办法,供大家参考下。

微服务架构下的应用的不同版本应该如何管理?

TSF作为微服务技术中台,在应用管理上,可以做到每个应用下边可以管理多个相同应用的不同版本,相关文档:https://cloud.tencent.com/document/product/649/16931

领券