
开发经验
博学de叫兽
这个作者很懒,什么都没留下…
展开
-
服务熔断降级简介
背景 在微服务中,当一切正常时,请求流看起来是这样的: 当其中有一个服务(例如服务I)有延迟时,它可能阻塞整个用户请求: 在高流量的情况下,一个依赖服务的延迟可能导致服务器上的所有资源在数秒内饱和,这也意味着后续再有请求将无法立即提供服务:解决方案 当使用熔断降级框架时,框架会包装每个依赖项,原有架构会发生变化,每个依赖项相互隔离,当延迟发生时,它会被限制在资源中,并包含回...原创 2020-04-09 14:28:31 · 5181 阅读 · 0 评论 -
Java8 Stream的各种使用姿势
Stream简介 Java 8 API添加了一个新的抽象称为流(Stream),它可以让你以一种声明的方式处理数据。这种风格将要处理的元素集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理,比如筛选,排序,聚合等。概括来说:Stream的出生就是为了代码好看、为了性能高如何Debug 在IDEA的Debug窗口找到Trace Current Stream Chain按钮...原创 2020-03-19 10:36:08 · 1532 阅读 · 0 评论 -
LocalDateTime用法大全
常规使用LocalDateTime now = LocalDateTime.now(); // 2020-01-29T14:35:51.207int year = now.getYear(); // 2020Month month = now.getMonth(); // JANUARYint monthValue = now...原创 2020-01-29 19:52:21 · 23948 阅读 · 0 评论 -
RabbitMQ消息队列的高可靠使用
整体解决方案 TopicExchange型交换机,会根据RouteKey将消息路由至匹配队列(推模式下,消息将被推送至消费者的监听函数处理),消息流转和路由的示意图如下。生产端可靠性保障 为防止消息在未发送到Broker前就由于网络原因或其他情况导致丢失,生产者端需要保障消息成功送达中间件,手段一般有两种,一是使用事务机制,但这种做法是非异步的,吞吐量性能较差;另一种是确认机制,本例...原创 2019-12-29 17:56:29 · 1037 阅读 · 0 评论 -
MySQL中的查询小技巧
数据表 一个简单的示例表,user_id为用户id外键,score为用户分数。使用 CASE WHEN 自定义排序优先级 用户分数查询系统中,首页列表按照分数降序排列,即原本应是如下顺序: 出于人性化考虑,当用户进入系统时,我们希望该用户的所有得分都在最前面显示,且不影响其他记录的排序。这时可以用CASE WHEN来自定义排序的优先级。写法①:简单CASE语句-- WHE...原创 2019-10-08 21:06:50 · 10779 阅读 · 0 评论