上下文对象跨线程传递方案

 最近在做个日志链路追踪的工具,遇到了上下文对象线程间传输的问题,在此分享下解决方案。 首先要说的是ThreadLocal类,其提供了在线程范围内提供了数据共享的能力。具体实现原理直接参考其源码就行,不难理解。看下面的例子: public static void ma

解决SpringBoot2.x版本对Velocity模板不支持的方案

背景 在springboot1.4.x版本之前对velocity的模板支持的是相当好的,不止出于什么原因springboot从1.5.x以后停止了对velocity的支持,甚至在2.x版本中移除了和velocity的相关代码。目前手上有些项目使用的是velocity模板引擎,同时

分布式事务

什么是分布式事务  分布式事务指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简而言之,就是将一个大的操作拆分成多个小操作,这些小的操作分布在不同的服务器上,属于不同的应用,分布式事务就需要保证这些小操作要么全部成功,要

分布式开关设计与实现

背景  ​首先讲一下使用开关的理由,例如饿了么在5月17日吃货节做活动,推到点我达的订单暴增,在下单环节,可能需要调用A、B、C三个接口来完成,但是其实A和B是必须的,C只是附加的功能(例如在下单的时候获取用户常用地址),可有可无,在平时系统没有压力,在容量充足的情况下

Zookeeper 运维管理

ZooKeeper简介   Apache ZooKeeper是Apache软件基金会的一个软件项目,为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。ZooKeeper的架构通过冗余服务实现高可用性。因此,如果第一次无应答,客户端就可以询问另一台Z