Spring

Prometheus+Grafana可视化监控SpringBoot项目

时光毁灭记忆、已成空白 提交于 2021-02-12 08:29:58
原文地址: https://xeblog.cn/articles/7 Prometheus简介 简史 Prometheus受启发于Google的Brogmon监控系统(相似的Kubernetes是从Google的Brog系统演变而来),从2012年开始由前Google工程师在Soundcloud以开源软件的形式进行研发,并且于2015年早期对外发布早期版本。2016年5月继Kubernetes之后成为第二个正式加入CNCF基金会的项目,同年6月正式发布1.0版本。2017年底发布了基于全新存储层的2.0版本,能更好地与容器平台、云平台配合。 架构 特点 多维的数据模型(基于时间序列的k/v键值对)。 灵活的查询及聚合语句(PromQL)。 不依赖分布式存储,节点自治。 基于HTTP的pull模式采集时间序列数据。 可以使用pushgateway(prometheus的可选中间件)实现push模式。 可以使用动态服务发现或静态配置采集的目标机器。 支持多种图形及仪表盘。 相关概念 数据模型 Prometheus 存储的是时序数据, 即按照相同时序(相同的名字和标签),以时间维度存储连续的数据的集合。 监控样本 # HELP system_cpu_usage The "recent cpu usage" for the whole system # TYPE system_cpu

Spring Boot 2.0正式发布,新特性解读

白昼怎懂夜的黑 提交于 2021-02-12 07:19:45
作者|翟永超 Spring Boot 2.0 来啦,有哪些新特性?升级吗? 写在前面 北京时间 3 月 1 日,经过漫长的等待之后,Spring Boot 2.0 正式发布。作为 Spring 生态中的重要开源项目,Spring Boot 旨在简化创建产品级的 Spring 应用和服务。用户只需要"run"就能创建一个独立的,产品级别的 Spring 应用。 一经发布,Spring Boot 就迅速受到了开发者的亲睐,到目前为止,它已经有超过 2 万个 Star,1.6 万个 fork(2017 年 GitHub 排名前十)。而 Spring Boot 2.0 的酝酿已有一段时间,从去年 5 月 16 日发布 M1 版本,再到后来的 RC 版本,也已有近 1 年时间。 Spring 2.0 中引入了众多令人激动的新特性,包括支持 Java 9、HTTP/2、基于 Spring 5 构建、强力集成 GSON 等等。为了了解 Spring Boot 的整体发展历史,以及 2.0 中的重要更新,InfoQ 特邀请到 Spring Boot 专家、永辉云创架构师翟永超撰文解读。 Spring 帝国 Spring 几乎是每一位 Java 开发人员都耳熟能详的开发框架,不论你是一名初出茅庐的程序员还是经验丰富的老司机,都会对其有一定的了解或使用经验。在现代企业级应用架构中,Spring

精选的Spring Boot 面试题,帮你整理好了!

你。 提交于 2021-02-12 06:50:04
点击上方 成猿之路 ,选择 设为星标 优质文章,及时送达 今天跟大家分享下SpringBoot 常见面试题的知识。 1 什么是springboot ? 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件) 创建独立的spring引用程序 main方法运行 嵌入的Tomcat 无需部署war文件 简化maven配置 自动配置spring添加对应功能starter自动化配置 答:spring boot来简化spring应用开发,约定大于配置,去繁从简,just run就能创建一个独立的,产品级别的应用 2 Springboot 有哪些优点? -快速创建独立运行的spring项目与主流框架集成 -使用嵌入式的servlet容器,应用无需打包成war包 -starters自动依赖与版本控制 -大量的自动配置,简化开发,也可修改默认值 -准生产环境的运行应用监控 -与云计算的天然集成 3 如何重新加载Spring Boot上的更改,而无需重新启动服务器? 这可以使用DEV工具来实现。通过这种依赖关系,您可以节省任何更改,嵌入式tomcat将重新启动。 Spring Boot有一个开发工具(DevTools)模块,它有助于提高开发人员的生产力。Java开发人员面临的一个主要挑战是将文件更改自动部署到服务器并自动重启服务器。

