Bootstrap
业务网关-分流插件
这里所指的分流插件非常类似于nginx的流量转发功能,或者叫反向代理。 背景 尽管nginx的流量转发功能也很强大,但业务上的一些变化有可能出现会让nginx的配置繁多,疲于应付,比如:某款APP随业
简易RPC框架-SPI
案例 我们所熟悉的jbdc是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,提供了一种基准,据此可以构建更高级的工具和接口。 如上图所示,任意的一个数据库厂商只要去实现j
Kafka Manager
Kafka Manager 这里记录下安装过程,以及当时遇到的一些问题。 依赖项 kafka manager依赖两个组件: java8 最新的kafka manager依赖java8,低版本的我没有尝
简易RPC框架-熔断降级机制
熔断与降级 为什么在RPC环节中有熔断以及降级的需求,详细的原因这里不多解释,从网上搜索一张图做示意。 熔断 我理解熔段主要解决如下几个问题: 当所依赖的对象不稳定时,能够起到快速失败的目的 快速
业务网关-配置
配置类图 将项目中的配置聚合在一起,便于管理。 设计 下面是整理之后的与配置相关的数据对象关系图,主要分为后台管理以及网关配置相关。 实现 spring对于属性的注入方面主要有以下2种方式: 单
Spring Cache扩展:注解失效时间+主动刷新缓存(二)
目的 之前在github上找了一个开源的项目,改了改缓存的扩展,让其支持在缓存注解上控制缓存失效时间以及多长时间主动在后台刷新缓存以防止缓存失效( Spring Cache扩展:注解失效时间+主动刷新
简易RPC框架-私有协议栈
HTTP协议 客户机与服务端之间的数据交互需要遵守一定的约定,比如协议版本,数据类型,是否有缓存,是否有压缩等,只有在这些约定的基础上才能相互之间愉快的工作。 Netty通信过程中的编解码 这时说的
从头开始搭建一个Spring boot+ActiveMQ高可用分布式环境
背景 目前公司项目中有用到activemq,两台机器上分别通过共享文件方式搭建了master-slave集群,但两台机器之间并未组建broker cluster,而是在客户端通过软负载的方式随机选择一
dubbo+zipkin调用链监控(二)
去年的时候写过dubbo+zipkin调用链监控,最近看到zipkin2配合brave实现起来会比我之前的实现要简单很多,因为brave将很多交互的内容都封装起来了,不需要自己去写具体的实现,比如如何
简易RPC框架-过滤器机制
过滤器 字面义上理解的过滤器类似下图,从一堆物品中筛选出符合条件的留下,不符合的丢弃。 GOF 职责链 GOF中有一种设计模式叫职责链,或者叫责任链,常规的UML图如下: 正统的职责链是将一个请求
转:一篇讲线上优化查 CPU的脚本
原文链接:https://my.oschina.net/leejun2005/blog/1524687   摘要: 本文主要针对 Java 服务而言 0、背景 经常做后端服务开发的同学,或多或少都
简易RPC框架-心跳与重连机制
心跳 就是告诉其它人自己还活着。在简易RPC框架中,采用的是TCP长连接,为了确保长连接有效,就需要客户端与服务端之间有一种通知机制告知对方的存活状态。 如何实现 客户端发送心跳消息 在状态空闲的时
业务网关-操作手册
这里从部署运维的角度描述如何将网关系统动作起来,由于线上实战的系统是分布式,所以项目依赖的组件会相对多一些,为了简化,将配置组件(apollp)做了移除。这篇以网关最基本的分流组件做为演示,其它组件的
简易RPC框架-上下文
上下文 记的学英语的时候,总是不记的某个词是什么意思,然后就看不下去了,只能问周围的同学或者老师或者去查词典,他们的建议是通过上下文去推测这个词大概的意思,反正我那会上学时没理解,所以英文一直比较差
简易RPC框架-客户端限流配置
关键资源 关键资源总是有限的,也就意味着处理能力也有限,所以当面对大量业务时,为了保障自己能够有序的提供服务最经济的做法就是限制同一时间处理的事务数。比如银行的工作人员,一个工作人员同时只能为一个客
;