自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Redis(五) Redis锁

Redis作为一种高性能的键值存储数据库,提供了丰富的原子操作和数据结构,可以用来实现各种类型的锁机制。在分布式系统中,常见的锁包括非阻塞锁、阻塞锁和Red锁。下面对这三种锁进行。

2024-04-28 11:11:40 1107

原创 Redis(四) 主从、哨兵、集群环境搭建

Redis 主从结构是一种常用的高可用性和扩展性解决方案,通过将数据复制到多个节点实现数据的备份和负载均衡。它能够提高系统的可用性、可靠性和性能,并支持灾难恢复和系统扩展。然而,主从结构仍然存在一些不足之处,如单点故障、数据延迟、复制链路带宽限制、配置和管理复杂性以及一致性保证等问题,需要开发者在设计和实现系统时进行充分考虑和处理。Redis Sentinel 是一种可靠的高可用性解决方案,通过监控和管理 Redis 主从结构中的多个节点,实现了自动化的故障转移和系统的自愈能力。

2024-04-23 16:59:18 1434

原创 Redis(三) 事务与发布订阅

Redis(三) 事务与发布订阅

2024-04-20 08:42:22 1100

原创 Redis(二) 可编程性

Redis(二) 可编程性 ​结合上一期Redis(一) Redis简介(Redis(一) Redis简介-CSDN博客)

2024-04-15 09:01:12 1292

原创 Redis(一) Redis简介

Redis,全名Remote Dictionary Server,是一种开源的、基于内存的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种数据结构,如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等,并且提供丰富的命令来操作这些数据结构。此外,Redis还提供了发布/订阅(publish/subscribe)模式的的消息队列功能。

2024-04-11 16:11:25 1374

原创 云平台和云原生

公有云的最大意义是能够以低廉的价格,提供有吸引力的服务给最终用户,创造新的业务价值,公有云作为一个支撑平台,还能够整合上游的服务(如增值业务,广告)提供者和下游最终用户,打造新的价值链和生态系统。微服务可以解决这个问题,微服务的本质是把一块大饼分成若干块低耦合的小饼,比如一块小饼专门负责接收外部的数据,一块小饼专门负责响应前台的操作,小饼可以进一步拆分,比如负责接收外部数据的小饼可以继续分成多块负责接收不同类型数据的小饼,这样每个小饼出问题了,其它小饼还能正常对外提供服务。多云需要统一的治理能力。

2024-04-09 15:57:29 1275

原创 Dapr(四) Dapr核心组件的使用二

使用 Dapr 的绑定 API,你可以使用来自外部系统的事件触发应用,并与外部系统交互。避免与队列和消息总线等消息系统连接和轮询的复杂性。关注业务逻辑,而不是与系统交互的执行细节。让您的代码远离 SDK 或库。处理重试和故障恢复。在运行时切换绑定利用特定环境绑定设置构建可移植应用程序,无需更改代码。例如,有了绑定,您的应用程序就可以响应传入的 Twilio/SMS 消息,而不需要添加或配置第三方 Twilio SDK。

2024-04-08 13:18:35 1505

原创 Dapr(三) Dapr核心组件的使用一

发布订阅(Publish-Subscribe)是一种通信模式,允许发布者发送消息到一个中心节点(通常是消息代理或主题),而不关心具体哪些订阅者会接收到这些消息。订阅者则注册他们感兴趣的特定类型的消息,当匹配的消息发布时,他们会收到通知。这种模式的特点在于解耦了发布者和订阅者,提高了系统的灵活性和可扩展性。发布者(Publisher): 生产消息的实体,它向主题或消息代理发送消息,无需了解谁会接收这些消息。订阅者。

2024-04-07 10:33:56 1348

原创 Dapr(二) 分布式应用运行时搭建及服务调用

Dapr单机版需要从github进行下载,我们只能用魔法才能打败魔法。我们开启魔法之后,在Linux系统中使用 ping github.comLinux虚拟机已经成功 ping 通 github.com。

2024-04-03 08:12:50 1018

