![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集群/分布式
文章平均质量分 84
_吃Tom的Jerry
这个作者很懒,什么都没留下…
展开
-
自研cloud框架专题-通用lock框架(四)
集成分布式锁能力,starter依赖即可使用分布式锁能力抽象分布式锁的集成,方便快速切换分布式锁方案(目前支持jvm,redis,zookeeper)锁的调用基于spring lockRegistry以及java lock顶层接口,调用统一,支持多厂商实现(可同时使用),支持切换,支持扩展,支持多种锁类型,可重入锁,读锁,写锁等提供注解方式支持,并提供更强大方便的能力lock能力增强,支持本地预锁,事务感知,死锁检测提供方法级定制以及全局定制能力原创 2024-02-20 17:07:03 · 731 阅读 · 0 评论 -
netty专题-4.1.x版本-专题目录(一)
最近着手学习netty部分的内容,这里先占个位置。后续整理学习的内容到这里原创 2021-08-16 14:10:05 · 190 阅读 · 0 评论 -
扣款引发的思考
扣款这个场景在日常开发场景不是很常见,但是在面试中以该场景发散的面试题却不计其数。主要是扣款场景比较敏感,对于安全性要求很高,就像老是面试问你个秒杀(对性能要求搞)一样。最近就遇到了一个扣款的场景,遇到了一些问题,有些思考记录下来。 因为系统的保密性,这里用自己写的代码描述问题。扣款业务数据:这里模拟扣款动作核心的两个表,账户和资金流水。当业务需要扣款时,扣除账户余额,同时更新资金流水。一:环境搭建主要使用:Mysql,Springboot,myBatis1.数据库资金账户表CREATE.原创 2021-06-03 18:11:56 · 467 阅读 · 2 评论 -
Spring Cloud Alibaba专题--2.2.5.RELEASE--Dubbo作为RPC调用框架的使用(十一)
一:Dubbo介绍1.历史简介2011年10月27日,阿里巴巴开源了自己的SOA服务化治理方案的核心框架Dubbo,服务治理和SOA的设计理念开始逐渐在国内软件行业中落地,并被广泛应用2012年10月23日Dubbo2.5.3发布后,在Dubbo开源将满一周年之际,阿里基本停止了对Dubbo的主要升级。只在之后的2013年和2014年更新过2次对Dubbo2.4的维护版本,然后停止了所有维护工作。Dubbo对Srping的支持也停留在了Spring 2.5.6版本上在阿里停止维护和升级D原创 2021-04-22 16:22:50 · 7860 阅读 · 0 评论 -
Spring Cloud Alibaba专题–2.2.5.RELEASE–RPC介绍(十)
一:什么是RPC?RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。比如说,一个方法可能是这样定义的:Employee getEmployeeByName(String fullName)那么:首先,要解决通讯的问题,主要是通过在客户端和服务器之间建立TCP连接,远程过程调用的所有交换的数据都在这个连接里传输。连接可以是按需连接,调用结束后就断掉,也转载 2021-04-22 13:57:29 · 6449 阅读 · 0 评论 -
Spring Cloud Alibaba专题--2.2.5.RELEASE--Nacos作为注册中心的使用(八)
关于nacos服务端的使用可以参考Spring Cloud Alibaba专题–2.2.5.RELEASE–Nacos作为配置中心的使用(五),这里就不在赘述了一:Nacos服务的分级存储模型命名空间(namespace):命名空间属于Nacos顶层的结构,用于进行租户级别的隔离,我们最常用的就是不同环境比如测试环境,线上环境进行隔离。服务(Service):服务的概念就和我们平常的微服务一一对应,比如订单服务,物流服务等等。一个命名空间下可以有多个Service,不同的命名空间可以有相原创 2021-04-22 13:29:04 · 8233 阅读 · 0 评论 -
Spring Cloud Alibaba专题--2.2.5.RELEASE--注册中心介绍(七)
本文转自:架构设计之微服务注册中心选型1.数据模型:注册中心的核心数据是服务的名字和它对应的网络地址,当服务注册了多个实例时,我们需要对不健康的实例进行过滤或者针对实例的一些特征进行流量的分配,那么就需要在实例上存储一些例如健康状态、权重等属性。随着服务规模的扩大,渐渐的又需要在整个服务级别设定一些权限规则、以及对所有实例都生效的一些开关,于是在服务级别又会设立一些属性。再往后,我们又发现单个服务的实例又会有划分为多个子集的需求,例如一个服务是多机房部署的,那么可能需要对每个机房的实例做不同的配置,这样转载 2021-04-21 16:52:05 · 358 阅读 · 0 评论 -
Spring Cloud Alibaba专题--2.2.5.RELEASE--Nacos作为配置中心的使用(五)
一:Nacos服务端的使用1.安装包下载首先到nacos的官网下载nacos的服务端,由于,由于我使用的Spirng Cloud Alibaba的版本是2.2.5.RELEASE,根据上一篇中Spring Cloud Alibaba专题–2.2.5.RELEASE–Spring Cloud Alibaba介绍(三)–组件版本关系,应该下载1.4.1版本的nacos服务端2.启动Nacos服务端cd到nacos的bin目录下,启动命令(standalone代表着单机模式运行,非集群模式):sh st原创 2021-04-21 15:38:15 · 9797 阅读 · 3 评论 -
Spring Cloud Alibaba专题--2.2.5.RELEASE--配置中心选型(四)
目前市场上常用的配置中心有Spring Cloud Config、Apollo、disconfi及Nacos,每个中间件的能力相似,又存在部分偏差,我直接用的排除法Spring Cloud Config已经不维护了,所以第一个排除至于disconf很久都不维护了,如果用过的还好,我没用过。说实话,剩下的就是Nacos了,看看功能点:功能点Spring Cloud ConfigApolloNacos开源时间2014.92016.52018.6配置实时推送原创 2021-04-20 20:32:24 · 7634 阅读 · 0 评论 -
Spring Cloud Alibaba专题--2.2.5.RELEASE--Spring Cloud Alibaba介绍(三)
引子:上文,Spring Cloud Alibaba专题–服务层的架构演进(二)中说到,微服务的架构搭建因为门槛过高,尝试搭建微服务架构的过程像更像是从入门到放弃的劝退过程。就像初期的Spring一样。Spring虽然相比老一代strus2架构搭建简单了很多,但是其配置复杂度仍然让很多人诟病。针对这个问题,Spring官方推出了Spring boot。通过约定大于配置的规范,以及大量默认开箱即用的starter,使得Spring的配置极大的简化,那么微服务门槛高的问题是不是也能照葫芦画瓢呢?Spring原创 2021-04-20 18:17:50 · 9981 阅读 · 0 评论 -
Spring Cloud Alibaba专题--2.2.5.RELEASE--服务层的架构演进(二)
前言1.本专题使用的Spring Cloud Alibaba的版本为2.2.5.RELEASE,对应的Spring Cloud 版本为Hoxton.SR8,可能存在与其他版本不一致的配置或功能,如需自己动手测试注意版本数据层的扩展之前聊过关于数据中间件的微服务架构,使用的核心组件就是Sharding Sphere。事实上整个数据层的架构演变是基于业务数据驱动的,当业务数据量及访问量逐渐增大,我们不得不演进数据层的架构使得数据层能够抗住更多的并发量以及获得更快的性能。在架构演进的过程中,随着垂直横向拆分原创 2021-04-20 15:58:50 · 6807 阅读 · 1 评论 -
Spring Cloud Alibaba专题--2.2.5.RELEASE--专题目录结构(一)
Spring Cloud Alibaba专题–目录结构(一)Spring Cloud Alibaba专题–为什么使用Spring Cloud Alibaba(二)(TODO)Spring Cloud Alibaba专题–Spring Cloud Alibaba介绍(三)(TODO)Spring Cloud Alibaba专题-- 配置中心介绍(四)(TODO)Spring Cloud Alibaba专题-- Nacos作为配置中心的使用(五)(TODO)Spring Cloud Alibaba专.原创 2021-04-19 20:13:48 · 6888 阅读 · 2 评论 -
ShardingSphere应用专题–4.1.1版本–Sharding-Scaling实现弹性伸缩(十七)
先占个位置原创 2021-04-02 19:27:33 · 9723 阅读 · 8 评论 -
ShardingSphere应用专题–4.1.1版本–Sharding-Proxy的使用(十六)
先占个位置原创 2021-04-02 16:22:27 · 9469 阅读 · 0 评论 -
ShardingSphere应用专题–4.1.1版本–Sharding-UI的使用(十五)
前言1.基础的环境介绍请移步ShardingSphere应用专题–4.1.1版本–sharding jdbc环境搭建(四)你可以同时打开两个页面,避免因查找原始配置上下翻动。2.ShardingSphere官方文档更新不及时,很容易踩坑。贴出的4.x版本文档实际是4.0.1版本的,如果你准备使用该版本可以参考官方文档。本文使用的是此时最新的正式版本4.1.1版本,配置与官方文档配置不同。事实上,源码中有非常详细的版本配置文档,本文也是参考4.1.1 tag的源码配置。3.ShardingSphere原创 2021-03-30 21:25:38 · 8445 阅读 · 0 评论 -
ShardingSphere应用专题--4.1.1版本--服务治理(十四)
前言1.基础的环境介绍请移步ShardingSphere应用专题–4.1.1版本–sharding jdbc环境搭建(四)你可以同时打开两个页面,避免因查找原始配置上下翻动。2.ShardingSphere官方文档更新不及时,很容易踩坑。贴出的4.x版本文档实际是4.0.1版本的,如果你准备使用该版本可以参考官方文档。本文使用的是此时最新的正式版本4.1.1版本,配置与官方文档配置不同。事实上,源码中有非常详细的版本配置文档,本文也是参考4.1.1 tag的源码配置。3.ShardingSphere原创 2021-03-30 20:40:49 · 8797 阅读 · 11 评论 -
ShardingSphere应用专题--4.1.1版本--Sharding-JDBC 字段加密之自定义加密策略(十一)
前言1.基础的环境介绍请移步ShardingSphere应用专题–4.1.1版本–sharding jdbc环境搭建(四)你可以同时打开两个页面,避免因查找原始配置上下翻动。2.ShardingSphere官方文档更新不及时,很容易踩坑。贴出的4.x版本文档实际是4.0.1版本的,如果你准备使用该版本可以参考官方文档。本文使用的是此时最新的正式版本4.1.1版本,配置与官方文档配置不同。事实上,源码中有非常详细的版本配置文档,本文也是参考4.1.1 tag的源码配置。3.ShardingSphere原创 2021-03-30 14:43:20 · 8799 阅读 · 0 评论 -
ShardingSphere应用专题--4.1.1版本--Sharding-JDBC 字段加密之已上线业务加密(十)
前言1.基础的环境介绍请移步ShardingSphere应用专题–4.1.1版本–sharding jdbc环境搭建(四)你可以同时打开两个页面,避免因查找原始配置上下翻动。2.ShardingSphere官方文档更新不及时,很容易踩坑。贴出的4.x版本文档实际是4.0.1版本的,如果你准备使用该版本可以参考官方文档。本文使用的是此时最新的正式版本4.1.1版本,配置与官方文档配置不同。事实上,源码中有非常详细的版本配置文档,本文也是参考4.1.1 tag的源码配置。3.ShardingSphere原创 2021-03-30 14:42:24 · 8410 阅读 · 3 评论 -
ShardingSphere应用专题--4.1.1版本--Sharding-JDBC 字段加密之新业务加密(九)
前言:1.基础的环境介绍请移步ShardingSphere应用专题–4.1.1版本–sharding jdbc环境搭建(四)你可以同时打开两个页面,避免因查找原始配置上下翻动。2.ShardingSphere官方文档更新不及时,很容易踩坑。贴出的4.x版本文档实际是4.0.1版本的,如果你准备使用该版本可以参考官方文档。本文使用的是此时最新的正式版本4.1.1版本,配置与官方文档配置不同。事实上,源码中有非常详细的版本配置文档,本文也是参考4.1.1 tag的源码配置。3.ShardingSpher原创 2021-03-30 14:38:42 · 8552 阅读 · 3 评论 -
ShardingSphere应用专题--4.1.1版本--Sharding-JDBC应用注意点(八)
前言:1.基础的环境介绍请移步ShardingSphere应用专题–4.1.1版本–sharding jdbc环境搭建(四)你可以同时打开两个页面,避免因查找原始配置上下翻动。2.ShardingSphere官方文档更新不及时,很容易踩坑。贴出的4.x版本文档实际是4.0.1版本的,如果你准备使用该版本可以参考官方文档。本文使用的是此时最新的正式版本4.1.1版本,配置与官方文档配置不同。事实上,源码中有非常详细的版本配置文档,本文也是参考4.1.1 tag的源码配置。3.ShardingSpher原创 2021-03-29 17:23:45 · 11699 阅读 · 2 评论 -
ShardingSphere应用专题--4.1.1版本--Sharding-JDBC读写分离+分库分表(七)
前言:1.基础的环境介绍请移步ShardingSphere应用专题–4.1.1版本–sharding jdbc环境搭建(四)你可以同时打开两个页面,避免因查找原始配置上下翻动。2.ShardingSphere官方文档更新不及时,很容易踩坑。贴出的4.x版本文档实际是4.0.1版本的,如果你准备使用该版本可以参考官方文档。本文使用的是此时最新的正式版本4.1.1版本,配置与官方文档配置不同。事实上,源码中有非常详细的版本配置文档,本文也是参考4.1.1 tag的源码配置。3.ShardingSpher原创 2021-03-29 15:12:30 · 7620 阅读 · 0 评论 -
ShardingSphere应用专题--4.1.1版本--Sharding-JDBC分库分表(六)
前言:1.基础的环境介绍请移步ShardingSphere应用专题–4.1.1版本–sharding jdbc环境搭建(四)你可以同时打开两个页面,避免因查找原始配置上下翻动。2.ShardingSphere官方文档更新不及时,很容易踩坑。贴出的4.x版本文档实际是4.0.1版本的,如果你准备使用该版本可以参考官方文档。本文使用的是此时最新的正式版本4.1.1版本,配置与官方文档配置不同。事实上,源码中有非常详细的版本配置文档,本文也是参考4.1.1 tag的源码配置。3.ShardingSpher原创 2021-03-27 18:33:02 · 9923 阅读 · 0 评论 -
ShardingSphere应用专题--4.1.1版本--Sharding-JDBC读写分离(五)
前言:1.基础的环境介绍请移步ShardingSphere应用专题–4.1.1版本–sharding jdbc环境搭建(四)你可以同时打开两个页面,避免因查找原始配置上下翻动。2.ShardingSphere官方文档更新不及时,很容易踩坑。贴出的4.x版本文档实际是4.0.1版本的,如果你准备使用该版本可以参考官方文档。本文使用的是此时最新的正式版本4.1.1版本,配置与官方文档配置不同。事实上,源码中有非常详细的版本配置文档,本文也是参考4.1.1 tag的源码配置。3.ShardingSpher原创 2021-03-25 21:10:23 · 8419 阅读 · 1 评论 -
ShardingSphere应用专题--4.1.1版本--Sharding-JDBC环境搭建(四)
1.环境搭建:2.数据库安装:3. 数据库sql:CREATE DATABASE IF NOT EXISTS mydb;DROP TABLE IF EXISTS `mydb`.`bill`;CREATE TABLE `mydb`.`bill` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `bill_name` varchar(255) NOT NULL DEFAULT '' COMMENT '账单名称',原创 2021-03-19 10:30:59 · 9559 阅读 · 3 评论 -
ShardingSphere应用专题--4.1.1版本--版本介绍及功能点汇总(三)
前言:ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。ShardingSphere定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。 它与NoSQL和转载 2021-03-18 21:38:02 · 8342 阅读 · 2 评论 -
ShardingSphere应用专题--常见数据库架构的演进(二)
开始阶段:阶段1这个时候项目伊始,怎么简单怎么来自然是使用单一的数据库架构。阶段2随着时间的推移,数据库存储的数据没有超过1TB,存储压力不是很大。但是数据访问量上来了,数据库的链接数及IO吞吐量成为系统瓶颈。这个时候,主从上场:由于主从分离,单一数据库的访问量降低,磁盘IO也随之降低。且随着访问量继续升级,增加从库可以很好的降低系统压力。又没过多久,随着数据量的激增,此时数据库数据量太大。这个时候要分两种情况:阶段3-1整个库的存储早已超过了1TB,且数据量基本平均分布在多个表中,单表最原创 2021-03-18 21:08:36 · 7826 阅读 · 0 评论 -
ShardingSphere应用专题–4.1.1版本–章节导航(一)
1.单一架构如图所示,这是单一DB的应用架构最常见的使用方式,业务操作基本都是在一个应用中完成的。优点:种架构适合项目周期短、业务简单或者复杂项目前期使用。短平快,简单。缺点:数据容载量差,没有任何扩展性。2.读写分离(主从复制)架构读写分离的架构就是把我们系统中读操作和写操作分离开,通常写操作的节点叫做Master节点,读操作的节点叫做slave,或者叫做主节点和从节点。其中从节点可以部署多个,来分摊读取数据的压力。适合数据库层访问压力较大,读多写少的场景(现在互联网项目基本都是读多写少原创 2021-03-18 20:36:02 · 8154 阅读 · 2 评论 -
由Seata看分布式事务取舍
微服务兴起这几年涌现出不少分布式事务框架,比如ByteTCC、TCC-transaction、EasyTransaction以及最近很火爆的Seata。最近刚看了Seata的源码(v0.5.2),借机记录一下自己对分布式事务的一些理解。(3年前这类框架还没成熟,项目需要自己也写过一个柔性事务框架)本文分五部分,首先明确分布式事务概念的演变,然后简单说下为什么大家不用XA,第三部分阐述两阶段提交的提升,第四部分介绍Seata的架构的亮点与问题,第五部分谈下分布式事务的取舍。 限于篇幅一些网上可搜索的细节本文转载 2020-05-14 21:10:20 · 487 阅读 · 0 评论 -
Zookeeper的功能以及工作原理
1.ZooKeeper是什么?ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户2.ZooKeeper提供了什么?1)文件系统2)通知机制3.Zookeeper文件系统每个子目录项如...转载 2018-09-11 10:05:47 · 172 阅读 · 0 评论 -
高效的Java序列化(目前市场上几乎所有的序列化方式排排坐)
序列化漫谈dubbo RPC是dubbo体系中最核心的一种高性能、高吞吐量的远程调用方式,我喜欢称之为多路复用的TCP长连接调用,简单的说:长连接:避免了每次调用新建TCP连接,提高了调用的响应速度多路复用:单个TCP连接可交替传输多个请求和响应的消息,降低了连接的等待闲置时间,从而减少了同样并发数下的网络连接数,提高了系统吞吐量。dubbo RPC主要用于两个dubbo...转载 2018-09-10 12:22:39 · 4321 阅读 · 0 评论 -
分布式锁的多种实现方式
本文转自:http://www.hollischuang.com/archives/1716           目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何转载 2018-09-11 16:23:36 · 118 阅读 · 0 评论 -
什么是分布式系统中的幂等性
最近很多人都在谈论幂等性,好吧,这回我也来聊聊这个话题,光看着俩字,一开始的确有点一头雾水,语文不好嘛,词太专业嘛,对吧 现如今我们的系统大多拆分为分布式SOA,或者微服务,一套系统中包含了多个子系统服务,而一个子系统服务往往会去调用另一个服务,而服务调用服务无非就是使用RPC通信或者restful,既然是通信,那么就有可能再服务器处理完毕后返回结果的时候挂掉,这个时候用户端发现...转载 2018-08-30 13:17:16 · 98 阅读 · 0 评论 -
分布式Id生成方案
分布式系统唯一ID生成方案汇总<p align="left">&am转载 2018-08-28 12:15:56 · 2810 阅读 · 0 评论 -
集群环境下session共享
本文转自:雪山上的蒲公英 配置tomcat的session共享 <div class="postBody"> <div id="cnblogs_post_body" class="blogpost-body"><p class="16">&转载 2018-08-08 18:05:10 · 2608 阅读 · 2 评论 -
REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解
本文转自:Better Me的博客 SOA:维基百科解释:SOA:面向服务的软件架构(Service Oriented Architecture),是一种计算机软件的设计模式,主要应用于不通应用组件中通过某种协议来互操作,例如典型的通过网络协议。因此SOA是独立于任何厂商...转载 2018-08-10 14:13:17 · 247 阅读 · 0 评论