什么是链路追踪,用来解决什么问题数据库
ThreadLocal,不少地方叫作线程本地变量,也有些地方叫作线程本地存储,其实意思差很少。可能不少朋友都知道ThreadLocal为变量在每一个线程中都建立了一个副本,那么每一个线程能够访问本身内部的副本变量。服务器
思考:使用TreadLocal来传参数 架构
MDC -----Mapped Diagnostic Contextapp
软件架构是一个包含各类组织的系统组织,这些组件包括 Web服务器, 应用服务器, 数据库,存储, 通信层), 它们彼此或和环境存在关系。系统架构的目标是解决利益相关者的关注点分布式
微服务是指开发一个单个小型的但有业务功能的服务,每一个服务都有本身的处理和轻量通信机制,能够部署在单个或多个服务器上。微服务也指一种种松耦合的、有必定的有界上下文的面向服务架构。也就是说,若是每一个服务都要同时修改,那么它们就不是微服务,由于它们紧耦合在一块儿;若是你须要掌握一个服务太多的上下文场景使用条件,那么它就是一个有上下文边界的服务,这个定义来自DDD领域驱动设计微服务
服务粒度要小,而每一个服务是针对一个单一职责的业务能力的封装,专一作好一件事情。组件化
每一个服务可以独立被部署并运行在一个进程内。这种运行和部署方式可以赋予系统灵活的代码组织方式和发布节奏,使得快速交付和应对变化成为可能。大数据
技术选型灵活,不受遗留系统技术约束。合适的业务问题选择合适的技术能够独立演化。服务与服务之间采起与语言无关的API进行集成。相对单体架构,微服务架构是更面向业务创新的一种架构模式。线程
团队对服务的整个生命周期负责,工做在独立的上下文中,本身决策本身治理,而不须要统一的指挥中心。团队和团队之间经过松散的社区部落进行衔接。设计