原创 Dapr(一) 基于云原生了解Dapr

Service Mesh 是一个基础设施层,主要围绕服务间通信来进行。现在的云原生应用的服务拓扑结构非常复杂,Service Mesh 可以在这种复杂拓扑结构中实现可靠的请求传送。Service Mesh 是以 Sidecar 的方式运行,应用旁边会运行一个独立的 Service Mesh 进程,Service Mesh 负责远程服务的通信。军用三轮摩托车和 Service Mesh 非常相像,军用三轮摩托车上一个士兵负责开车,一个士兵负责对人发起射击。服务注册与发现服务之间调用服务之间降级,熔断。

2024-04-01 13:47:42 1944

原创 .NET CORE 分布式事务(四) CAP实现最终一致性

在分布式系统中,事务管理是确保数据一致性和系统稳定性的关键技术。传统的集中式事务处理模型(如两阶段提交协议)在分布式环境中面临诸多挑战,包括性能瓶颈、单点故障和扩展性问题。为了解决这些问题,最终一致性模型被提出并广泛应用于分布式事务处理中。最终一致性(Eventual Consistency)是一种分布式系统的数据一致性模型,它不要求数据在每个时刻都保持一致,而是允许数据在短时间内不一致,但保证在一定时间后,所有节点上的数据会达到一致状态。这种模型降低了对即时一致性的要求,从而提高了系统的可用性和扩展性。

2024-03-30 14:12:22 1734

原创 Siemens S7-1500TCPU 运动机构系统功能简介

运动系统是一种用户可编程的机械系统,其中采用多个机械耦合轴带动工作点进行运动。运动系统轴是运动系统进行运行的轴。各运动系统轴可连接定位轴/同步轴工艺对象。运动系统零位 (KZP) :运动系统坐标系(KCS)的坐标原点为KZP。并从KZP开始组态运动系统的几何参数。法兰坐标系(FCS)的坐标原点为FNP。以FNP为起点,定义运动系统的法兰区。刀具中心点(TCP)刀具坐标系(TCS)的坐标原点为刀具中心点或TCP。TCP是运动系统的操作点。运动系统自由度是刀具可移动的维度。

2024-03-28 10:13:39 1465

原创 .NET CORE使用Redis分布式锁续命(续期)问题

续命同样使用了Redis的Lua脚本来实现,确保了原子性。获取了Redis锁之后,直接开启了一个新的线程,在设置时间还剩三分之一的时候进行了续命,这在程序中是有必要使用的,比如说因为网络原因造成的延时,本来我的这个接口执行完毕只需要3秒钟,但是有于网络延时造成了我的这个接口执行超过了3秒,这时候就需要Redis锁续命。有的小伙伴私信说如果锁内锁定的程序或者资源未在上锁时间内执行完,造成的使用资源冲突,需要如何解决。控制器API,调用可以续命的阻塞锁,缓存时间设置为3秒 续命时间也是延长3秒。

2024-03-27 13:41:21 1031

原创 .NET CORE 分布式事务(三) DTM实现Saga及高并发下的解决方案

可以这么思考,如果发货的操作返回了失败,那么这个失败的含义是不够清晰的,调用方不知道这个失败是修改了部分数据的失败,还是修改数据前的业务校验失败,因为这个操作不可回滚,所以调用方收到这个失败,是不知道如何正确处理这个错误的。例如dtm的补偿操作,是要求最终成功的,只要还没成功,就会不断进行重试,直到成功。另外当你的一个全局事务中,如果出现了两个既不可回滚的又可能返回失败的操作,那么到了实际运行中,一个执行成功,一个执行失败,此时执行成功的那个事务无法回滚,那么这个事务的一致性就不可能保证了。

2024-03-26 10:49:39 1676

原创 .NET CORE 分布式事务(二) DTM实现TCC

