
性能优化
占星安啦
积累开发技术的点点滴滴,每周进步一点点就好
展开
-
减少平均时延的策略
为了提高服务的高可用性,减少时延带来的诟病,采取减少平均时延策略, 可用方式有哪些?如何将此策略与现在流行的微服务框架结合,给出你熟悉微服 务框架的融合的设计方案。 服务调用(通信)可以分为以下几个层级 injvm 进程内 innative 主机内 instack 机架内 inzone 机房内 inregion 区域内 global 跨区域 在设计微服务调用时,尽量使用上面层级的,而不是下面层...原创 2020-01-07 14:26:27 · 1318 阅读 · 0 评论 -
观察者模式ApplicationListener异步处理事件
配置类中添加 @EnableAsync开启对异步任务的支持, 并在相应的方法中使用 @Async注解来声明一个异步任务 Environment 可以直接获取配置文件的值 @Configuration @EnableAsync public class TaskExecutorConfig { /*** * 创建异步任务执行线程池 * @return */ ...原创 2019-04-13 14:30:57 · 3285 阅读 · 0 评论 -
mybatis缓存单元测试
Dao接口 @Mapper public interface Ky_s_ship_miss_dtlDao { List<Map<String,Object>> list(Map<String,Object> map); } mapper.xml <?xml version="1.0" encoding="UTF-8"?> <!DOC原创 2019-01-03 14:17:48 · 305 阅读 · 0 评论 -
多线程分类处理数据
业务场景:消息队列消费端启动并发消费时,同一个单子的数据读写无法统一,比如一条线程判断缓存数为1,然后以这个结果做处理变为2,另一个线程提前已经操作变为2了。 解决方案: 手动编写线程,控制同一个单子始终在一条线程中,从而既保留多线程的处理效率,又保证了数据的准确。 实现思路:初始化线程时为每一个线程单独分配一个待处理队列Queue,建立一个线程管理的类,负责将数据提交到不同线程的Queue中,业...原创 2019-01-17 20:08:40 · 797 阅读 · 0 评论