7 仰望星空的尘埃

尚未进行身份认证

我要认证

https://github.com/a422478514 我未曾见过一个早起、勤奋、谨慎、诚实的人抱怨命运不好;良好的品格,优良的习惯,坚强的意志,是不会被假设所谓的命运击败的。

等级
TA的排名 8k+

分布式链路追踪

分布式链路追踪(Distributed Tracing),也叫 分布式链路跟踪,分布式跟踪,分布式追踪 等等。本文使用分布式Trace来简称分布式链路追踪。本篇文章只是从大致的角度来阐述什么是分布式Trace,以及一个分布式Trace系统具备哪些要点和特征。场景先从几个场景来看为什么需要分布式Trace场景1开发A编写了一段代码,代码依赖了很多的接口。一个调用下去没出结果,或者超时了,Debug之后发现是接口M挂了,然后找到这个接口M的负责人B,告知B接口挂了。B拉起自己的调用和De

2020-07-13 23:39:22

怎样理解服务治理

自从微服务架构开始变得火热以后,越来越多的系统被拆解成了很多个细胞一样的微服务。设想一下,如果你的系统有100个微服务构成,要对这100个微服务进行管理,这绝对是一个不小的挑战。所以紧接着又出现了一堆让人头晕眼花的概念:服务注册发现,请求链路追踪,服务熔断,服务限流,服务管控配置,服务预警。还有就是一抓一大把的开源工具:Eurake,Zuul,Ribbon,hystrix,zipkin,dubbo,Sleuth,Elastic Search,grafna,Promethues。这样,当我们在说服务治理时

2020-07-13 23:28:37

Sleuth+Zipkin

https://blog.csdn.net/pengjunlee/article/details/87797969

2020-07-13 23:24:52

常见Mysql的慢查询优化方式

1、概念MySQL的慢查询,全名是慢查询日志,是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阀值的语句。具体环境中,运行时间超过long_query_time值的SQL语句,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是记录运行10秒以上的语句。默认情况下,MySQL数据库并不启动慢查询日志,需要手动来设置这个参数。当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志

2020-07-13 22:55:30

MySQL覆盖索引

一、覆盖索引覆盖索引(covering index)指一个查询语句的执行只用从索引中就能够取得,不必从数据表中读取。也可以称之为实现了索引覆盖。如果一个索引包含了(或覆盖了)满足查询语句中字段与条件的数据就叫做覆盖索引。二、覆盖索引实例1.未建立索引前select SQL_NO_CACHE count(name) from index_test where name = '小明' and id_card = '142701199999999999' and type = '2' and h.

2020-07-10 13:57:45

MySQL force Index 强制索引概述

以下的文章主要介绍的是MySQLforce Index 强制索引,以及其他的强制操作,其优先操作的具体操作步骤如下:我们以MySQL中常用的hint来进行详细的解析,如果你是经常使用Oracle的朋友可能知道,Oracle的hincvt功能种类很多,对于优化sql语句提供了很多方法。同样,在MySQL里,也有类似的hint功能。下面介绍一些常用的。强制索引MySQL FORCE INDEXSELECT*FROMTABLE1FORCEINDEX(FIELD1)…以上...

2020-07-10 13:54:42

MySQL优化之hints

大妈让我整理MySQL优化的一些工具和方法,整理到MySQL hints的时候,没有找到满意的中文文章,于是自己翻译了一篇关于MySQL hints的小文章。如下:每个程序员都喜欢优化,甚至有时我们知道不应该去做。为了满足大家的意愿,MySQL提供了一些关键字,在SQL语句中使用这些关键字,可以使得数据库按照明确的优化指令执行SQL语句。应当指出的是,不正确的使用hints很有可能使你的查询语句表现的更糟糕,在使用hints之前需要确保这是有意义的。通常你可以使用explain查看执行计划并阅读hi

2020-07-10 13:53:24

Java线程池异常处理

自定义线程池MyThreadPoolExecutor执行任务的时候,如果任务报错,也不会被导致线程池被销毁。因为底层实现会把任务抛出的异常catch住且不打印。

2020-07-09 16:45:31

kafka是push还是pull

BrokerKafka集群包含一个或多个服务器,这种服务器被称为brokerTopic每条发布到Kafka集群的消息都有一个类别,这个类别被称为topic。(物理上不同topic的消息分开存储,逻辑上一个topic的消息虽然保存于一个或多个broker上但用户只需指定消息的topic即可生产或消费数据而不必关心数据存于何处)Partitionparition是物理上的概念,每个topic包含一个或多个partition,创建topic时可指定parition数量。每个partition对

2020-07-09 09:41:05

关于LSM树

前言推出一个新系列,《看图轻松理解数据结构和算法》,主要使用图片来描述常见的数据结构和算法,轻松阅读并理解掌握。本系列包括各种堆、各种队列、各种列表、各种树、各种图、各种排序等等几十篇的样子。关于LSM树LSM树,即日志结构合并树(Log-Structured Merge-Tree)。其实它并不属于一个具体的数据结构,它更多是一种数据结构的设计思想。大多NoSQL数据库核心思想都是基于LSM来做的,只是具体的实现不同。所以本来不打算列入该系列,但是有朋友留言了好几次让我讲LSM树,那么就说一下L

