solr初探-安装使用

solr初探-安装使用

前言碎语 Solr是一个高性能,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,和Elasticseach一样是一款非常优秀的全文搜索引擎 写此文的目的也是看网上诸多的安装使用教程都比较老了,步骤也比较繁琐,下面介绍的方法简单高效 安装使用 前提是已经有...

阅读全文 »

读写分离--美团数据库中间件DBProxy

读写分离--美团数据库中间件DBProxy

前言碎语 好久没更博了,今天给大家分享一款数据库中间件- 美团DBProxy! 我们都知道,随着数据量的不断增大,传统的直连数据库对数据进行访问的方式已经无法满足一般公司的需求。相对于分库分表,通过数据库中间件,可以更简单轻松的对数据库进行水平扩展,由原来单台数据库扩展到多台数据库,数据库中间件通过路由规则将数据的访问请求路由到其中一台数据库上,从而大...

阅读全文 »

spring boot之retry方法调用失败重试

spring boot之retry方法调用失败重试

前言碎语 很多场景会用到重试的机制,比如:rpc服务调用失败重试,文件上传oss失败重试,http接口调用失败重试,支付回调失败重试等等,一切因为网络,非逻辑性错误等不确定因素引起的失败都可以加上重试的机制,来增强系统的健壮性,博主也处理过文件上传到第三方oss服务失败增加重试的事例,在这之前不知道spring有个spring-retry项目,所以采用的是限制次数的递归调用的方式...

阅读全文 »

spring boot通过MQ消费log4j2的日志

spring boot通过MQ消费log4j2的日志

前言碎语 当系统的并发比较高的时候,日志的处理输出也是一种性能的开销负担,所以,选择一个中间件来处理消费日志必不可少!下面是spring boot整合log42结合spring amqp来消费处理系统日志的实例,只需要简单的三步 1.添加相关jar依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactIdexclusionsexclusiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-logging/artifactId...

阅读全文 »

AMQP协议模型高阶概述

AMQP协议模型高阶概述

AMQP是什么 AMQP(高级消息队列协议)是一个网络协议。它支持符合要求的客户端应用(application)和消息中间件代理(messaging middleware broker)之间进行通信。 消息代理和他们所扮演的角色 消息代理(message brokers)从发布者(publishers)亦称生产者(producers)那儿接收消息,并根据既定的路由规则把接收到的消息发送给处理消息的消费者(consumers)。 由于AMQP是一个网络协议,所以这个过...

阅读全文 »

基于RabbitMQ+Hessian+spring实现远程RPC调用

基于RabbitMQ+Hessian+spring实现远程RPC调用

1.对Rpc的简单阐述 对RPC通俗的理解就是,调用远程服务和调用本地服务一样透明化无感知。使用过dubbo和motan的同学肯定有这种感觉。实现RPC调用过程,无非解决两个问题: 1.数据的传输:这里使用RabbitMQ来收发消息,保证消息的可靠性 2.请求和响应数据的序列化和反序列化:采用Hessian 如果有自己的序列化方案,还得确定传输的消息体结构,这里不做考虑 2.远程调用过程 首先:消费者...

阅读全文 »

angularjs实现下拉框多选

angularjs实现下拉框多选

前言碎语 博主最近又开始搞前端了,好心塞,有个需求需要用到下拉框多选,因为项目使用了angularjs,所有使用了一个开源的基于angular写的指令,在这里分享下,非angular可忽略 相关链接 github项目地址: https://github.com/dotansimha/angularjs-dropdown-multiselect 进入正题 这个指令依赖lodash.js ,所以如果项目使用了bower管理js的,需要同时引入 angularjs-dropdown-multiselect 和loadsh,如下,如果没使用bower...

阅读全文 »