紧接上一期.NET CORE 分布式事务(一) DTM实现二阶段提交(

2024-03-25 09:02:00 1347

原创 .NET CORE 分布式事务(一) DTM实现二阶段提交

DTM提出的二阶段消息,可以完美替代现有的事务消息或本地消息表架构。无论从复杂度、便利性、性能,还是代码量,新架构都完胜现有架构方案,是这个领域的革命性架构。二阶段消息是dtm首创的事务模式,用于替换本地事务表和事务消息这两种现有的方案。它能够保证本地事务的提交和全局事务提交是“原子的”,适合解决不需要回滚的分布式事务场景。下面我们来看看二阶段消息,如何解决这个业务场景的问题。

2024-03-21 14:17:01 1584

原创 .NET CORE消息队列RabbitMQ

RabbitMQ是一个开源的消息代理和队列服务器,用于在分布式系统中传递消息。它支持多种消息协议,提供可靠的消息传递、灵活的路由、集群和高可用性功能。

2024-03-16 09:49:42 1603

原创 .NET CORE微服务之Polly

Polly是一个.NET Core微服务框架,用于实现容错、重试、熔断等策略。它可以帮助开发者在分布式系统中提高可靠性和稳定性。Polly提供了丰富的策略,如重试策略、熔断策略、超时策略等,可以灵活地应用于微服务架构中。通过使用Polly,开发者可以更好地处理异常情况,提高系统的可用性和性能。

2024-03-11 08:25:07 1674

原创 .NET CORE微服务之Ocelot(连接Nacos)

Ocelot是一个基于.NET Core的API网关,可以用于连接Nacos作为服务发现和配置中心。通过使用Ocelot,可以实现微服务的路由、负载均衡、认证等功能,并且可以轻松地与Nacos集成,实现动态的服务发现和配置管理。

2024-03-05 14:20:39 1604

原创 .NET CORE微服务之Nacos

背景:当在微服务项目中不同模块之间需要实现服务调用时,如何实现服务注册与发现?Nacos是一个由阿里巴巴开源的动态服务发现、配置管理和服务管理平台,它特别适用于微服务架构。服务发现与注册:Nacos提供了服务注册和发现的机制,使得在微服务架构中的各个服务能够相互识别和通信。配置管理:它允许动态地管理和共享配置信息,支持基于命名空间、分组和数据ID的配置组织方式。高可用性:Nacos设计用于承受大规模的服务访问压力,能够在高并发场景下保持稳定运行。易用性。

2024-03-02 09:05:49 1814

原创 .NET CORE 分库分表--MyCat

当业务表由于数据量大而分片后 , 业务表与附属的数据字典表之间的关联查询就变成了比较棘手的问题 , 在MyCat中可以通过数据冗余来解决这类表的关联查询 , 即所有分片都复制这一份数据(数据字典表),因此可以把这些冗余数据的表定义为全局表。总而言之就是需要进行分片的表。前面讲了数据切分,一个大表被分成若干个分片表,就需要一定的规则,这样按照某种业务规则把数据分到某个分片的规则就是分片规则,数据切分选择合适的分片规则非常重要,将极大的避免后续数据处理的难度。对应用来说,读写数据的表就是逻辑表。

2024-02-29 13:25:49 2101 2

winform精美的表格控件重绘

winform精美的表格控件重绘

2024-04-28

包含非阻塞锁、阻塞锁以及锁的续期

1.0 注册 builder.Services.AddRedisService(options => { options.ConnectionString = "127.0.0.1:6379"; }); 2.0 锁的api // 释放锁 bool UnLock(string key); // 非阻塞锁 bool AcquireLock(string key, int seconds); // 阻塞锁(可续期) bool CongestionLock(string key, TimeSpan expireSeconds, TimeSpan timeout, TimeSpan? postponetime = null);

2024-04-24

.NET CORE 分布式事务(三) DTM实现Saga及高并发下的解决方案

.NET CORE 分布式事务(三) DTM实现Saga及高并发下的解决方案,项目代码加redis桌面版本加dtm桌面版本,可以直接下载运行。什么都不需要改。但是需要先启动dtm和redis。可以实现高并发。

2024-03-26

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除