2020-07-09 09:37:30

关于Redis热点key的一些思考

关于Redis热点key的一些思考昨天在和一个已经跳槽的同事聊天时,询问他这段时间面试时碰到的一些问题。自己也想积累一下这方面的知识。其中他说了在面试某赞公司时面试官问他关于热点Key的的解决方案。于是针对这次谈话以及上网查的一些资料后的思考进行一下总结。方便后续自己查阅。什么是热点Key其实对于热点Key,网上一查一大堆,这里我就引用网上的一段话。从基于用户消费的数据远远大于生产的数据的角度来讲,我们平常使用的知乎等软件时,大多数人平常仅仅只是浏览,并不会去提问问题、发表的文章,偶尔会发表

2020-07-09 09:28:52

Spring默认是否开启循环引用

测试Spring是否开启循环引用:GitHub:https://github.com/a422478514/java-practice/tree/master/src/main/java/com/daquan/_202007/_01/spring/cyclereferenceMyDemoA:package com.daquan._202007._01.spring.cyclereference;import org.springframework.beans.factory.annotat

2020-07-08 19:54:45

Spel表达式

8.Spring 表达式语言 (SpEL)8.1介绍Spring表达式语言(简称SpEl)是一个支持查询和操作运行时对象导航图功能的强大的表达式语言. 它的语法类似于传统EL,但提供额外的功能,最出色的就是函数调用和简单字符串的模板函数。尽管有其他可选的 Java 表达式语言,如 OGNL, MVEL,JBoss EL 等等,但 Spel 创建的初衷是了给 Spring 社区提供一种简单而高效的表达式语言,一种可贯穿整个 Spring 产品组的语言。这种语言的特性应基于 Spring 产品的..

2020-07-08 19:49:04

3次握手4次挥手

记得刚毕业找工作面试的时候,经常会被问到:你知道“3次握手,4次挥手”吗?这时候我会“胸有成竹”地“背诵”前期准备好的“答案”,第一次怎么怎么,第二次……答完就没有下文了,面试官貌似也没有深入下去的意思,深入下去我也不懂,皆大欢喜!作为程序员,要有“刨根问底”的精神。知其然,更要知其所以然。这篇文章希望能抽丝剥茧,还原背后的原理。什么是“3次握手,4次挥手”TCP是一种面向连接的单播协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的“连接”,其实是客户端和服务器的内存里保存的一份关于对

2020-07-08 17:41:29

Spring Aop详解

1. 什么是AOP?AOP是Aspect Oriented Programming的缩写,意思是:面向切面编程,它是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。可以认为AOP是对OOP(Object Oriented Programming 面向对象编程)的补充,主要使用在日志记录,性能统计,安全控制等场景,使用AOP可以使得业务逻辑各部分之间的耦合度降低,只专注于各自的业务逻辑实现,从而提高程序的可读性及维护性。比如,我们需要记录项目中所有对外接口的入参和出参,以便出现问题

2020-07-07 21:16:47

深入理解 Java try-with-resource 语法糖

背景众所周知,所有被打开的系统资源,比如流、文件或者Socket连接等,都需要被开发者手动关闭,否则随着程序的不断运行,资源泄露将会累积成重大的生产事故。在Java的江湖中,存在着一种名为finally的功夫,它可以保证当你习武走火入魔之时,还可以做一些自救的操作。在远古时代,处理资源关闭的代码通常写在finally块中。然而,如果你同时打开了多个资源,那么将会出现噩梦般的场景:public class Demo { public static void main(String[] a

2020-07-07 19:52:02

Srping配置文件属性注入

Spring中可以通过两种方式把资源文件中properties里的key-value注入到bean中。第一种:xml方式<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://w

2020-07-06 20:09:10

Lombok天天用,却不知道它的原理是什么?

作者:不学无数的程序员来自:urlify.cn/y2UnAn相信大家在项目中都使用过Lombok,因为能够简化我们许多的代码,但是该有的功能一点也不少。那么lombok到底是个什么呢,lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法啊,构造函数啊之类的,lombok的作用就是为了省去我们手动创建这些代码的麻烦..

2020-07-06 14:35:09

ContextClosedEvent和ContextStoppedEvent

这两个事件看起来都是等于容器要关闭,其实不然,close是spring容器真正销毁了才会触发,而stop事件只是容器把实现了Lifecycle的bean给stop了,还可以使用start将其重新启动。

2020-07-04 11:49:55

Spring常见面试题(超详细)

1、Spring是什么?Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。主要由以下几个模块组成:Spring Core:核心类库,提供IOC服务;Spring Context:提供框架式的Bean访问方式,以及企业级功能(JNDI、定时任务等);Spring AOP:AOP服务;S...

2020-07-04 11:12:40

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享小兵
    分享小兵
    成功上传3个资源即可获取