Java 服务调用全流程追踪 简易实现方案

前言前段时间,本人一直协助项目组在做系统的重构,系统应用被拆分成了多个服务,部分服务做了集群部署。随着上述架构的演进,自然而然的引进了ELK+Filebeat做日志收集。但是在使用Kibana查看日志时,由于缺少TraceID,导致开发人员很难筛选出指定请求的相关日志,也很难追踪应用对下游服务的调用
Java 日志 链路追踪 2019年12月26日 189次浏览

(可能是)最全的 Filebeat 模块与配置

1.关于Filebeat当你要面对成百上千、甚至成千上万的服务器、虚拟机和容器生成的日志时,请告别SSH吧!Filebeat将为你提供一种轻量型方法,用于转发和汇总日志与文件,让简单的事情不再繁杂。关于Filebeat,记住两点:轻量级日志采集器输送至Elasticsearch或Logstash,在
Filebeat 2019年12月24日 164次浏览

微服务设计学习(三)服务治理之服务注册与发现

前言欢迎阅读往期系列:微服务设计学习(一)关于微服务和如何建模服务微服务设计学习(二)关于服务的集成在微服务大行其道的今天,服务的粒度被拆分得非常细,随之而来的是服务数量的迅速增长。在云原生的浪潮中,服务治理更多情况下与容器调度平台结合,共同形成一站式的自动化调度治理平台。当然无论是否使用基于容器的
微服务 2019年11月27日 119次浏览

微服务设计学习(二)关于服务的集成

前言微服务之间如何集成应该可以说是微服务相关技术中最重要的知识之一。具体可以表示成服务之间的调用方式、通信协议、序列化协议等。如果服务集成做得好,你的微服务可以最大程度地保持自治,你可以独立地修改和发布,相反,前期考虑得不周全的话,会给你带来灾难。本篇是微服务设计学习系列的第二篇(继上一篇发布居然已
微服务 2019年11月20日 96次浏览

向您生动地讲解Spring AOP 源码(3)

前言往期文章:SpringIoC-SpringIoC的设计SpringIoC-IoC容器初始化源码解析SpringIoC-依赖注入源码解析向您生动地讲解SpringAOP源码(1)向您生动地讲解SpringAOP源码(2)在上一章向您生动地讲解SpringAOP源码(2)中,作者介绍了【如何获取对应
Spring 源码 2019年11月12日 109次浏览

向您生动讲解Spring AOP 源码(2)

前言往期文章:SpringIoC-SpringIoC的设计SpringIoC-IoC容器初始化源码解析SpringIoC-依赖注入源码解析向您生动地讲解SpringAOP源码(1)在上一章向您生动地讲解SpringAOP源码(1)中,作者介绍了【开启AOP自动代理的玄机】和【自动代理的触发时机】。在
Spring 源码 2019年11月11日 113次浏览

代码以外的生存之道

愿所有自强不息、孜孜不倦地持续自我改进的开发人员都能在代码之外,找到自己的最佳生存之道。前言最近刚刚读完了一本书,深受启发,想和各位程序员同道分享一二,也强烈建议大家去阅读一下。这本书叫做《软技能:代码以外的生存之道》,本章的名字也截选与此。这本书虽说是一名程序员所写,但是通篇没有一行代码。但这确是
随笔 职业规划 程序员 2019年11月09日 138次浏览

向您生动地讲解Spring AOP 源码(1)

前言在SpringAOP-注解方式使用介绍(长文详解)中,作者介绍了SpringAOP注解方式的使用方式。算是给咱们的SpringAOP源码分析开了个头,做了一点知识点的铺垫。在开始学习SpringAOP的源码之前,如果你还没有学习过SpringIoC的源码,最好先去学习下SpringIoC。Spr
Spring 源码 2019年11月08日 99次浏览

Spring AOP - 注解方式使用介绍(长文详解)

前言之前的源码解析章节,本人讲解了SpringIOC的核心部分的源码。如果你熟悉SpringAOP的使用的话,在了解SpringIOC的核心源码之后,学习SpringAOP的源码,应该可以说是水到渠成,不会有什么困难。但是直接开始讲SpringAOP的源码,本人又觉得有点突兀,所以便有了这一章。Sp
Spring 2019年11月04日 131次浏览

[纯干货] 如何用Spring 原生注解 快速实现策略模式+工厂模式

前言这阵子在做项目组重构的工作,工作中的一部分就是就目前代码库中与企业交互的逻辑抽离出来,单独做一个微服务,实现企业交互逻辑的关注点分离。在这里面我很自然而然的就用到了策略模式+工厂模式的方式,包装内部实现细节,向外提供统一的调用方式,有效的减少if/else的业务代码,使得代码更容易维护,扩展。之
Spring 源码 2019年10月24日 119次浏览

Spring Bean 生命周期 (实例结合源码彻底讲透)

前言本篇文章主要是要介绍如何在SpringIoC容器中如何管理SpringBean生命周期。在应用开发中,常常需要执行一些特定的初始化工作,这些工作都是相对比较固定的,比如建立数据库连接,打开网络连接等,同时,在结束服务时,也有一些相对固定的销毁工作需要执行。为了便于这些工作的设计,SpringIo
Spring 源码 2019年10月21日 81次浏览

Spring IoC - 依赖注入源码解析

前言上一篇文章中,我们介绍了SpringIoC的容器初始化过程-IoC容器初始化本篇文章中,我们继续介绍SpringIoC依赖注入的过程和源码解读。还是如之前一样,为大家梳理一下步骤流程,以便于大家能在心里有个大概的脉络,更容易读懂源码,更容易抓住重点。主要内容:beanName解析转换手动注册Be
Spring 源码 2019年10月17日 98次浏览

Spring IoC - IoC 容器初始化 源码解析

前言本章主要内容是由以下部分组成,Spring中容器初始化入口以最经典的ClassPathXmlApplicationContext为例,讲解SpringIoC的容器初始化过程在学习源码的过程当中,我想强调两点:一定要学会抓重点,归纳核心类、核心方法、核心步骤。理解类、变量、方法名的命名,Sprin
Spring 源码 2019年10月15日 114次浏览

Spring IoC - Spring IoC 的设计

前言本文为解读SpringIoC模块源码的开篇介绍。介绍SpringIoC的相关概念与设计。WhatisIoC控制反转(InversionofControl,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(DependencyInje
Spring 源码 2019年10月14日 99次浏览

Spock in Java 慢慢爱上写单元测试

前言最近小组里面引进了Spock这个测试框架,本人在实际使用了之后,体验非常不错,本篇文章一是为了巩固输入的知识,二是为了向大家推广一下。在了解学习Spock测试框架之前,我们应该先关注单元测试本身,了解我们常见的单测痛点,这样才能更好地去了解Spock这个测试框架是什么,我们为什么要使用它,能解决
测试 Spock 单元测试 2019年10月08日 91次浏览