摘要: 一、背景介绍: 运行在k8s集群中负责支付业务一个服务,运营一段时间就会被k8s kill,然后重启, 通过查看k8s 的event发现系统达到了memory到达了上限被集群kill调。 服务配置:jdk:1.8、堆内存:-Xmx800m -Xms800m 设置为800M, k8s的memory.l 阅读全文
posted @ 2020-07-01 17:52 浮生若云 阅读(1608) 评论(0) 推荐(0) 编辑
摘要: 目的 Spring cloud 微服务、k8s容器化部署的架构下,单个服务升级过程中,不停止对外提供服务,使得用户对整个升级过程无感知,从而实现服务的优雅升级。 负载均衡器 1. spring cloud ribbon(k8s同namespace):k8s同一命名空间之间的服务调用,采用ribbon 阅读全文
posted @ 2020-04-15 14:21 浮生若云 阅读(3638) 评论(0) 推荐(0) 编辑
摘要: 一、问题: 生产环境服务A 通过feign调用 服务B,服务A报警信息如下: 详细分析发现问题 (1)服务A调用服务B失败,未触发声明的失败降级操作 (2)同时配置ribbon和feign超时时间,优先级问题: 二、解决: 针对上述问题(1) (2)通过源码debug分析得出结论分别如下: (1)F 阅读全文
posted @ 2019-11-20 15:36 浮生若云 阅读(2335) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-11-18 15:45 浮生若云 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 背景 Spring Cloud Zuul 作为微服务的网关,请求经过zuul路由到内部的各个service,由于存在着新增/修改/删除服务的路由规则的需求,zuul的路由规则的动态变更功能 提供了 无须重启zuul网关,即可实时更新,现有如下几种方式: 一、基于refresh + config-se 阅读全文
posted @ 2019-11-14 17:30 浮生若云 阅读(1565) 评论(0) 推荐(0) 编辑
摘要: 一、Zuul源码分析(初始化流程、请求处理流程) 阅读全文
posted @ 2019-05-21 14:05 浮生若云 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 做支付平台的时候。需要实现接受上游支付消息,通知给下游渠道。 针对下游渠道:要实现 按通知次数 递进 延时通知 下游渠道的支付/签约/代扣的状态 可参考微信按照 15/15/30/180/1800/1800/1800/1800/3600 单位s 等5个level去通知下游业务端 当时采用rabbit 阅读全文
posted @ 2019-04-26 14:57 浮生若云 阅读(2458) 评论(0) 推荐(0) 编辑
摘要: 前段时间,由于业务需要接入微信代扣功能。 做代扣功能之前。用户需要调用微信客户端 进行免密代扣的签约。 大概流程如下: 在生成签约url后,调不起来微信webview问题整理如下: 1、微信代扣文档:https://pay.weixin.qq.com/wiki/doc/api/pap_jt_v2.p 阅读全文
posted @ 2019-04-26 13:56 浮生若云 阅读(1395) 评论(2) 推荐(0) 编辑
摘要: 没有监控 就没有眼睛。 除了k8s的基本监控外(pod运行状况、占用内存、cpu)。为了对微服务项目中的(1)各种参数线程池、QPS、RT、业务指标(2)系统负载、thread、mem、class、tomcat、gc、等jvm指标进行监控 采用 promethus 对spring boot业务埋点进 阅读全文
posted @ 2019-01-14 10:53 浮生若云 阅读(4224) 评论(0) 推荐(0) 编辑
摘要: 为了服务升级过程中提供可持续的不中断的服务,Kubernetes 提供了rolling update机制,具体配置需要修改对应服务的yaml文件 参数解析: minReadySeconds: 100 # 容器启动创建多少s后服务可用strategy: # indicate which strateg 阅读全文
posted @ 2018-11-22 08:50 浮生若云 阅读(4083) 评论(0) 推荐(0) 编辑