【福利来了】B站 Java 精选视频,都帮你整理好了,拿去用!!!

人盡茶涼 提交于 2021-02-12 06:42:04
大家好,今天帮大家整理了一下b站上java相关的精华视频,供大家使用, 文末有福利 !!! 一、Java基础 尚硅谷宋红康(强力推荐) https://www.bilibili.com/video/av48144058 动力节点Java零基础教程视频 https://www.bilibili.com/video/av11361088 北京尚学堂高琪(推荐) https://www.bilibili.com/video/av30023103 求知讲堂:2019求知讲堂零基础Java入门编程视频教程高口碑无废话无尿点 https://www.bilibili.com/video/av76235341 尚硅谷Java8新特性+JUC+NIO https://www.bilibili.com/video/av71563078 二、数据结构与算法 郝斌-数据结构入门 https://www.bilibili.com/video/av6159200 尚硅谷韩顺平图解Java数据结构与算法 https://www.bilibili.com/video/av54029771 数据结构与算法基础-java版(颜群) https://www.bilibili.com/video/av33835237 清华大学-邓俊辉MOOC数据结构与算法全套 https://www.bilibili.com

SQL查询当天、本周、本月记录详解

試著忘記壹切 提交于 2021-02-12 06:24:09
--查询当天: select * from info where DateDiff(dd,datetime,getdate())=0 --查询24小时内的: select * from info where DateDiff(hh,datetime,getDate())<=24 --info为表名,datetime为数据库中的字段值 --查询当天: select * from table where DateDiff(dd,datetime,getdate())=0 --查询24小时内的: select * from table where DateDiff(hh,datetime,getDate())<=24 --table 为表名,datetime为数据库中的字段值 DATEDIFF 函数: 语法: select * from table where DateDiff(dd,datetime,getdate())=0 --查询24小时内的: select * from table where DateDiff(hh,datetime,getDate())<=24 备注: enddate 减去 startdate。如果 startdate 晚于 enddate,则返回负值。 如果结果超出整数值范围,则 DATEDIFF 将产生错误。对于毫秒,最大数是 24 天 20 小时 31

【java基础】从反射开始(Reflection)

你说的曾经没有我的故事 提交于 2021-02-12 04:44:18
Java学习笔记 https://github.com/SnailDev/java-learning 和我一起启程... 反射(Reflection) 定义 在运行状态中, 对于任意的一个类,都能够知道这个类的所有属性和方法; 对于任意的一个对象,都能够调用他的任意一个方法和属性; 这种动态获取类的信息以及动态调用对象的方法的功能称做Java的反射机制。 功能 只要给定类的全名,即可获取类的所用信息; 运行时获取任意一个对象所属的类对象; 运行时获取类中所有属性对象,可对其操作(包含私有属性); 运行时获取类中、父类中所有方法,可对其调用。 应用 目前主流的应用框架如Struts2、Hibernate、Spring、SpringMVC等的核心全部都是利用Java的反射机制来实现的。 组成 Class Constructor Field Method 类的类型(Class) 常用方法 getName() 获得类中完整名称 getDeclaredFields() 获取类中所有属性(含私有) getDeclaredMethods() 获取类中所有方法(含私有) getConstructors() 获取类的构造方法(不含私有) newInstance() 实例化类的对象(类的构造方法中参数需为空) 获取Class对象的方式 利用Class类forName(

DispatcherServlet初始化过程

醉酒当歌 提交于 2021-02-12 04:16:34
前言 我们知道在使用SpringMVC的时候,我们会在web.xml中配置如下内容,DispatcherServlet会拦截住所有的请求然后处理。 < context-param> < param-name>contextConfigLocation </ param-name> < param-value>classpath*:application-context.xml </ param-value> </ context-param> < listener> < listener-class>org.springframework.web.context.ContextLoaderListener </ listener-class> </ listener> < servlet> < servlet-name>dispatcher </ servlet-name> < servlet-class>org.springframework.web.servlet.DispatcherServlet </ servlet-class> < init-param> < param-name>contextConfigLocation </ param-name> < param-value>classpath*:spring-mvc.xml </ param-value> </

