Fegin-声明式java Http客户端

什么是Feign? Feign : Declarative REST clients。 Feign 是Netfilx开源的一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Feign还支持可插拔的编码器与解码器,Spring Cloud 增加了对 Spring MVC的注解,Spring Web 默认使用了HttpMessageConverters, Spring Cloud 集成 Ribbon 和 Eureka 提供的负载均衡的HTTP客户端 Feign Fei...

阅读全文 »

mysql 连接异常Communications link failure

前言碎语 最近在监控线上日志时发现,时长会抛出如:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet successfully received from the server was 4,977,174 milliseconds ago. The last packet sent successfully to the server was 1 milliseconds ago 异常信息,通常见到如上异常,是因为应用使用了连接池管理连接,有些连接已经失效了,拿失效的连接去请求mysql导致的,这个就是经典的mysql八小...

阅读全文 »

Apollo分布式集中配置

Apollo分布式集中配置

1、What is Apollo 1.1 背景 随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、参数的配置、服务器的地址…… 对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制…… 在这样的大环境下,传统的通过配置文件、数据库等方式已经越来越无法满足开发人员对配置管理的需求。 Apollo配置中心应运而生! 1.2 Apoll...

阅读全文 »

Activiti工作流杂谈-工作机制详解

Activiti工作流杂谈-工作机制详解

前言碎语 以下内容为博主在公司内部分享的一个小文档,谈到了activiti的各方面内容,有需要的可留言要word原文件 Activiti 工作流分享 分享或多或少都要有所收获,无论分享者或听众,大家聚在一起,集思广益,或收获一个关键字,一种新技术,一种新的理解,一种新的视角,分享的意义即在于此,下面,为了使分享的意义最大化,请允许我花一两分钟时间讲下和技术无关的题外话 ...

阅读全文 »

spring boot整合mongo查询抛converter的异常

spring boot整合mongo查询抛converter的异常

前言碎语 使用过spring boot的人都知道spring boot约定优于配置的理念给我们开发中集成相关技术框架提供了很多的便利,集成mongo也是相当的简单,但是通过约定的配置信息来集成mongo有些问题。当你的字段包含 Timestamp这种类型时,读取数据的时候会抛一个类型转换的异常,如 No converter found capable of converting from type [java.util.Date] to type [java.sql.Timestamp],是因为,mongo本身时间类型为Date,在...

阅读全文 »

使用BlockingQueue队列处理高并发下的日志

使用BlockingQueue队列处理高并发下的日志

前言碎语 当系统流量负载比较高时,业务日志的写入操作也要纳入系统性能考量之内,如若处理不当,将影响系统的正常业务操作,之前写过一篇 《spring boot通过MQ消费log4j2的日志 》 的博文,采用了RabbitMQ消息中间件来存储抗高并发下的日志,因为引入了中间件,操作使用起来可能没那么简便,今天分享使用多线程消费阻塞队列的方式来处理我们的海量日志 waht阻塞队列? 阻塞队列...

阅读全文 »

SQL优化神器-SQLAdvisor

前言碎语 曾几何时,你为了一条sql效率寻遍互联网的每个角落,也许,你会读到这么一篇sql优化的文章 《MySQL索引原理及慢查询优化 》 ,然后你恍然大悟,sql索引还有一个叫 最左前缀匹配的原则,并不是一味的建索引就可以解决慢查询的问题。今天,有这样一个工具,在你还在思考如何最左前匹配的时候 ,他已经帮你解析快速分析出你的sql,并给出索引优化建议,是不是很nice,好...

阅读全文 »