- 博客(27)
- 收藏
- 关注
原创 Simotion应用指南(一) 如何快速的搭建一个Simotion项目
Simotion是由西门子(Siemens)公司开发的一个高级运动控制系统,它结合了工业自动化领域的运动控制和工艺控制功能,旨在为复杂的运动控制应用提供全面的解决方案。Simotion系统集成了先进的硬件和软件技术,适用于各种需要精确控制和高性能的工业自动化应用,如机床、包装机械、印刷设备等。本文将深入探讨Simotion系统的核心特性、应用领域、技术架构以及与竞争产品的比较,以帮助读者更全面地了解这一先进的运动控制平台。
2024-07-31 09:33:43
2579
1
原创 .Net Core Redis缓存预热及Canal数据同步
缓存预热是指在系统启动或特定时机前,将预计会被访问的数据加载到缓存中。这样做的目的是减少系统的响应时间和数据库的访问负担。在用户首次请求数据时,这些数据已经存在于缓存中,从而能够提供更快的响应速度。Canal 是一款开源的数据同步工具,由阿里巴巴开发。它主要用于从MySQL等关系型数据库中捕捉数据变更,并将这些变更实时同步到其他系统中。Canal 基于数据库的 binlog(Binary Log)机制来获取数据变更,通过解析 binlog 来实现数据的增量同步。
2024-07-26 14:36:07
1531
原创 .Net Core 微服务之Consul(三)-KV存储&分布式锁
Consul 的 KV 存储提供了类似文件系统的键值存储模型,其中每个键都是一个路径,类似于,而每个键对应的值可以是任意的字节序列。这种灵活性使得它不仅可以存储配置数据,还可以用于共享任意类型的数据。Consul 的分布式锁通过 KV 存储中的事务和比较并交换(Compare-and-Swap, CAS)操作来实现。客户端尝试创建一个特定的键作为锁,并将自己的标识作为值写入该键中。如果写入成功,即客户端获得了锁;如果失败,说明有其他客户端已经持有了该锁。
2024-07-22 16:15:57
1348
原创 .Net Core 微服务之Consul(二)-集群搭建
Raft 是一种共识算法,用于分布式系统中的一致性管理。它于2013年由 Diego Ongaro 和 John Ousterhout 提出,设计简单且易于理解,以取代复杂且难以维护的 Paxos 算法。Raft 的设计目标是提供分布式系统中的基本一致性保证,并通过领导者选举、日志复制和安全性保障等机制来实现这一目标。领导者选举:Raft 将系统的时间分为连续的任期(terms),每个任期开始时都需要选举一个领导者(leader)。选举过程通过随机化等待时间和心跳机制来确保唯一性和进展性。日志复制。
2024-07-12 13:56:41
1464
原创 .Net Core 微服务之Consul(一)
单体架构(Monolithic Architecture)是传统的应用程序设计方式,它将整个应用程序作为一个单一的、完整的单元进行开发、部署和扩展。用户界面层(Presentation Layer):负责处理用户输入和输出,通常是 Web 页面或移动应用的前端部分。业务逻辑层(Business Logic Layer):包含应用程序的核心功能和业务逻辑,负责处理数据处理、算法和业务规则等。数据访问层(Data Access Layer):用于与数据库或其他持久化存储进行交互,包括数据读取、写入和更新操作。
2024-07-01 14:27:58
1475
原创 Docker (一)
Docker 是一个开源的平台即服务 (PaaS) 工具,用于轻松地创建、部署和运行应用程序。它采用了容器化技术,能够将应用程序及其依赖项打包到一个可移植的容器中,从而实现在不同环境中快速、一致地部署应用。Docker 的出现彻底改变了软件开发和部署的方式,极大地简化了应用程序的交付流程,提高了开发效率和运维灵活性,成为现代软件开发中不可或缺的重要工具之一。
2024-05-25 13:48:53
1229
原创 Redis(五) Redis锁
Redis作为一种高性能的键值存储数据库,提供了丰富的原子操作和数据结构,可以用来实现各种类型的锁机制。在分布式系统中,常见的锁包括非阻塞锁、阻塞锁和Red锁。下面对这三种锁进行。
2024-04-28 11:11:40
1425
原创 Redis(四) 主从、哨兵、集群环境搭建
Redis 主从结构是一种常用的高可用性和扩展性解决方案,通过将数据复制到多个节点实现数据的备份和负载均衡。它能够提高系统的可用性、可靠性和性能,并支持灾难恢复和系统扩展。然而,主从结构仍然存在一些不足之处,如单点故障、数据延迟、复制链路带宽限制、配置和管理复杂性以及一致性保证等问题,需要开发者在设计和实现系统时进行充分考虑和处理。Redis Sentinel 是一种可靠的高可用性解决方案,通过监控和管理 Redis 主从结构中的多个节点,实现了自动化的故障转移和系统的自愈能力。
2024-04-23 16:59:18
1562
原创 Redis(二) 可编程性
Redis(二) 可编程性 结合上一期Redis(一) Redis简介(Redis(一) Redis简介-优快云博客)
2024-04-15 09:01:12
1397
原创 Redis(一) Redis简介
Redis,全名Remote Dictionary Server,是一种开源的、基于内存的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种数据结构,如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等,并且提供丰富的命令来操作这些数据结构。此外,Redis还提供了发布/订阅(publish/subscribe)模式的的消息队列功能。
2024-04-11 16:11:25
1470
原创 云平台和云原生
公有云的最大意义是能够以低廉的价格,提供有吸引力的服务给最终用户,创造新的业务价值,公有云作为一个支撑平台,还能够整合上游的服务(如增值业务,广告)提供者和下游最终用户,打造新的价值链和生态系统。微服务可以解决这个问题,微服务的本质是把一块大饼分成若干块低耦合的小饼,比如一块小饼专门负责接收外部的数据,一块小饼专门负责响应前台的操作,小饼可以进一步拆分,比如负责接收外部数据的小饼可以继续分成多块负责接收不同类型数据的小饼,这样每个小饼出问题了,其它小饼还能正常对外提供服务。多云需要统一的治理能力。
2024-04-09 15:57:29
1492
原创 Dapr(四) Dapr核心组件的使用二
使用 Dapr 的绑定 API,你可以使用来自外部系统的事件触发应用,并与外部系统交互。避免与队列和消息总线等消息系统连接和轮询的复杂性。关注业务逻辑,而不是与系统交互的执行细节。让您的代码远离 SDK 或库。处理重试和故障恢复。在运行时切换绑定利用特定环境绑定设置构建可移植应用程序,无需更改代码。例如,有了绑定,您的应用程序就可以响应传入的 Twilio/SMS 消息,而不需要添加或配置第三方 Twilio SDK。
2024-04-08 13:18:35
1648
原创 Dapr(三) Dapr核心组件的使用一
发布订阅(Publish-Subscribe)是一种通信模式,允许发布者发送消息到一个中心节点(通常是消息代理或主题),而不关心具体哪些订阅者会接收到这些消息。订阅者则注册他们感兴趣的特定类型的消息,当匹配的消息发布时,他们会收到通知。这种模式的特点在于解耦了发布者和订阅者,提高了系统的灵活性和可扩展性。发布者(Publisher): 生产消息的实体,它向主题或消息代理发送消息,无需了解谁会接收这些消息。订阅者。
2024-04-07 10:33:56
1495
原创 Dapr(二) 分布式应用运行时搭建及服务调用
Dapr单机版需要从github进行下载,我们只能用魔法才能打败魔法。我们开启魔法之后,在Linux系统中使用 ping github.comLinux虚拟机已经成功 ping 通 github.com。
2024-04-03 08:12:50
1292
原创 Dapr(一) 基于云原生了解Dapr
Service Mesh 是一个基础设施层,主要围绕服务间通信来进行。现在的云原生应用的服务拓扑结构非常复杂,Service Mesh 可以在这种复杂拓扑结构中实现可靠的请求传送。Service Mesh 是以 Sidecar 的方式运行,应用旁边会运行一个独立的 Service Mesh 进程,Service Mesh 负责远程服务的通信。军用三轮摩托车和 Service Mesh 非常相像,军用三轮摩托车上一个士兵负责开车,一个士兵负责对人发起射击。服务注册与发现服务之间调用服务之间降级,熔断。
2024-04-01 13:47:42
3024
原创 .NET CORE 分布式事务(四) CAP实现最终一致性
在分布式系统中,事务管理是确保数据一致性和系统稳定性的关键技术。传统的集中式事务处理模型(如两阶段提交协议)在分布式环境中面临诸多挑战,包括性能瓶颈、单点故障和扩展性问题。为了解决这些问题,最终一致性模型被提出并广泛应用于分布式事务处理中。最终一致性(Eventual Consistency)是一种分布式系统的数据一致性模型,它不要求数据在每个时刻都保持一致,而是允许数据在短时间内不一致,但保证在一定时间后,所有节点上的数据会达到一致状态。这种模型降低了对即时一致性的要求,从而提高了系统的可用性和扩展性。
2024-03-30 14:12:22
2421
原创 Siemens S7-1500TCPU 运动机构系统功能简介
运动系统是一种用户可编程的机械系统,其中采用多个机械耦合轴带动工作点进行运动。运动系统轴是运动系统进行运行的轴。各运动系统轴可连接定位轴/同步轴工艺对象。运动系统零位 (KZP) :运动系统坐标系(KCS)的坐标原点为KZP。并从KZP开始组态运动系统的几何参数。法兰坐标系(FCS)的坐标原点为FNP。以FNP为起点,定义运动系统的法兰区。刀具中心点(TCP)刀具坐标系(TCS)的坐标原点为刀具中心点或TCP。TCP是运动系统的操作点。运动系统自由度是刀具可移动的维度。
2024-03-28 10:13:39
2300
原创 .NET CORE使用Redis分布式锁续命(续期)问题
续命同样使用了Redis的Lua脚本来实现,确保了原子性。获取了Redis锁之后,直接开启了一个新的线程,在设置时间还剩三分之一的时候进行了续命,这在程序中是有必要使用的,比如说因为网络原因造成的延时,本来我的这个接口执行完毕只需要3秒钟,但是有于网络延时造成了我的这个接口执行超过了3秒,这时候就需要Redis锁续命。有的小伙伴私信说如果锁内锁定的程序或者资源未在上锁时间内执行完,造成的使用资源冲突,需要如何解决。控制器API,调用可以续命的阻塞锁,缓存时间设置为3秒 续命时间也是延长3秒。
2024-03-27 13:41:21
1291
原创 .NET CORE 分布式事务(三) DTM实现Saga及高并发下的解决方案
可以这么思考,如果发货的操作返回了失败,那么这个失败的含义是不够清晰的,调用方不知道这个失败是修改了部分数据的失败,还是修改数据前的业务校验失败,因为这个操作不可回滚,所以调用方收到这个失败,是不知道如何正确处理这个错误的。例如dtm的补偿操作,是要求最终成功的,只要还没成功,就会不断进行重试,直到成功。另外当你的一个全局事务中,如果出现了两个既不可回滚的又可能返回失败的操作,那么到了实际运行中,一个执行成功,一个执行失败,此时执行成功的那个事务无法回滚,那么这个事务的一致性就不可能保证了。
2024-03-26 10:49:39
2457
原创 .NET CORE 分布式事务(一) DTM实现二阶段提交
DTM提出的二阶段消息,可以完美替代现有的事务消息或本地消息表架构。无论从复杂度、便利性、性能,还是代码量,新架构都完胜现有架构方案,是这个领域的革命性架构。二阶段消息是dtm首创的事务模式,用于替换本地事务表和事务消息这两种现有的方案。它能够保证本地事务的提交和全局事务提交是“原子的”,适合解决不需要回滚的分布式事务场景。下面我们来看看二阶段消息,如何解决这个业务场景的问题。
2024-03-21 14:17:01
2017
原创 .NET CORE消息队列RabbitMQ
RabbitMQ是一个开源的消息代理和队列服务器,用于在分布式系统中传递消息。它支持多种消息协议,提供可靠的消息传递、灵活的路由、集群和高可用性功能。
2024-03-16 09:49:42
2856
原创 .NET CORE微服务之Polly
Polly是一个.NET Core微服务框架,用于实现容错、重试、熔断等策略。它可以帮助开发者在分布式系统中提高可靠性和稳定性。Polly提供了丰富的策略,如重试策略、熔断策略、超时策略等,可以灵活地应用于微服务架构中。通过使用Polly,开发者可以更好地处理异常情况,提高系统的可用性和性能。
2024-03-11 08:25:07
2078
原创 .NET CORE微服务之Ocelot(连接Nacos)
Ocelot是一个基于.NET Core的API网关,可以用于连接Nacos作为服务发现和配置中心。通过使用Ocelot,可以实现微服务的路由、负载均衡、认证等功能,并且可以轻松地与Nacos集成,实现动态的服务发现和配置管理。
2024-03-05 14:20:39
2192
原创 .NET CORE微服务之Nacos
背景:当在微服务项目中不同模块之间需要实现服务调用时,如何实现服务注册与发现?Nacos是一个由阿里巴巴开源的动态服务发现、配置管理和服务管理平台,它特别适用于微服务架构。服务发现与注册:Nacos提供了服务注册和发现的机制,使得在微服务架构中的各个服务能够相互识别和通信。配置管理:它允许动态地管理和共享配置信息,支持基于命名空间、分组和数据ID的配置组织方式。高可用性:Nacos设计用于承受大规模的服务访问压力,能够在高并发场景下保持稳定运行。易用性。
2024-03-02 09:05:49
3662
1
原创 .NET CORE 分库分表--MyCat
当业务表由于数据量大而分片后 , 业务表与附属的数据字典表之间的关联查询就变成了比较棘手的问题 , 在MyCat中可以通过数据冗余来解决这类表的关联查询 , 即所有分片都复制这一份数据(数据字典表),因此可以把这些冗余数据的表定义为全局表。总而言之就是需要进行分片的表。前面讲了数据切分,一个大表被分成若干个分片表,就需要一定的规则,这样按照某种业务规则把数据分到某个分片的规则就是分片规则,数据切分选择合适的分片规则非常重要,将极大的避免后续数据处理的难度。对应用来说,读写数据的表就是逻辑表。
2024-02-29 13:25:49
3893
2
.NET框架的身份管理和认证-Identity框架
2024-05-06
包含非阻塞锁、阻塞锁以及锁的续期
2024-04-24
.NET CORE 分布式事务(三) DTM实现Saga及高并发下的解决方案
2024-03-26
docker无法拉取镜像,如何解决?
2024-12-01
.net core怎么修改已经存在job的JobDataMap信息?
2024-05-13
.net core 重启服务,Quartz不执行之前的任务
2024-05-13
分布式qutarz后台任务
2024-03-14
Asp.net mvc有像asp.net中的viewstate这样的页状态吗?
2022-11-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人