SpringBoot系列: 与Spring Rest服务交互数据

时间秒杀一切 提交于 2021-02-12 03:45:36
不管是单体应用还是微服务应用, 现在都流行Restful风格, 下图是一个比较典型的使用rest的应用架构, 该应用不仅使用database数据源, 而且用到了一个Weather微服务, 另一方面, 该应用也是通过rest方式为web UI 或其他微服务应用提供服务. ============================= 通过Postman 插件测试Rest接口 ============================= 之前使用postman 插件调试rest接口总报 415 Unsupported Media Type错误, 原因是: HEADERS中必须设置Content-type为application/json, 后台才能顺利接收到参数. 见下图截图. { "timestamp": "2018-09-07T06:49:57.620+0000", "status": 415, "error": "Unsupported Media Type", "message": "Content type 'text/plain;charset=UTF-8' not supported", "path": "/books" } ============================= 与 Rest 服务交互的几个环节 =============================

【spring boot】14.spring boot集成mybatis,注解方式OR映射文件方式AND pagehelper分页插件【Mybatis】pagehelper分页插件分页查询无效解决方法

ぃ、小莉子 提交于 2021-02-11 21:35:20
spring boot集成mybatis,集成使用mybatis拖沓了好久,今天终于可以补起来了。 本篇源码中,同时使用了Spring data JPA 和 Mybatis两种方式. 在使用的过程中一定要注意,JPA和Mybatis可以在同一个方法中调用,但是如果要保证事务一致性, 千万不要 把JPA的操作和Mybatis的操作放在一个事务中 项目GitHub地址: GitHub地址 spring boot 2.0 ================================================================== 注意点:   1.mybatis是有自动生成实体、Mapper映射类[实际是接口]、Mapper.xml映射文件的插件,插件名字叫【 mybatis generator 】,这里没有使用。   2.使用mybatis的话,是有两种实现方式的。     1》注解的方式     2》映射文件的方式   其实,注解的方式类似于JPA 的使用注解@Query()的方式。   整个使用下来,还是建议简单的CRUD操作,使用spring-data-JPA进行操作可以节省大量的代码量。   复杂的查询操作,就可以采用mybatis来完成,通过自己写sql语句提高灵活性,当然使用JPA来操作也可以完成。   3.第二点中的注解和映射文件两种方式

为什么有些大公司技术弱爆了?

血红的双手。 提交于 2021-02-11 21:18:26
这是我个人觉得蛮有意思的一篇文章,不是说里面的问题,而是两方暴露出来的问题现象,我们常说的业务价值和技术价值的权衡,其实精髓就在此,当然里面有些言论有些激烈,很多牢骚抱怨我们也有过,换个角度来想,也就释然了。这篇文章我看了很多遍,我喜欢看那些深刻的问题而不是个别敏感的字眼。所以推荐大家阅读也吸取有价值的思想,不要太拘泥于里面的个别表达方式。问题讨论的知乎链接为: https://www.zhihu.com/question/32039226/ ----------------------------------------------------------- 今年年初,到一家互联网公司实习,该公司是国内行业龙头。 不过技术和管理方面,却弱爆了。 那里的程序员,每天都在看邮件,查问题工单。 这些问题,多半是他们设计不当,造成的。 代码写的一团糟,全是复制粘贴,连作者都没改,大家普遍不写注释,也不格式化,代码歪歪扭扭。 一个项目里,httpclient竟然出现了四种。 一种是该公司研发部写的, 一种是老版本的开源项目, 一种是新版本的开源项目, 还有一种是开发人员造的轮子。 打接口请求响应日志,竟然不知道用拦截器。 打错误日志竟然不打上下文信息,每个人一种日志风格,千奇百怪。 许多重要的中间流程,居然不打日志。 idea、eclipse