
分布式
分布式
Quince Q
曾经的文学爱好者,现在的 Java 学习者。
展开
-
ES 实现自动补全功能
新建索引PUT /hot_search_index{ "mappings": { "properties": { "title":{ "type": "text", "analyzer": "ik_max_word", "fields": { "keyword":{ "type":"completion" } } } } }}原创 2021-04-03 22:11:09 · 937 阅读 · 0 评论 -
dubbo 自定义异常处理方案
传统的MVC异常处理在传统的 SpringMVC 开发的时候,层次结构经常是这样的。View — Controller — Service在这样的架构层次上做自定义业务异常处理,一般的方案是在用 Spring 的统一异常处理机制,即@ControllerAdvice加上@ExceptionHandler来捕获自己感兴趣的异常。如自定义异常如下:public class BaseQingChaException extends RuntimeException { private String原创 2020-09-02 15:28:38 · 2014 阅读 · 2 评论 -
Elk搭建古诗搜索实战
本文安装环境是macos,基于 elk 7.6.2搭建,不同版本之间略有差异,可以选择官网下载,也可以点击这里的的链接下载。软件下载地址提取码elasticsearchhttps://pan.baidu.com/s/1835hI05ZqT1LSCxGtDCBxQokyvkibanahttps://pan.baidu.com/s/1m6NzW4FbzHWpwsWz3AtmHgb6bvlogstashhttps://pan.baidu.com/s/1F8eANfMF原创 2020-07-04 23:55:07 · 400 阅读 · 0 评论 -
一文搞懂 Redis 从面试到应用
本文不定期更新。一、Redis 简介Redis 是一个开源的内存结构存储系统。可作于数据库、缓存和消息中间件。二、常用数据类型String 字符串。Hash 散列。List 列表。Set 集合。ZSet 有序集合。Stream 流(用于消息队列)。pub/sub三、 持久化方案RDB(Redis Database)。每间隔一段时间生成一个快照,快照生成则覆盖,只有一个...原创 2020-02-25 15:33:43 · 341 阅读 · 0 评论 -
Java 手写常用的负载均衡算法
随机普通随机随机负载是最简单的负载,通过在 [0,ip个数] 之间产生随机数获得 ip 地址。public class Random { public static final List<String> IP_LIST = new ArrayList<String>() {{ add("127.0.0.1"); add("127...原创 2020-03-04 13:54:35 · 399 阅读 · 0 评论 -
分布式 Session 问题及解决方案
本文参考曾宪杰著作《大型网站系统与Java中间件实践》HTTP 协议本身是无状态的,需要基于 HTTP 协议支持会话状态的机制。在会话开始时,分配一个唯一的会话标识(SessionId),通过 Cookie 把这个标识告诉浏览器,以后每次请求的时候,浏览器都会带上这个会话标识来告诉服务器请求是属于哪个会话的。当服务器变成集群部署的时候,通过负载均衡的方式分发请求到不同的机器上。如果第一次访问网...原创 2020-02-25 20:37:35 · 261 阅读 · 0 评论 -
分布式事务一致性解决方案
二阶段提交(2PC)方案二阶段提交(Two-phase Commit,2PC),需要引入协调者 Coordinator 来参与事务行为,并且最终决定是否提交事务。二阶段提交分为两个阶段:提交事务阶段协调者询问每个系统是否可以执行提交事务的操作每个系统执行本地事务,并写入本地的 Undo/Redo 日志,此时事务还没有提交。返回 yes/no 给协调者。执行事务阶段协调者...原创 2020-02-25 15:11:47 · 848 阅读 · 0 评论