![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
分布式专题
文章平均质量分 86
分布式理论基础及业界主流的各种场景下分布式解决方案
八五年的湘哥
坚持原创,支持知识分享
展开
-
集成DTM实现跨语言分布式事务V1.0
DTM是一款开源的分布式事务管理器,解决跨数据库、跨服务、跨语言栈更新数据的一致性问题。通俗一点说,DTM提供跨服务事务能力,一组服务要么全部成功,要么全部回滚,避免只更新了一部分数据产生的一致性问题。原创 2023-08-16 15:27:38 · 411 阅读 · 0 评论 -
基于Redission实现分布式锁(注解版)
起两个或者更多的服务实例,操作同一个数据库(比如扣库存),然后通过nginx将这些服务实例进行负载均衡配置,通过jmeter或者其他压力测试工具实现并发访问,比较Service方法上加@Dislock和不加的区别。我们想通过注解方式无感实现分布式锁,必须要用到AOP的功能,而且是环绕通知(有do 有 return)生成lockKey,保证锁定资源的唯一性,并且只能解锁自己加的锁。主要是将RedissonClient与Redis数据库关联起来。原创 2023-04-28 15:22:10 · 1997 阅读 · 0 评论 -
序列化、反序列化原理和Protobuf实现机制
(1)Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程;(2)原创 2021-01-22 17:08:25 · 6555 阅读 · 1 评论 -
分布式架构的发展和演进之路
1、为什么要使用分布式架构1946年,世界上第一台电子计算机在美国的宾夕法尼亚大学诞生,它的名字是:ENICAC ,这台计算机的体重比较大,计算速度也不快,但是而代表了计算机时代的到来,再以后的互联网的发展中也有基础性的意义。计算机的组成是有五部分完成的,分别是:输入设备,输出设备,存储器,CPU里面有运算器和控制器,有一个冯诺依曼的模型非常形象的对象计算机的组成进行了描述,不过计算机也是有数据流,指令流,控制流来进行计算的和正常运转的。如图:ENIAC之后,电子计算机进入到了IBM主.原创 2021-01-22 14:40:30 · 1682 阅读 · 0 评论 -
HTTP以及HTTPS通信协议的原理分析
HTTP全称:HyperText Transfer Protocol (超文本传输协议),是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。想了解http,就需要了解TCP,IP协议。因为http是基于TCP,IP层上面的。原创 2021-01-22 17:05:03 · 1812 阅读 · 0 评论 -
远程通信协议RMI原理
1、前言在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS 等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地...原创 2021-01-22 17:12:10 · 6857 阅读 · 0 评论 -
数据库间数据迁移方案
本章节讨论的是不依托第三方开发语言,不通过业务逻辑的方式进行迁移,主要为运维提供的迁移方案。一般应用于历史数据的整体迁移,就为了这一次迁移写一堆的固定代码,不是很优雅的处理方式!核心:mysqldump 对源库表数据进行转存储,source命令创建临时源库表数据(通过一个Shell脚本说明,大家把以下具体配置项改成自己的,业务逻辑改成自己的,一键执行即可,其他迁移方案也类似)MongoDB To MySQL核心:通过mongoexport命令导出数据,通过load data infile导入数据(临时原创 2022-06-15 13:49:30 · 1472 阅读 · 0 评论 -
分布式全局ID生成方案
目录1、背景2、特性需求3、分布式ID的生成方案3.1 数据库自增ID3.2 批量生成ID3.3 UUID3.4 取当前毫秒数3.5 Redis生成ID3.6 snowflake算法(雪花算法)3.7 美团Leaf算法1、背景分布式架构下,唯一序列号生成是我们在设计一个系统,尤其是数据库使用分库分表的时候常常会遇见的问题。当分成若干sharding表后,如何能够快速拿到一个唯一序列号,是经常遇到的问题。在互联网的业务系统中,涉及到各种各样的ID,如在.原创 2021-03-09 23:50:26 · 743 阅读 · 2 评论 -
分布式锁解决方案实战
目录1、为什么要学习分布式锁解决方案2、分布式锁需要满足的几点3、synchronized锁在分布式情况下案例3.1 需求3.2 数据库脚本3.3 pom依赖3.4 spring配置3.5 启动类3.6 controller,service,dao,domain3.7 前端页面3.8 测试4、常见分布式锁的解决方案4.1 基于数据库的实现方式4.2 基于Redis缓存的实现方式4.3 基于Zookeeper的实现方式5、总结1、为什么.原创 2021-03-09 23:44:11 · 827 阅读 · 0 评论 -
分布式事务解决方案实战
分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。原创 2021-03-09 23:38:54 · 1883 阅读 · 2 评论 -
Session跨域共享及SSO解决方案实战
目录1、什么是Session跨域共享2、什么是SSO3、Session跨域共享简单实现3.1 Spring Session 共享 (了解)3.2 Nginx Session共享3.3 Token + Redis + Cookie机制3.4 Spring Security Oauth24、开源项目CAS应用4.1 CAS简介4.2 下载CAS Server并构建4.3 CAS Server部署4.4 CAS客户端项目4.5 拓展1、什么是Sessi.原创 2021-03-09 23:20:49 · 4705 阅读 · 1 评论 -
分布式定时任务调度实战
目录1、为什么需要定时任务2、定时任务调度框架2.1 单机2.2 分布3、xxl-job和elastic-job对比3.1 支持集群部署方式3.2 多节点部署任务执行方式3.3 日志可追溯3.4 监控告警3.5 弹性扩容缩容3.6 支持并行调度3.7 高可用策略3.8 失败处理策略3.9 动态分片策略3.10 总结和结论4、xxl-job实践4.1 下载源码4.2 执行数据库脚本4.3 配置调度中心文件4.4 部署调度中心.原创 2021-03-10 00:02:16 · 5374 阅读 · 0 评论