E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Open-Falcon源码剖析
❤️ STL 序列式容器 vector 超硬核
源码剖析
❤️
目录前言第4章序列式容器4.1容器的概念与分类4.1.1序列式容器4.2vector4.2.1vector概述4.2.2vector定义摘要4.2.3vector的迭代器4.2.4vector的数据结构4.2.5vector的构造与内存管理4.2.6vector的元素操作前言国庆七天假宛如一天假,定睛一看又要上班…国庆档电影院热闹了不少,《长津湖》真的值回票价,吴京真不错,意外的是易烊千玺竟然演出
哪吒要进厂啦
·
2021-10-06 14:11
C++
STL标准模板库
stl
源码
c++
静态资源与首页展示【
源码剖析
】
如果是一个web应用,在main下面会有个webapp,之前都是将所有页面导在这里;现在springboot也有静态资源放置的位置,但是有规定!首先,了解一下静态资源映射规则!在idea界面doubleShift键:搜索WebMvcAutoConfiguration,SpringMVC的web配置都在这个配置类里面,其中有一个方法:addResourceHandlers添加资源处理第一种静态资源映
龍弟-idea
·
2021-09-30 20:43
源码剖析
java
maven
spring
boot
grpc-go
源码剖析
七十七之压缩特性介绍
从本小节开始介绍压缩特性相关原理。1、grpc框架原生支持哪些压缩协议?目前支持gzip压缩算法;在后面的章节,会提供代码,让grpc框架支持lz4压缩算法。2、grpc框架是如何支持不同的压缩算法的?grpc框架并不负责具体的实现压缩算法;grpc框架规定好处理流程,流程中可能会存在多个环节;只要压缩算法支持这个流程
grpc-go源码剖析与实战 图文专栏
·
2021-09-24 05:35
grpc-go源码剖析与实战
golang
grpc-go
grpc-go源码
grpc源码
架构师
Java并发编程之ReentrantLock实现原理及
源码剖析
目录一、ReentrantLock简介二、ReentrantLock使用三、ReentrantLock源码分析1、非公平锁源码分析2、公平锁源码分析前面《Java并发编程之JUC并发核心AQS同步队列原理剖析》介绍了AQS的同步等待队列的实现原理及源码分析,这节我们将介绍一下基于AQS实现的ReentranLock的应用、特性、实现原理及源码分析。一、ReentrantLock简介Reentran
·
2021-09-23 18:45
grpc-go
源码剖析
七十六之grpc框架是如何实现多路复用的?
本篇文章重点从源码的视角分析多路复用的原理;1、实现多路复用的基本思路?grpc底层是用http2作为传输协议的,HTTP2的最小传输数据单位是帧frame;帧又分为头帧,数据帧,Ping帧等;客户端的一次服务请求,需要有头帧,数据帧的组合才能完成;当某次服务请求的数据量超过了http2的帧的最大传输字节时,那么此时,应该如何来传输?肯定需要多个数据帧传输,才能完成;那么出现新的问题,怎么知道不同
grpc-go源码剖析与实战 图文专栏
·
2021-09-23 05:33
grpc-go源码剖析与实战
golang
grpc-go
grpc-go源码
rpc
架构师
grpc-go
源码剖析
七十五之多路复用简单介绍以及测试用例说明?
本小节开始介绍grpc框架中的多路复用相关原理。1、多路复用可以实现什么功能?或者可以使用在什么场景下?可以使用同一链接处理多个服务请求;同一服务的多次请求,或者不同服务的多次请求;从而提供了链接的利用率2、grpc框架为什么会选择HTTP2作为传输协议呢?至少原因之一:http1.1不支持多路复用;在HTTP1.1中每一次的请求都要建立一次连接;一个完整的服务请求,可能需要建立多次连接,既然多次
grpc-go源码剖析与实战 图文专栏
·
2021-09-22 05:10
grpc-go源码剖析与实战
golang
grpc-go源码
grpc-go
go编程
架构师
grpc-go
源码剖析
七十四之什么情况下服务器端通知客户端,双方关闭链接?(goAway帧处理逻辑)
本小节主要想分享的是服务器端向客户端发送goAway帧的逻辑,以及客户端是如何处理goAway帧的?达到的效果就是关闭连接。1、服务器端跟客户端交互处理goAway帧的流程图可以通过下图,简单了解服务器端跟客户端是如何处理goAway帧,是互相交互的过程。主要流程说明:(在启动keepalive的场景下)服务器端在处理goAway帧时,最多会经历三个阶段:第一阶段:服务器端向客户发送第一个goAw
grpc-go源码剖析与实战 图文专栏
·
2021-09-20 07:49
grpc-go源码剖析与实战
golang
grpc-go
grpc-go源码
grpc
rpc
grpc-go
源码剖析
七十三之客户端keepalive原理图介绍以及源码分析
本小节简单介绍一下客户端keepalive的原理。1、客户端keepalive的原理图客户端keepalive功能:主要是提供了针对是否接收到服务器端发送过来的数据的处理逻辑不提供针对链接处于idle状态,或者链接运行时长超过规定时长的处理逻辑。2、客户端keepalive源码分析2.1、客户端何时触发keepalive功能启动呢?跟服务器端建立链接的过程阶段,启动的keepalive功能。进入g
grpc-go源码剖析与实战 图文专栏
·
2021-09-17 05:02
grpc-go源码剖析与实战
golang
grpc-go
grpc
架构师
微服务
Open-falcon
aggregator表达式解析计算过程及其优化
以下面两个聚合规则为例,详解aggregator表达式的解析和计算过程,并提出可以优化的地方。#计算cpu.used.percent的平均值分子:$(cpu.used.percent)分母:$##计算cpu.idle+cpu.busy为100的机器个数分子:($(cpu.idle)+$(cpu.busy))>90分母:11.解析numberatorStr和denominatorStr分别是分子和分
·
2021-09-15 23:00
监控工具
Open-falcon
aggregator源码解析
aggregator组件负责聚合,即根据定义的指标表达式,聚合该组下所有host的指标值,生成新的指标发送到agent。agent会将数据发送给transfer,transfer发送给graph,最终由graph存入TSDB。值得注意的是,aggregator实例对分布式部署的支持有限,因为它每个实例都执行所有的聚合任务,没有进行聚合任务在不同节点的均分,也没有锁机制保障执行1个实例运行。当然,部
·
2021-09-15 21:55
监控工具
Open-falcon
judge告警判定表达式的解析
judge组件在做告警判定的时候,会解析配置的告警策略,生成一个fn,由fn.Compute()计算是否触发,比如:配置all(#3)>90表示最近3次的数据都>90触发;配置max(#3)>90表示最近3次的最大值>90触发;配置min(#3)90标识最近3次的avg>90触发;本文主要介绍fn如何生成,fn如何计算。1.告警判断告警判定的入口代码:讲解judge代码时有介绍ParseFuncF
·
2021-09-14 21:46
监控工具
Open-falcon
judge源码分析
judge模块使用历史数据进行告警判定,其历史数据保存在内存中(仅保存最近的数据),若触发告警,则发送event至redis,由alarm模块消费处理redis的事件。由于judge模块将最近的历史数据保存在内存,因此它是有状态的;当节点宕机时,内存中的历史数据将丢失。然而,由于监控数据会源源不断的上报,它会上报到其它judge节点,在其它节点重新进行告警判定。judge模块的职责:接收trans
·
2021-09-14 21:14
监控工具
SpringIOC原理-更加详细的
源码剖析
剖析源码前建议大家先看一下体系图大致了解一下SpringIOC的架构图ApplicationContext到BeanFactory的体系图ClassPathXmlApplication到ApplicationContext的体系图解本文以XML注册Bean为例详解SpringIOC原理一初始化工作第一步,我们肯定要从ClassPathXmlApplicationContext的构造方法说起。pub
名字是乱打的_闭关写项目中
·
2021-09-14 02:12
Open-falcon
graph使用RRD保存指标数据
Open-falcon
的graph组件使用rrd保存指标数据,rrd由于是本地存储,单机故障容易引起数据丢失,
Open-falcon
提供了双写的逻辑(transfer双写2个graph节点)以增强可用性
·
2021-09-13 23:19
监控工具
Open-falcon
hbs源码解读
hbs负责周期性的读取db中内容,缓存到本地cache,然后提供RPC接口以供agent和judge两个组件查询调用。//modules/hbs/rpc/rpc.gofuncStart(){server:=rpc.NewServer()server.Register(new(Agent))server.Register(new(Hbs))l,e:=net.Listen("tcp",addr)for
·
2021-09-13 22:17
监控工具
Open-falcon
集成Grafana的方法
Open-falcon
提供了Grafana的插件,可以将
Open-falcon
的指标数据作为数据源,显示到Grafana上。
·
2021-09-13 21:12
监控工具
Open-falcon
rpc长连接client
agent通过RCP向transfer发送metrics时,使用rpc长连接,通过net/rpc维护一个tcpconnection。agent封装了SingleConnRpcClient结构,来实现单连接rcpclient。1.SingleConnRpcClient如何使用的?agent对应的后端transfer有多个,只要向1个transfer发送成功就OK;发送时,先根据addr找可用的rpc
·
2021-09-13 20:39
监控工具
Spring IOC
源码剖析
_如何整体认知Spring体系结构
目录如何整体认知Spring体系结构一、来自官网的Spring二、Spring的优缺点三、一张图理解SpringFramework4.x四、详解“七层”宝塔1.核心容器(CoreContainer)2.数据访问/集成(DataAccess/Integration)层3.Web层4.AOP(AspectOrientedProgramming)模块5.植入(Instrumentation)模块6.消息
·
2021-09-13 17:00
Open-falcon
监控系统的选型
监控系统的特点:24Hour运行,没有业务低峰,持续在写;写多读少,相比于持续写入,查询请求很少;读取效率要求高:比如1s内返回1year的数据;Open-falconVSZabbix:zabbix有性能瓶颈:时序数据存储在MySQL,当监控项和机器较多时,性能下降的厉害;zabbix易用性的问题:要采集哪些数据,需要在server侧手工配置,更合理的是agent自己配置;Open-falconV
·
2021-09-12 18:19
监控程序监控工具
Open-falcon
semaphore的源码实现
semaphore即信号量,
Open-falcon
在将queue中的数据发送给graph时,用semaphore控制并发的goroutine数量,避免产生大量的发送goroutine。
·
2021-09-12 16:15
监控工具
Open-falcon
transfer中的一致性hash算法及其源码实现
transfer通过一致性hash算法,决定一条指标应该发送到哪个graph节点。transfer使用了toolkits/consistent提供的一致性hash实现,调用方法很简单://构造hash环GraphNodeRing=rings.NewConsistentHashNodesRing(int32(cfg.Graph.Replicas),cutils.KeysOfMap(cfg.Graph
·
2021-09-12 16:42
监控工具
Open-falcon
transfer发送judge的流程优化
Open-falcon
的处理是由transfer把所有的指标无脑发给judge,由judge判断该指标是否有告警规则关联。nightingale作为升级版的Open-f
·
2021-09-11 23:51
监控工具
Nacos源码系列——第三章(全网最经典的Nacos集群源码主线剖析)
上两个章节讲述了Nacos在单机模式下的服务注册,发现等
源码剖析
过程,实战当中其实单机是远远不够的,那么Nacos是如何在集群模式下是如何保证节点状态同步,以及服务变动,新增数据同步的过程的!
风清扬逍遥子
·
2021-09-11 22:16
Dubbo微服务专题
java
Nacos
Open-falcon
transfer源码解读
transfer可以理解为中转模块,它接收agent上报的指标,然后转发给后端的graph和judge实例。transfer接收到agent上报的指标后,先存储到内存queue,然后再由goroutine默默的将queue的数据Pop出来,转发给graph和judge。transfer后端接多个graph和judge实例,如何保证某一个指标稳定的转发到某个实例,同时还能保证多个graph间保持均衡
·
2021-09-11 21:48
监控工具
Open-falcon
agent源码解读
agent是指标采集模块,仅关注linux本身的监控指标,主要负责:定期进行指标采集,然后通过RPC上报给Transfer;向hbs发送heartbeat,同时从hbs获取要监听的process、port和要执行的plugin信息;定期执行plugin,将plugin的指标结果发送给Transfer;整体架构:1.指标采集代码入口:funcmain(){......cron.Collect()..
·
2021-09-11 21:47
监控工具
grpc-go
源码剖析
六十六之拦截器介绍
本节开始介绍拦截器interceptor相关原理;1、拦截器的分类可以分为:一元拦截器用户定义的拦截器只能有一个生效;特点是:在链式拦截器之前执行。一元链式拦截器有多个拦截器存在时,按照一定的顺序执行的;流式拦截器流式链式拦截器这里只介绍一元拦截器,一元链式拦截器。2、拦截器的使用场景?拦截器可以在以下场景中使用:日志,认证授权,指标统计等3、测试用例
grpc-go源码剖析与实战 图文专栏
·
2021-09-08 05:07
grpc-go源码剖析与实战
golang
grpc-go
docker
kubernetes
微服务架构
grpc-go
源码剖析
六十二之健康检测相关介绍
从本小节开始,介绍HealthChecking相关原理;1、健康检测HealthChecking是用来做什么的?或者说,健康检测用来解决什么问题?主要是解决以下场景:当服务器端的服务状态发生变化之后,如何通知客户端,客户端需要如何处理健康检测更适合服务端实例比较多的场景:当检测到某个服务实例中服务不能正常对外提供服务时,就可以重新选择另外一个服务实例进行连接。如果出问题的服务实例恢复正常后,还可以
grpc-go源码剖析与实战 图文专栏
·
2021-09-02 05:09
grpc-go源码剖析与实战
golang
grpc
grpc-go源码剖析
微服务架构
分布式架构
从c++标准库指针萃取器谈一下traits技法(推荐)
本篇文章基于gcc中标准库
源码剖析
一下标准库中的模板类pointer_traits,并且以此为例理解一下traits技法。说明一下,我用的是gcc7.1.0编译器,标准库源代码也是这个版本的。
·
2021-08-23 18:39
【
源码剖析
】goframe的”平滑“重启并不平滑?
首先说一下平滑重启的定义:优雅的重启服务,重启过程不会中断已经活跃的链接。我们熟知的nginxreload、php-fpmreload都是平滑重启,重启时,正在进行的请求依然能执行下去,直到超过指定的超时时间,而这里特别提一下php-fpmreload有个坑,它默认不是平滑重启的,因为process_control_timeout(设置子进程接受主进程复用信号的超时时间)的配置默认为0秒,代表超时
·
2021-08-21 21:33
golanggoframe
grpc-go
源码剖析
五十三之取消功能相关介绍以及测试用例介绍
从本小节开始,进入到cancellation功能介绍章节;1、取消功能相关介绍1.1、取消cancellation功能是用来做什么的?或者说实现什么效果?取消功能:允许客户端单方面主动取消正在执行的服务请求;服务器端接收到客户端的cancel取消指令后,会取消正在执行的任务。类似这种场景:用户购买商品时,进入支付阶段后,允许用户单方面主动停止,结束。
grpc-go源码剖析与实战 图文专栏
·
2021-08-21 08:58
grpc-go源码剖析与实战
grpc
golang
docker
kubernetes
微服务架构
记录一下linux 5.14 中 listen 的实现
源码剖析
源码版本:https://github.com/torvalds/l...d992fe5318d8d7af9510b879439a3c7f283da442入口搜索"sys_listen",可以看到
·
2021-08-20 22:57
grpc-go
源码剖析
五十一之场景三:在同一条链路上,发起多次rpc调用时,为什么第二次之后的头帧字节数非常小呢?
本次我们要模拟的场景是:在同一条链路上,发起多次rpc调用时,为什么第二次之后的头帧字节数非常小呢?本次测试用例所需要的代码,已经上传到百度网盘了。1、第1次调用SayHello方法时,抓取到的头帧情况?
grpc-go源码剖析与实战 图文专栏
·
2021-08-17 05:48
grpc-go源码剖析与实战
grpc
golang
docker
kubernetes
微服务架构
JVM(五)ClassLoader
源码剖析
1.类的关系图类的关系图关系图如下:image.png2.Launcher核心类的
源码剖析
image.png有一个Launcher类sun.misc.Launcher;publicclassLauncher
干天慈雨
·
2021-08-16 15:49
一篇带你解析入门LongAdder源码
3.2AtomicLong瓶颈分析4、LongAdder4.1LongAdder和AtomicLong性能测试4.2LongAdder为什么这么快4.3LongAdder实现原理4.4ongAdder
源码剖析
·
2021-08-11 13:47
【Golang】并发编程包之 errgroup
我们在之前的文章——
源码剖析
sync.WaitGroup(文末思考题你能解释一下吗?)
·
2021-08-08 22:41
golang并发编程
Redis源码环境构建过程详解
Redis源码环境构建近日,蒋德钧新上了一门Redis
源码剖析
的课程,应好友沈架构师的邀请,又重拾起了Redis源码学习。
·
2021-07-28 14:12
gRPC-go
源码剖析
之grpc服务器端在启动时都做了什么事情
这次分享一下当grpc服务器在启动时都做了什么事情?可以自己先思考一下,假设让我们自己去开发一个简单版本的grpc服务器端启动时都会做什么事情呢?a.一些初始化工作b.监听某个端口c.注册服务端提供的服务。。。。。好了,接下来看一下grpc-go框架服务器端启动时的流程图:grpc服务器端启动时都做了哪些事情在下面的章节中只是介绍了常用的初始化组件,有些功能需要手动显示的调用,或者import导入
码二哥
·
2021-07-28 06:41
grpc-go
源码剖析
三十一之客户端流ClientStream是如何接收服务器端的反馈结果呢?
前面文章已经分析了,grpc客户端是如何将请求服务的名称,请求方法名称,请求方法的具体参数值发送给grpc服务器端了; 那么,grpc服务器端就可以具体执行请求方法了; 现在的问题是,grpc服务器端执行完客户端的请求方法后,将执行结果反馈给客户端,站在客户端的一侧,如何接收grpc服务器端的反馈呢?也就是如何接收服务器端反馈的数据帧,如何将数据帧转换为请求方法的返回类型呢? 本篇文章将
grpc-go源码剖析与实战 图文专栏
·
2021-07-11 07:21
grpc-go源码剖析与实战
grpc
golang
docker
kubernetes
微服务架构
Binder系列4—获取ServiceManager
基于Android6.0的
源码剖析
,本文详细地讲解defaultServiceManager流程一.概述获取ServiceManager是通过defaultServiceManager()方法来完成,当进程注册服务
十年开发程序员
·
2021-06-27 04:22
一万字深度剖析Tomcat源码
整篇文章分为两大部分,Tomcat系统架构设计和Tomcat
源码剖析
。Tomcat系统架构设计1.前言很多人谈到架构感觉是一个非常高大尚的东西,觉得自己目前不太可能接触到或者没有实力接触和学习它。
渃汐湲
·
2021-06-26 15:09
HashTable源码解析
Hashtable
源码剖析
Has
小帝Ele
·
2021-06-26 15:52
open-falcon
架构介绍「原创」
open-falcon
整体架构下图是
open-falcon
的整体架构,模块比较多,可以看完整篇文章介绍再回头看这个架构图。
nops
·
2021-06-26 02:31
Spring -- IOC
源码剖析
一、BeanFactory及容器继承体系基础概念回顾BeanFactory是容器的顶级接口,它定义了容器的基础行为ApplicationContext是容器的高级接口,字面意思就是Spring应用上下文,官方称之为IOC容器错误的认识:容器就是map而已正确的认识:map是IOC容器的一个成员,叫做单例池(singletonObjects),容器是一组组件和过程的集合,包括BeanFactory,
Travis
·
2021-06-25 22:47
Picasso源码探究
使用的方法如下:Picasso.with(context).load(“imageurl”).into(imageView);
源码剖析
我们就根据图片显示的这一条流程下来,一步步探究。
rockman_
·
2021-06-25 03:38
web可用性监控系统 urlooker
三个组件都支持水平扩展,一台普通机器可以监控3000+个url,下面是一些介绍Feature返回状态码检测页面响应时间检测页面关键词匹配检测带cookie访问agent多机房部署,指定机房访问检测结果支持向
open-falcon
迭代思考
·
2021-06-24 11:31
破解 Kotlin 协程(2) - 协程启动篇
本文将为大家详细介绍协程的几种启动模式之间的不同,当然,我不打算现在就开始深入
源码剖析
原理,大家只需要记住这些规则就能很好的使用协程了。
Kotlin中文社区
·
2021-06-24 01:26
学习笔记(十五)Vue.js
源码剖析
- 响应式原理
Vue.js
源码剖析
-响应式原理准备工作Vue源码获取这里主要分析Vue2.6版本的源码,使用Vue3.0版本来开发项目还需要一段时间的过渡项目地址:Vue2.6https://github.com/vuejs
彪悍de文艺青年
·
2021-06-22 14:59
Tensorflow③ Keras的LSTM和TF的LSTM实现的
源码剖析
梅诗国原文链接:https://samuel92.blog.csdn.net/article/details/85089453【嵌牛导读】Tensorflow③Keras的LSTM和TF的LSTM实现的
源码剖析
意难平_37d9
·
2021-06-20 20:22
Lock锁子类了解一下
Thread
源码剖析
多线程基础必要知识点!看了学习多线程事半功倍Java锁机制了解一下AQS简简单单过一遍只有光头才能变强!
Java3y
·
2021-06-20 11:01
Open-Falcon
安装部署步骤
Open-Falcon
部署分为前端(客户端)/后端(服务端)和监控机器(agent部署)的安装注:机器量很小(exit#检查服务netstat-lntup显示tcp600:::3306:::*LISTEN12813
Jane_51
·
2021-06-20 09:09
上一页
19
20
21
22
23
24
25
26
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他