- 博客(6)
- 收藏
- 关注
原创 Docker-compose部署Eureka高可用
在项目中,分布式环境下微服务的治理要充分考虑发生故障的情况,单台Eureka实例是不足以增强系统的可用性的,Eureka是支持高可用集群部署的,Eureka所有的节点即是服务提供方,也是服务消费方,通过如下两个参数配置,默认是trueeureka.client.register-with-eureka=trueeureka.client.fetch-registry=trueEurek...
2018-08-20 22:15:50 2781 1
原创 使用RabbitMQ实现延迟队列
场景:在项目中1.用户确认一个订单,若30分钟之类没有支付,则需要取消订单,若用定时任务去扫描订单表,第一,定时任务时间如何定义,有存在漏扫的风险,第二,订单表数据庞大,扫描表非常消耗性能,这时候该功能可以引入RabbitMQ延迟队列来做2.某条活动通知在指定的一天推送给用户,可以用延迟队列 定义:延迟队列即发送一条消息给目标队列,并非让目标队列立即接受到消息,而是让消息等...
2018-08-20 16:07:30 478
转载 HashMap & concurrentHashMap 底层实现
前言Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它就不会有后面的 ConcurrentHashMap。 HashMap众所周知 HashMap 底层是基于 数组 + 链表 组成的,不过在 jdk1.7 和 1.8...
2018-08-15 11:51:30 163
原创 记项目中的一次Excel导入优化
业务场景: 商家后台发货支持Excel批量发货设置,当excel数据过万时,会导致上传excel失败,主要的性能瓶颈是微服务架构下的请求超时,到聚合微服务解析完Excel数据传输到订单微服务时,由于数据过于庞大,订单微服务处理时间较长,导致请求超时失败 解决方案:提高feign的超时配置 ribbon: ReadTimeout: 30000 ConnectTimeout: ...
2018-08-13 17:19:05 997
原创 RabbiMQ工作原理及简单使用
SpringBoot AMQP官方如下介绍:The Spring AMQP project applies core Spring concepts to the development of AMQP-based messaging solutions. It provides a "template" as a high-level abstraction for sending and ...
2018-08-09 17:52:05 347
原创 集成SpringCloudSleuth实现服务追踪
在微服务架构中,如果某一请求耗时非常严重,我们需要追踪到哪一块代码出现的耗时严重的问题,传统的做法是在调用其他服务的地方做请求耗时记录,如果耗时大则告知该微服务负责人优化代码,有时该微服务也会调用其他微服务,这些散落的公共代码不便维护,也很难定位问题,我们引入SpringCloudSleuth来进行分布式的服务追踪.去跟进一个请求到底有哪些服务参与,参与的顺序又是怎样,从而达到每个请求的步骤清晰可...
2018-08-06 23:17:43 258
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人