2019年8月5日
摘要:
本文接着《Springboot Actuator之七:actuator 中原生endpoint源码解析1》,前面主要分析了原生endpoint的作用。 现在着重了解actuator的执行原理。 在前面一篇文章中,我们已经了解endpoint的暴露方式有http(spring MVC)协议,jmx协议
阅读全文
posted @ 2019-08-05 18:06
duanxz
阅读(7141)
推荐(1)
摘要:
看actuator项目的包结构,如下: 本文中的介绍Endpoints。 Endpoints(端点)介绍 Endpoints 是 Actuator 的核心部分,它用来监视应用程序及交互,spring-boot-actuator中已经内置了非常多的Endpoints(health、info、beans
阅读全文
posted @ 2019-08-05 11:41
duanxz
阅读(6192)
推荐(0)
posted @ 2019-08-05 10:40
duanxz
阅读(2)
推荐(0)
2019年8月2日
摘要:
今天有个别项目的jolokia的endpoint不能访问,调试源码发现:endpoint.enabled的开关导致的。 关于Endpoint, 《Springboot Endpoint之二:Endpoint源码剖析》 之前的几篇文章分析了spring boot 中有关endpoint的实现,细心的朋
阅读全文
posted @ 2019-08-02 17:55
duanxz
阅读(1087)
推荐(0)
2019年7月31日
摘要:
springboot的actuator内置了/health的endpoint,很方便地规范了每个服务的健康状况的api,而且HealthIndicator可以自己去扩展,增加相关依赖服务的健康状态,非常灵活方便而且可扩展。 /health实例 health的Status枚举 org.springfr
阅读全文
posted @ 2019-07-31 14:45
duanxz
阅读(2778)
推荐(0)
2019年7月30日
摘要:
springcloud线上一个问题,当config-server连不上git时,微服务集群慢慢的都挂掉。 在入口层增加了日志跟踪问题: org.springframework.cloud.config.server.environment.EnvironmentController.java @Re
阅读全文
posted @ 2019-07-30 19:29
duanxz
阅读(2253)
推荐(0)
2019年7月26日
摘要:
三种监听器的关系 ApplicationListener、SpringApplicationRunListeners、SpringApplicationRunListener的关系: SpringApplicationRunListeners类和SpringApplicationRunListene
阅读全文
posted @ 2019-07-26 18:12
duanxz
阅读(13871)
推荐(5)
摘要:
一、Spring初始化 应用场景:在spring容器启动完成后做一些初始化的动作(如加载数据等),常见的办法有: 定义静态常量,随着类的生命周期加载而提前加载(这种方式可能对于工作经验较少的伙伴,选择是最多的); 实现CommandLineRunner接口;容器启动之后,加载实现类的逻辑资源,已达到
阅读全文
posted @ 2019-07-26 17:24
duanxz
阅读(5488)
推荐(1)
摘要:
ApplicationContextInitializer是Spring框架原有的东西,这个类的主要作用就是在ConfigurableApplicationContext类型(或者子类型)的ApplicationContext做refresh之前,允许我们对ConfiurableApplicatio
阅读全文
posted @ 2019-07-26 17:22
duanxz
阅读(20349)
推荐(3)
2019年7月24日
摘要:
SpringBootServletInitializer 熟悉了SpringApplication的原理之后,我们再来了解SpringBootServletInitializer的原理就比较容易了。 public class ServletInitializer extends SpringBoot
阅读全文
posted @ 2019-07-24 16:35
duanxz
阅读(7160)
推荐(0)
2019年7月23日
摘要:
启动方式 方式1:在main方法中执行SpringApplication.run()这种方式来启动我们的工程 方式二:SpringApplication.run()的底层其实就是new了一个SpringApplication的对象 方式三:SpringApplicationBuilder 有时我们需
阅读全文
posted @ 2019-07-23 18:16
duanxz
阅读(10547)
推荐(0)
摘要:
先看示例 SpringBoot的启动很简单,在许多情况下,你可以委托给静态SpringApplication.run方法,代码如下: @SpringBootApplication public class MyApplication { public static void main(String[
阅读全文
posted @ 2019-07-23 11:05
duanxz
阅读(1986)
推荐(0)
2019年6月21日
摘要:
Spring Cloud 框架最底层核心的组件就是服务调用方式,一般Spring Cloud框架采用的是HTTP的调用框架,本文将在 Spring Cloud应用场景下,介绍组件OkHttp3的设计原理。 1. Spring Cloud的接口调用工作模式 Spring Cloud接口调用基本工作方式
阅读全文
posted @ 2019-06-21 18:31
duanxz
阅读(3418)
推荐(0)
2019年5月30日
摘要:
HystrixCommand在执行的过程中如何探测超时,本篇主要对此进行介绍说明。 1.主入口:executeCommandAndObserve #com.netflix.hystrix.AbstractCommand#executeCommandAndObserve private Observa
阅读全文
posted @ 2019-05-30 15:49
duanxz
阅读(1762)
推荐(0)
摘要:
springcloud微服务中, 服务间传输全局类参数,如session信息等。 Feign调用过程中,传递请求头: public class ForwardHeaderFeignRequestInterceptor implements RequestInterceptor { public st
阅读全文
posted @ 2019-05-30 15:26
duanxz
阅读(5069)
推荐(3)
2019年5月9日
摘要:
MongoDB与关系型数据库的建模还是有许多不同,因为MongoDB支持内嵌对象和数组类型。MongoDB建模有两种方式,一种是内嵌(Embed),另一种是连接(Link)。那么何时Embed何时Link呢?那得看两个实体之间的关系是什么类型。 一对一的关系:Embed,比如用户信息集合有Addre
阅读全文
posted @ 2019-05-09 15:49
duanxz
阅读(18415)
推荐(1)
2019年4月28日
摘要:
项目中用到了mongodb(3.x版本),业务上需要操作mongodb的多个collections,希望要么同时操作成功,要么回滚操作保持数据的一致性,这个实际上要求在mongodb上实现事务功能,在网上查了下资料,发现了两阶段提交的方案,不过网上基本上都是翻译,很少有人具体分析原理的,今天花了些时
阅读全文
posted @ 2019-04-28 17:51
duanxz
阅读(1850)
推荐(0)
2019年4月19日
摘要:
1. MongoDB 使用的锁 MongoDB 使用的是“readers-writer”锁, 可以支持并发但有很大的局限性当一个读锁存在,许多读操作可以使用这把锁,然而, 当一个写锁的存在,一个单一的写操作会”exclusively“持有该锁,同一时间其它写操作不能使用共享这个锁;举个例子,假设一个
阅读全文
posted @ 2019-04-19 17:53
duanxz
阅读(10146)
推荐(1)
摘要:
读写锁 Mongodb使用读写锁来来控制并发操作: 当进行读操作的时候会加读锁,这个时候其他读操作可以也获得读锁。但是不能或者写锁。 当进行写操作的时候会加写锁,这个时候不能进行其他的读操作和写操作。 所以按照这个道理,是不会出现同时修改同一个文档(如执行++操作)导致数据出错的情况。 而且按照这个
阅读全文
posted @ 2019-04-19 15:18
duanxz
阅读(3054)
推荐(1)
2019年4月18日
摘要:
1、http远程请求报错 内核参数修改:
阅读全文
posted @ 2019-04-18 17:59
duanxz
阅读(606)
推荐(0)
摘要:
《MongoDB部署架构之二:MongoDB复制集》 《MongoDB部署架构之三:Sharding》 1MongoDB常见部署架构 1.1单复制集 1.2复制集 1.3分片集群 2 MongoDB分片介绍 2.1 分片的目的 2.2 MongoDB几个基本概念 2.3 分片设计思想 2.3.1合理
阅读全文
posted @ 2019-04-18 15:54
duanxz
阅读(32627)
推荐(7)
摘要:
《MongoDB部署架构之二:MongoDB复制集》 《MongoDB部署架构之三:Sharding》 1.1 MongoDB复制集简介 一组Mongodb复制集,就是一组mongod进程,这些进程维护同一个数据集合。复制集提供了数据冗余和高等级的可靠性,这是生产部署的基础。 1.1.1 复制集的目
阅读全文
posted @ 2019-04-18 15:51
duanxz
阅读(4278)
推荐(0)
2019年3月20日
摘要:
环境准备 三台机器: vm-a 10.200.110.90 centos7vm-b 10.200.110.91 centos7vm-c 10.200.110.93 centos7Consul官网(https://www.consul.io/downloads.html)下载相应系统的consul可执
阅读全文
posted @ 2019-03-20 13:55
duanxz
阅读(35931)
推荐(2)
2019年3月13日
摘要:
Nacos 是阿里巴巴2018年7月份开源的项目,如其名, Naming Configuration Service ,专注于服务发现和配置管理领域。 Nacos 是什么?上面已经大概介绍了,更多详细内容可以从 官网 或 Github 了解。Nacos 能帮我们解决什么问题?本文围绕其“配置管理”功
阅读全文
posted @ 2019-03-13 16:58
duanxz
阅读(9628)
推荐(0)
2019年2月25日
摘要:
完成一套精准,漂亮图形化监控系统从这里开始第一步 为啥选择这些组件 Jolokia: Spring Boot 认可使用Jolokia来通过HTTP导出export JMX数据。你只需要在工程类路径中增加一些依赖项,一切都是开箱即用的。不需要任何额外的实现。 Telegraf: Telegraf支持通
阅读全文
posted @ 2019-02-25 18:55
duanxz
阅读(2237)
推荐(1)