架构
文章平均质量分 57
Allen716
这个作者很懒,什么都没留下…
展开
-
springboot使用@Async CompleteableFuture完成多个任务的异步回调
简介最近对代码进行优化,遇到一个场景:一个方法对多个RPC同时发起调用,每个RPC的响应事件在200ms左右而且是不受控制,有同事使用异步进行了实现,参考网上查的一些资料,大部分是如下这种描述资料地址回调的核心代码如下// 三个任务都调用完成,退出循环等待 while (!task1.isDone() || !task2.isDone() || !task3.isDone()) { sleep(1000); }这种实现不够优雅,...原创 2020-12-16 11:32:38 · 4311 阅读 · 0 评论 -
yearning mysql 数据库审核工具功能设计概述
yearning是一款开源的数据库审核工具,提供查询审计,SQL审核等多种功能,手册地址https://guide.yearning.io/主要功能主要功能SQL查询 查询导出 查询自动补全 SQL审核 流程化工单 SQL语句检测 SQL语句执行 SQL回滚 SQL自动审核执行 历史审核记录 查询审计 推送 E-mail工单推送 自定义webhook消息推送 其他 LDAP登陆 用户权限及管理 权限组划分 本文是对yearn.原创 2020-06-29 16:30:00 · 1925 阅读 · 0 评论 -
springboot 统一异常处理
什么是统一异常处理Spring在3.2版本增加了一个注解@ControllerAdvice,可以与@ExceptionHandler、@InitBinder、@ModelAttribute 等注解注解配套使用,对于这几个注解的作用,这里不做过多赘述,若有不了解的,可以参考Spring3.2新注解@ControllerAdvice,先大概有个了解。不过跟异常处理相关的只有注解@ExceptionHandler,从字面上看,就是 异常处理器 的意思,其实际作用也是:若在某个Controller类定义一个转载 2020-06-05 10:15:04 · 5580 阅读 · 1 评论 -
springcloud 微服务模式下的系统上下文全链路传递
原创 2020-05-30 14:13:50 · 1239 阅读 · 0 评论 -
Spring Cloud Feign设计原理
什么是Feign?Feign 的英文表意为“假装,伪装,变形”, 是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求,这种请求相对而言比较直观。Feign被广泛应用在Spring Cloud 的...转载 2020-01-09 13:32:31 · 197 阅读 · 0 评论 -
Kong——Proxy文档
通过详细解释Kong的路由功能和内部工作原理来介绍Kong的代理功能Kong公开几个接口,可以调整两个配置属性:proxy_listen:定义了一个地址/端口列表——Kong将接受来自客户端的流量并代理上游服务 admin_listen:同样定义了一个地址/端口列表——但这些仅限于管理员访问从0.13.0版本开始,API实体被弃用,使用 Routes 及 Services 实体替代...转载 2019-12-31 10:37:57 · 1828 阅读 · 0 评论 -
springboot 参数验证 validation
1、综述springboot提供了强大的基于注解的、开箱即用的验证功能,这种基于bean validation的实现和 hibernate validator类似2、依赖创建springboot项目,包含以下依赖<dependency> <groupId>org.springframework.boot</groupId> <art...原创 2019-11-11 14:41:22 · 2578 阅读 · 0 评论 -
springboot 配置文件加密方案
springboot的config文件通常如下:spring.data.jdbc.url=jdbc:mysql://127.0.0.1:3305/test_dbspring.data.jdbc.username=rootspring.data.jdbc.password=123456通常会将敏感信息加密,一般的解决方案会在config的bean中进行逻辑解密代码的处理,但是不够优美,...原创 2019-11-06 19:42:58 · 2776 阅读 · 0 评论 -
Prometheus 搭建监控系统
Prometheus是一款基于时序数据库的开源监控告警系统,说起 Prometheus 则不得不提SoundCloud,这是一个在线音乐分享的平台,类似于做视频分享的 YouTube,由于他们在微服务架构的道路上越走越远,出现了成百上千的服务,使用传统的监控系统 StatsD 和 Graphite 存在大量的局限性,于是他们在 2012 年开始着手开发一套全新的监控系统。Prometheus ...转载 2019-08-27 19:57:15 · 2887 阅读 · 1 评论 -
Hadoop运行job程序报错 exitCode=255
hive查询sql使用order by的时候报return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask的错误,http://ip:10002/logs/hive.log查看hivelog错误堆栈2019-08-03T15:53:32,545 ERROR [HiveServer2-Background-P...原创 2019-08-03 16:22:39 · 3309 阅读 · 0 评论 -
Apache Druid架构原理与应用场景
Druid本质是一个分布式时序数据库,其设计恰好满足这个场景: Historical数据存储使用HDFS等成熟的分布式文件系统方案,高可用、水平扩容 Lambda架构,Realtime部分使用LSM-Tree实现,满足流数据的即时查询需求 下面从2方面,整理一下Druid的关键技术点: Druid架构设计 数据摄入 几个重要配置 当业务中出现以下情...原创 2019-07-12 10:00:04 · 3682 阅读 · 1 评论 -
金融大数据监控PSI(特征稳定性)指标详解
金融大数据评分系统监控模块需要根据评分结果判断当前评分服务是否正常,据对现有评分数据的分析,监控系统采用基于成熟的PSI指数的监控机制,通过把各种系统主要异常代码分别设立监控类别,结合目标评分的评分的分布,实现对如重大异常情况的监控,其中有一个指标PSI,统计学原理如下:特征稳定性所谓特征稳定性,就是关注该特征的取值随着时间的推移会不会发生大的波动。对特征稳定性的关注,一定一定要在建模...原创 2019-05-08 17:09:41 · 14438 阅读 · 0 评论 -
服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka
服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka这里就平时经常用到的服务发现的产品进行下特性的对比,首先看下结论:Feature Consul zookeeper etcd euerka 服务健康检查 服务状态,内存,硬盘等 (弱)长连接,keepalive 连接心跳 可配支持 多数据中心 ...原创 2019-01-27 16:31:36 · 225 阅读 · 0 评论 -
Grafana + Zabbix --- 部署分布式监控系统
阅读目录:1. 关闭防火墙2. 安装Zabbix下载源3. ZabbixClient --- 安装zabbix-agent代理4. ZabbixServer --- 安装zabbix-server服务5. ZabbixServer --- 配置zabbix-server的数据库6. ZabbixServer --- 配置zabbix-server的服务参数7. ...转载 2019-01-11 09:38:13 · 558 阅读 · 0 评论 -
Elastalert安装及使用
安装elastalert参考其他文章,结合自己实践经验稍作修改。简介Elastalert是用python2写的一个报警框架(目前支持python2.6和2.7,不支持3.x),github地址为 https://github.com/Yelp/elastalert。他提供不同场景的规则配置,若觉得规则、告警不满足需求时,可以用python编写插件Adding a New Rule Type...转载 2018-12-07 11:41:10 · 8032 阅读 · 2 评论 -
ELK6.0部署:Elasticsearch+Logstash+Kibana搭建分布式日志平台
一、前言1、ELK简介ELK是Elasticsearch+Logstash+Kibana的简称 ElasticSearch是一个基于Lucene的分布式全文搜索引擎,提供 RESTful API进行数据读写 Logstash是一个收集,处理和转发事件和日志消息的工具 Kibana是Elasticsearch的开源数据可视化插件,为查看存储在ElasticSearc...转载 2018-12-13 13:11:16 · 1039 阅读 · 0 评论 -
xxl-job 基于Quartz 的分布式任务调度平台
介绍XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 项目git地址 | 项目首页搭建项目、了解架构可以在项目官网学习。本文只做加强补充,如果没有涉及到的点可以提出,继续完善。...原创 2018-05-31 13:58:01 · 8020 阅读 · 2 评论 -
Quartz任务调度原理简析
1、Quartz任务调度的基本实现原理 Quartz是OpenSymphony开源组织在任务调度领域的一个开源项目,完全基于Java实现。作为一个优秀的开源调度框架,Quartz具有以下特点: (1)强大的调度功能,例如支持丰富多样的调度方法,可以满足各种常规及特殊需求; (2)灵活的应用方式,例如支持任务和调度的多种组合方式,支持调度数据的多种存储方式; (3)分布式和集群能...转载 2018-05-30 09:59:42 · 20508 阅读 · 0 评论 -
Redis在windows下安装与配置
一、安装Redis1. Redis官网下载地址:http://redis.io/download,下载相应版本的Redis,在运行中输入cmd,然后把目录指向解压的Redis目录。2、启动服务命令redis-server redis.windows.conf,出现下图显示表示启动成功了。3. 系统变量Path添加压缩包路径这样可以直接利用redis-cli而不需要每次进入redis的安装目录,如下...原创 2018-06-04 10:21:38 · 405 阅读 · 0 评论