springcloud技术分享
文章平均质量分 58
springcloud技术栈(eureka、springcloud config、zipkin、oauth2、zuul、ribbon、Hystrix)
lipengxs
这个作者很懒,什么都没留下…
展开
-
微服务预热那些事
常见预热场景原创 2021-06-06 21:57:19 · 1132 阅读 · 4 评论 -
springboot加载本地配置中文乱码
https://blog.csdn.net/u013916933/article/details/81171108https://www.zhihu.com/question/55612484https://ttv5.github.io/2018/03/31/java/spring-boot/problem-001/原创 2021-05-19 22:55:32 · 203 阅读 · 0 评论 -
springcloud gateway高级功能之监控metric中tag修改
springcloud gateway高级功能之监控metric中tag修改原创 2021-01-04 20:53:28 · 2232 阅读 · 0 评论 -
springcloud gateway高级功能之集成apollo后动态刷新路由
springcloud gateway高级功能之集成apollo后动态刷新路由原创 2021-01-04 19:49:18 · 1734 阅读 · 0 评论 -
redis读写分离之lettuce
背景集群读写分离设置读或者写主从节点均衡随机分配集群扩容从节点信息更新原创 2020-11-22 23:19:50 · 3433 阅读 · 7 评论 -
微服务三大利器之限流
背景限流算法限流框架guavasentinel限流实战nginx限流zuul限流springcloud gateway限流服务限流原创 2020-11-22 16:59:39 · 1161 阅读 · 0 评论 -
Feign请求响应结果被截取com.fasterxml.jackson.core.io.JsonEOFException
在生产环境使用feign调用外部接口时,偶尔会出现下面错误2020-10-15 11:00:18,535 [] ERROR com.shein.abc.rmp.controller.RecExplainConfigController - rec_explain_query.failffeign.codec.DecodeException: Error while extracting response for type [class com.alibaba.fastjson.JSONObject]原创 2020-10-18 15:02:18 · 5507 阅读 · 6 评论 -
springboot如何集成Prometheus如何暴露Histogram来获取P99等监控指标
背景springboot如何集成Prometheus我这里不做详细描述,要想了解集成过程,可以参考一下博客:https://blog.csdn.net/aixiaoyang168/article/details/100866159,这里我讲一下如果我们j需要获取到某些监控指标的p99、p90等度量数据,比如说http请求的响应时长p99等,Micrometer根据指标监控的对象个数、监视目的和含义的不同,Micrometer指标类型大体可以分为Gauge、Counter、DistributionSu原创 2020-05-24 02:33:53 · 8062 阅读 · 3 评论 -
微服务开发手册之GRPC
1、http22、grpc原理3、grpc四种模式4、序列化与反序列化5、应用场景6、集成springcloud7、grpc之拦截器8、grpc服务发现、负载均衡之springcloud9、grpc服务发现、负载均衡之istio10、grpc监控之全链路11、grpc监控之prometheus12、grpc监控之断路器13、grpc高并发优化之预热14、grpc高并发优化之超时...原创 2020-05-19 23:39:26 · 696 阅读 · 0 评论 -
grpc报错合集以及解决方案
grpc报错之io.grpc.StatusRuntimeException: UNIMPLEMENTED原创 2020-05-10 01:20:51 · 17280 阅读 · 6 评论 -
微服务全链路跟踪:jaeger增加tag参数
微服务全链路跟踪:grpc集成zipkin微服务全链路跟踪:grpc集成jaeger微服务全链路跟踪:springcloud集成jaeger微服务全链路跟踪:jaeger集成istio,并兼容uber-trace-id与b3微服务全链路跟踪:jaeger集成hystrix前言微服务全链路跟踪:grpc集成jaeger中介绍了springboot集成jaeger,在现实使用时很多情况下...原创 2020-05-04 22:18:19 · 1663 阅读 · 0 评论 -
springcloud线上发布超时方案之终极杀招:预热(测试用例)
springcloud线上发布超时系列文章:springcloud线上发布超时方案之feign优化(ribbon饥饿加载)springcloud线上发布超时方案之grpc优化前言经过上面两章的优化,超时报错有所减少,但是只是得到了缓解但是当流量切换时还是会有大量超时。方案这里又增加了一个启动后预热,即在程序启动后执行测试用例n次,让hystrix、web容器线程池等资源初始化。在测...原创 2020-05-01 17:03:18 · 1313 阅读 · 0 评论 -
微服务全链路跟踪:jaeger集成hystrix
https://github.com/alibaba/transmittable-thread-localhttps://blog.csdn.net/songhaifengshuaige/article/details/80345012https://github.com/opentracing-contrib/java-concurrent/tree/master/src/main/java...原创 2020-04-28 22:58:33 · 525 阅读 · 0 评论 -
微服务全链路跟踪:jaeger集成istio,并兼容uber-trace-id与b3
微服务全链路跟踪:jaeger集成istio原创 2020-04-26 15:27:46 · 4244 阅读 · 0 评论 -
springcloud线上发布超时之grpc优化
上一章我们说到了springcloud高并发坑之ribbon饥饿加载在本章我们说说grpc的饥饿加载,grpc连接也是一样的问题,发布后,如果超时时间设置的比较短,第一次请求一般会报超时,当高并发情况下发布系统时,会出现一段时间的超时。问题分析问题原因与上一章描述的差不多,就是容器初始化后grpc连接没有初始化,在第一次调用时才会去初始化连接以及相关拦截器等上下文,而grpc暂时没有...原创 2020-04-19 21:56:19 · 1374 阅读 · 0 评论 -
springcloud线上发布超时方案之feign优化(ribbon饥饿加载)
在高并发情况下发布应用时,经常会发现监控中有很多超时报错或者断路器打开,下图中可以看到监控情况,测试时也会偶现第一次feign调用出错,第二次就会恢复正常。问题分析大家都知道,这里feign底层是集成的ribbon,这里ribbon也会有http连接池,这里的连接池是长连接,定时初始化一批并销毁旧连接,这里还包括一些上下文需要初始化,但是在容器初始化好时,ribbon底层的client是...原创 2020-04-19 21:41:53 · 2385 阅读 · 0 评论 -
微服务全链路跟踪:jaeger坑之NoSuchMethodError: io.jaegertracing.agent.thrift.Agent$Client.sendBaseOneway
在jaeger使用过程中遇到了一个奇怪的问题,本来jaeger运行的好好的,jaeger配置与依赖都没动,就上了一个版本,结果jaeger就没上报监控数据了,由于生产上没打印info日志,后面在本地试着重现,查看到报下面错误Exception in thread "jaeger.RemoteReporter-QueueProcessor"java.lang.NoSuchMethodError:...原创 2020-03-30 15:34:30 · 828 阅读 · 0 评论 -
grpc断路器之hystrix
上一章介绍了grpc断路器sentinel,grpc断路器之sentinel但是由于公司线上系统用的告警与监控组件是prometheus,而sentinel暂时还没有集成prometheus,所以这里就在部分线上系统还是用hystrix步骤1、pom依赖<dependency> <groupId>org.springframework.cl...原创 2020-03-26 22:11:18 · 673 阅读 · 0 评论 -
grpc坑之Could not find TLS ALPN provider; no working netty-tcnative
在使用grpc过程中偶尔会遇到下面报错: Initialization of bean failed; nestedexception is java.lang.IllegalStateException: Could not find TLS ALPN provider; no working netty-tcnative, Conscrypt, or Jetty NPN/ALPN avail...原创 2020-03-07 20:55:13 · 4124 阅读 · 0 评论 -
springboot经验之sql注入、xss注入拦截(POST)
简介sql注入、xss注入、cors攻击的简介以及解决方案,可以参考下面链接:https://blog.csdn.net/yhhyhhyhhyhh/article/details/84504487这里我就不做的的介绍了,解决sql注入根本方案在于使用预编译而不是拼接sql,而通常拦截参数都只有针对GET方法,下面介绍下POST方法POST防注入方案1、增加httprequest包装类...原创 2020-02-08 21:12:41 · 3879 阅读 · 2 评论 -
springcloud feign集成hystrix
本章介绍feign集成hystrix1、增加pom依赖` <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </depen...原创 2020-02-01 22:33:29 · 1105 阅读 · 0 评论 -
微服务实战之如何提升springboot服务吞吐量
1、undertow替换tomcat2、缓存3、系统拆分4、集成kafka,参考消息触发原创 2020-01-31 22:47:01 · 1947 阅读 · 0 评论 -
springboot代码自动生成
微服务中代码自动生成原创 2020-01-30 23:28:18 · 925 阅读 · 1 评论 -
logback日志级别动态切换的四种方案
springboot日志级别动态切换原创 2020-01-29 16:50:09 · 6027 阅读 · 0 评论 -
docker生产环境jvm性能优化
1、xmx与xms设置一样2、xmn或者maxnewSize设置3、当xmx设置大于3G时,设置垃圾回收器 -XX:+UseG1GC原创 2020-01-20 17:01:14 · 3844 阅读 · 0 评论 -
微服务业务日志收集方案
背景日志内容复杂多样,如何去收集有价值的日志是我们重点关注的。日志的价值其实是取决于业务操作的,不同的业务场景下相同类型的日志的价值会截然不同。根据以往的业务实践,结合企业级的一些业务需求,我们选定关注以下几类日志。• 跟踪日志【trace.log】 Server引擎的调试日志,用于系统维护人员定位系统运行问题使用。• 系统日志【system.log】 大粒度的引擎运行的入口、出口的日志,...原创 2020-01-11 17:47:15 · 3391 阅读 · 0 评论 -
zuul集成apollo动态刷新配置
zuul集成apollo实现路由配置的动态刷新import com.ctrip.framework.apollo.model.ConfigChangeEvent;import com.ctrip.framework.apollo.spring.annotation.ApolloConfigChangeListener;import org.slf4j.Logger;import org.s...原创 2019-11-21 21:42:40 · 494 阅读 · 0 评论 -
springboot认证方案一
这里给出集成oauth2后的简单认证方案架构图原创 2019-11-18 21:45:54 · 185 阅读 · 0 评论 -
apollo配置动态更新
简单配置使用@Value注解的配置会自动刷新配置复杂对象@Component("systemConfig")@ConfigurationProperties(prefix = "cword")@RefreshScope@EnableApolloConfig("cword")public class SystemConfig { private Resource fileP...原创 2019-11-18 21:26:57 · 2677 阅读 · 0 评论 -
springboot解析自定义yml
springboot解析自定义yml在实际项目开发中我们经常需要用到一些自定义配置,并且希望单独配置,方便维护,现在介绍下方式:方式一手动加载对于一些不变动的配置,写死在项目中维护,如下然后在启动类中加载该配置‘’’public class AAApplication { public static void main(String[] args) { Spr...原创 2019-10-28 20:42:35 · 869 阅读 · 0 评论 -
微服务全链路跟踪:springcloud集成jaeger
jaeger安装如果需要测试 or 生产部署jaeger,可以直接度娘搜索jaeger安装,这里只提供本地all in one安装包下载地址:https://share.weiyun.com/5Jm3Iwc安装后查看地址:http://127.0.0.1:16686springboot集成jaeger配置详情opentracing: jaeger: udp-sender:...原创 2019-10-13 22:53:02 · 2513 阅读 · 0 评论 -
微服务全链路跟踪:jaeger集成grpc
grpc集成jaeger原创 2019-07-28 22:57:56 · 1829 阅读 · 0 评论 -
微服务全链路跟踪:grpc集成zipkin
本章节内容是基于springboot2集成net.devh.grpc的拓展本章介绍grpc集成zipkinzipkin部署这里就不列举zipkin代码或者容器部署了,网上很多grpc-client集成pom.xml依赖 <dependencyManagement> <dependencies> <depende...原创 2019-05-28 20:40:19 · 1765 阅读 · 0 评论 -
springcloud集成grpc(二)
上一章内容介绍了springboot2集成net.devh.grpc本章介绍springboot2集成Github 地址以及相关 DEMO 代码https://github.com/ChinaSilence/spring-boot-starter-grpc系统结构facade:独立的 Maven 模块,依赖 spring-boot-starter-grpc,需要远程调用的方法,都定...原创 2019-05-27 18:36:35 · 2083 阅读 · 2 评论 -
springcloud集成grpc(一)
springcloud集成grpc(一)GRPC简介是谷歌开源的一个高性能的、通用的RPC框架。和其他RPC一样,客户端应用程序可以直接调用远程服务的方法,就好像调用本地方法一样。它隐藏了底层的实现细节,包括序列化(XML、JSON、二进制)、数据传输(TCP、HTTP、UDP)、反序列化等,开发人员只需要关自业务本身,而不需要关注RPC的技术细节。与其他RPC框架一样,gRPC也遵循定义服...原创 2019-02-25 10:16:12 · 8715 阅读 · 11 评论 -
springboot2集成oauth2坑二(The bean 'scopedTarget.oauth2ClientContext', defined in class path resource )
由于使用Enableoauth2sso注解一直报错,报错原因见上一篇文章《springboot2集成oauth2坑一》后面换成了@EnableOAuth2Client注解,并自定义了相关配置 @Bean public FilterRegistrationBean oauth2ClientFilterRegistration(OAuth2ClientContextFilter filte...原创 2019-02-01 21:59:20 · 9607 阅读 · 0 评论 -
springboot2集成oauth2坑一(Possible CSRF detected - state parameter was required but no state could )
刚开始用springboot1.5集成oauth2没问题,现在升级成springboot2.1踩了不少坑,下面列举下:问题一Possible CSRF detected - state parameter was required but no state could be found客户端代码@EnableOAuth2Sso@Configurationpublic class Ui...原创 2019-02-01 17:48:30 · 6431 阅读 · 2 评论 -
springcloud学习(四) sidecar
springcloud学习(四) sidecar前言最近一段一直在研究微服务,并且将公司内部系统微服务化,由于公司内部也有一些业务系统是采用异构语言比如说.net ,python开发,所以也需要将这些系统服务化,让这些系统也能使用Eureka, Ribbon和Config Server。 下面是官方给的描述: 现在结合一个python的django框架来实现springclou...原创 2018-08-20 20:09:23 · 3458 阅读 · 8 评论 -
springcloud经验
架构演化的步骤在确定使用Spring Boot/Cloud这套技术栈进行微服务改造之前,先梳理平台的服务,对不同的服务进行分类,以确认演化的节奏。先让团队熟悉Spring Boot技术,并且优先在基础服务上进行技术改造,推动改动后的项目投产上线当团队熟悉Spring Boot之后,再推进使用Spring Cloud对原有的项目进行改造。在进行微服务改造过程中,优先应用于新业务系统,前期...原创 2018-05-17 20:51:22 · 661 阅读 · 0 评论 -
微服务架构springCloud
微服务架构一、服务化简介服务化的核心就是将传统的一站式应用根据业务拆分成一个一个的服务,而微服务在这个基础上要更彻底地去耦合,并且强调DevOps和快速演化。服务化之Nginx Nginx通过接受客户端Http请求,根据路径配置,转发,跳转相应的服务。 Nginx配置中存在服务调用的逻辑 服务消费者不知道真正服务提供者的实例。 ...原创 2018-05-17 20:47:49 · 448 阅读 · 0 评论