分布式解决方案
文章平均质量分 73
aa
兮家小二
傻傻的小男孩,qq:1720696548 wx:1720696548
展开
-
LCN 错误: attempts to join the non-existent transaction group
分布式事务 lcn 错误:com.codingapi.txlcn.logger.AbstractTxLogger.error(AbstractTxLogger.java:70) - business code errorattempts to join the non-existent transaction grouprpc execute service error. action: joinGroup困扰了我一天,排除了各种可能性@Transactional 事务?jar 冲突?@Fe原创 2020-06-01 22:33:49 · 2201 阅读 · 1 评论 -
分布式事务LCN -- TM (服务端server ) + TC ( 客户端-spring-boot 使用)环境搭建及使用
LCN基本实现原理1.发起方与参与方都与我们的LCN管理器一直保持长连接;2.发起方在调用接口之前,先向LCN管理器申请一个全局的事务分组id;3.发起方调用接口的时候在请求头中传递事务分组id;4.参与方获取到请求头中有事务分组的id的,则当前业务逻辑执行完实现假关闭,不会提交或者回滚当前的事务。5.发起方调用完接口后,如果出现异常的情况下,在通知给事务协调者回滚事务,这时候事务协调则...原创 2020-03-20 21:15:09 · 2286 阅读 · 1 评论 -
springboot 使用 redis 监听 key 的过期回调( 模拟设置订单号超时时间, 触发修改订单状态业务逻辑)
一、配置redis.conf notify-keyspace-events "" 修改为 notify-keyspace-events Ex具体参考二、springboot 设置监听beng配置监听bingpackage cn.ws.config;import org.springframework.context.annotation.Bean;import org.s...原创 2020-02-21 17:11:59 · 4345 阅读 · 4 评论 -
基于 redis 生成分布式订单号(时间戳+分布式自增Id)
此工具类每秒可生成9999 个订单号,超过订单号会变成19位,请自行处理springboot整合 redis 的+ 生成订单号的demo地址:https://gitee.com/wslxm/spring-boot-redis1、实现步骤实现思路:使用14位时间戳 + 4位自增Id (位数不够自动填充0)获得时间戳:new SimpleDateFormat(“yyyyMMddHHmmss...原创 2020-02-20 16:24:13 · 3346 阅读 · 0 评论 -
分布式Token 工具类 GenerateToken (基于redis )
JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案,下面是一个基于分布式的 Token 生成器,需先配置redis使用api@Autowiredprivate GenerateToken generateToken;generateToken.createToken(String keyPrefix, String redisValue); /...原创 2020-01-08 08:25:33 · 1621 阅读 · 0 评论 -
分布式全局Id , 雪花算法工具类 SnowflakeIdUtils
封装使用SnowflakeIdUtils.nextId() 获取分布式全局Id/** * @description: 使用雪花算法生成全局id */public class SnowflakeIdUtils { private static SnowflakeIdWorker idWorker; static { idWorker = new SnowflakeIdWorker...原创 2020-01-08 08:16:29 · 1227 阅读 · 0 评论 -
用户登录设计之唯一登录
步骤说明登录流程分布式系统使用 redis 缓存用户登录信息 token = redis 的key, userId = redis 的 value ,单点系统可以使用session用户登录 --> 1.参数验证 --> 2、密码md5加密 – 3、 调用数据库验证 --> 4、登录成功生成toket 保存到redis --> 返回toket用户查询–&...原创 2020-01-03 16:41:28 · 2802 阅读 · 4 评论 -
分布式日志收集 ELK(elasticsearch + kibanba + logstash)
一、 ELK介绍ElK,即ElasticSearch+Logstash+KibanaElasticSearch是一个基于Lucene的开源分布式搜索服务器。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并...原创 2019-12-24 17:09:26 · 712 阅读 · 0 评论 -
Zookeeper 的数据结构,java基础操作及实现分布式锁 ,实现本地负载均衡
1、Zookeeper是什么?分布式开源框架,解决分布式协调工具2、Zookeeper 应用场景?1、rpc远程调用框架 + Zookeeper 注册中心命名服务)2、发布订阅(wathcher)3、负载均衡4、分布式通知(wathcher)5、Zookeeper 分布式锁 ,redis,springCloud 也可以实现6、使用Zookeeper 做分布式配置中心7、分布式队列...原创 2019-09-21 07:52:41 · 429 阅读 · 0 评论 -
job 定时任务的五种创建方式 || xxl-job 定时任务调度中心
一、job 定时任务的创建方式1、使用线程创建 job 定时任务/** * TODO 使用线程创建 job 定时任务 * @author 王松 * @date 2019/9/14 0014 22:12 */public class JobThread { public static class Demo01 { static long count...原创 2019-09-15 00:46:21 · 30968 阅读 · 13 评论 -
携程 Apollo (阿波罗)分布式配置中心,Linux下环境搭建与 springboot 整合使用(Quick Start)
一、 Apollo 是什么?二、 阿里云Linux下 Apollo 环境搭建1、搭建前环境1、 jdk1.7上。建议1.8 (当前1.8)2、 mysql 5.6.5上 (当前8.0)2、下载源码源码github地址:https://github.com/nobodyiam/apollo-build-scripts本文当前源码下载链接:https://pan.baidu.com/s...原创 2019-12-13 01:10:31 · 582 阅读 · 0 评论