首页 文章 精选 留言 我的

精选列表

搜索[分布式调度],共10000篇文章
优秀的个人博客,低调大师

分布式数据库--ZMP数据迁移平台

在云计算、大数据和物联网时代,数字化转型悄然在各行各业中进行。然而数据作为最基础的要素,如何进行多源异构的海量数据交换?如何保证数据的时效性和准确性?如何让海量异构数据实现云上、云下的协同?是我们长此以往关注的焦点。而ZMP数据迁移平台正致力于云间数据交换场景,支持不同数据结构,可帮助政企客户快速搭建高性能、高安全、高可靠、高稳定的数据交换平台。 1.功能 ZMP数据迁移平台不仅有基础的系统、用户和主题管理,也有可视化运维的服务器管理及消息监控等,更主要的是集成了消息服务、数据转换同步等中间件,同时加入了迁移评估和应用的智能改造。 服务器管理:提供服务器、消息服务、同步组件的安装、启停、配置和监控等功能。 主题管理:提供消息服务主题的创建、删除、编辑和监控,在数据交换中,不需要用户创建和删除主题,由数据交换任务统一管理。 数据迁移评估:提供源库数据库(Oracle9i,Oracle11g,Oracle12c,SQLserver)的数据采集,画像及目的端数据库为云溪数据库或MySQL时的兼容性评估。 数据采集:针对多个Oracle版本和SQLServer,构建了数据采集工具。 源库画像:根据采集的数据,自动生成智能五边图(规模,会话,风险,负载,复杂度),数据库的概要信息与详细信息——包括数据库性能及运行时的性能,容量,Oracle特性,对象详情、全景搜索等。用户可以直观地把握以上信息,并在详情页查看具体的信息。同时,在不同对象的依赖关系里,还可以实现跳转,帮助理解数据库原有结构。 兼容评估:将源库所有对象与SQL语句进行解析,判断其与目标库(之间的兼容情况,并输出其统计结果。在评估详情中看到每一个对象的兼容情况及迁移风险等情况。 数据交换:提供作业、任务、数据源和同步表的创建、删除、编辑、监控和统计报表功能。 支持结构化数据交换:云溪数据库、Oracle、SQLserver、DB2、Sybase、MySQL、PostgreSQL、Greenplum、Redis、Cache、Kudu等。 支持非结构化数据交换:Linux/Windows文件、FTP、SFTP、OSS、HDFS各种样式,各种大小的数据交换。 支持半结构化数据交换:JSON、CSV等半结构化数据与数据库交换。 支持多协议数据采集:MQTT、COAP、MODBUS、XPH、DICOM、HTTP、RTSP、RTMP等。 智能改造:加载源代码(工程)文件夹,对其中文件进行嗅探,寻找其中的SQL语句,并进行统计、分析、改造,并对改造情况进行统计分析,并提供手动查看与改造等相关功能。 用户管理:提供用户的创建、删除、编辑、权限分配和审计等功能。 系统配置:提供控制台日志、系统告警等功能。 版本管理:提供同步组件安装包更新、同步组件升级等功能。 2. 优势 ZMP数据迁移平台在支持多种数据源的基础上,提供可视化拖拽方式进行流程编排。既大大降低了对源端的影响,又提高了同步效率。同时支持超大文件和各种网络数据传输。 同步效率高:每秒10万级记录以上同步量。 源端影响小:支持Oracle、SQLserver、MySQL、MariaBD和达梦日志增量同步,不需要依赖触发器、CDC、时间戳。 多字段时间戳:支持多时间戳、增量字段、支持时间戳及增量字段向前偏移。 DDL变更捕获:支持数据库级别和表字段级别 数据管理监控:采用可视化拖拽方式进行流程编排,可视化管理监控数据流向、数据统计、数据报表及相关警告。 支持结构化数据交换:云溪数据库、Oracle、SQLserver、DB2、Sybase、MySQL、PostgreSQL、Greenplum、Redis、Cache、Kudu等。 超大文件和网络数据传输:支持复杂环境下TB级别文件,支持中继路由、文件网闸、有限带宽等各种网络数据传输,支持断点续传。 国产化环境及中间件:支持mips、x86、arm等CPU架构和金蝶、中创等。 3. 架构 功能架构: 技术架构: 数据库交换架构: 文件交换架构: 4. 应用 各种类型数据、大数据平台和行业应用,通过ZMP数据迁移平台实现高效的数据交换。医疗通信等行业产生的结构化、非结构化、文件等数据,通过ZMP平台抽取、转换、加密传输和入库,最大化实现数据的价值。同时云上云下数据协同。 跨网络、跨防火墙、跨中继路由、跨网闸等方式部署平台可使用多种不同的应用场景。异构采集对数据源影响小,实现数据高效采集,可靠传输,支持海量消息存储;数据交换支持单节点每秒百万级消息处理,集群下支持每秒亿级消息吞吐量,消息容量可达PB级。

优秀的个人博客,低调大师

.NET 分布式事件总线 Jaina v1.0.0 发布

Jaina .NET 事件总线,简化项目、类库、线程、服务等之间的通信,代码更少,质量更好。‎ 安装 Package Manager Install-Package Jaina .NET CLI dotnet add package Jaina 快速入门 我们在主页上有不少例子,这是让您入门的第一个: 定义事件订阅者ToDoEventSubscriber: // 实现 IEventSubscriber 接口 public class ToDoEventSubscriber : IEventSubscriber { private readonly ILogger<ToDoEventSubscriber> _logger; public ToDoEventSubscriber(ILogger<ToDoEventSubscriber> logger) { _logger = logger; } // 标记 [EventSubscribe(事件 Id)] 特性 [EventSubscribe("ToDo:Create")] public async Task CreateToDo(EventHandlerExecutingContext context) { var todo = context.Source; _logger.LogInformation("创建一个 ToDo:{Name}", todo.Payload); await Task.CompletedTask; } } 创建控制器ToDoController,依赖注入IEventPublisher服务: [Route("api/[controller]/[action]")] [ApiController] public class ToDoController : ControllerBase { // 依赖注入事件发布者 IEventPublisher private readonly IEventPublisher _eventPublisher; public ToDoController(IEventPublisher eventPublisher) { _eventPublisher = eventPublisher; } // 发布 ToDo:Create 消息 [HttpPost] public async Task CreateDoTo(string name) { await _eventPublisher.PublishAsync(new ChannelEventSource("ToDo:Create", name)); } } 在Startup.cs注册EventBus服务: public class Startup { public void ConfigureServices(IServiceCollection services) { // 注册 EventBus 服务 services.AddEventBus(buidler => { // 注册 ToDo 事件订阅者 buidler.AddSubscriber<ToDoEventSubscriber>(); }); // .... } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { // .... } } 运行项目: info: Jaina.Samples.ToDoEventSubscriber[0] 创建一个 ToDo:Jaina 高级教程 1. 自定义事件源IEventSource Jaina 使用IEventSource作为消息载体,任何实现该接口的类都可以充当消息载体。 如需自定义,只需实现IEventSource接口即可: public class ToDoEventSource : IEventSource { // 自定义属性 public string ToDoName { get; } /// <summary> /// 事件 Id /// </summary> public string EventId { get; } /// <summary> /// 事件承载(携带)数据 /// </summary> public object Payload { get; } /// <summary> /// 取消任务 Token /// </summary> /// <remarks>用于取消本次消息处理</remarks> public CancellationToken CancellationToken { get; } /// <summary> /// 事件创建时间 /// </summary> public DateTime CreatedTime { get; } = DateTime.UtcNow; } 使用: await _eventPublisher.PublishAsync(new ToDoEventSource { EventId = "ToDo:Create", ToDoName = "我的 ToDo Name" }); 2. 自定义事件源存储器IEventSourceStorer Jaina 默认采用Channel作为事件源IEventSource存储器,开发者可以使用任何消息队列组件进行替换,如Kafka、RabbitMQ、ActiveMQ等,也可以使用部分数据库Redis、SQL Server、MySql实现。 如需自定义,只需实现IEventSourceStorer接口即可: public class RedisEventSourceStorer : IEventSourceStorer { private readonly IRedisClient _redisClient; public RedisEventSourceStorer(IRedisClient redisClient) { _redisClient = redisClient; } // 往 Redis 中写入一条 public async ValueTask WriteAsync(IEventSource eventSource, CancellationToken cancellationToken) { await _redisClient.WriteAsync(...., cancellationToken); } // 从 Redis 中读取一条 public async ValueTask<IEventSource> ReadAsync(CancellationToken cancellationToken) { return await _redisClient.ReadAsync(...., cancellationToken); } } 最后,在注册EventBus服务中替换默认IEventSourceStorer: services.AddEventBus(buidler => { // 替换事件源存储器 buidler.ReplaceStorer<RedisEventSourceStorer>(); }); 3. 自定义事件发布者IEventPublisher Jaina 默认内置基于Channel的事件发布者ChannelEventPublisher。 如需自定义,只需实现IEventPublisher接口即可: public class ToDoEventPublisher : IEventPublisher { private readonly IEventSourceStorer _eventSourceStorer; public ChannelEventPublisher(IEventSourceStorer eventSourceStorer) { _eventSourceStorer = eventSourceStorer; } public async Task PublishAsync(IEventSource eventSource) { await _eventSourceStorer.WriteAsync(eventSource, eventSource.CancellationToken); } } 最后,在注册EventBus服务中替换默认IEventPublisher: services.AddEventBus(buidler => { // 替换事件源存储器 buidler.ReplacePublisher<ToDoEventPublisher>(); }); 4. 添加事件执行监视器IEventHandlerMonitor Jaina 提供了IEventHandlerMonitor监视器接口,实现该接口可以监视所有订阅事件,包括执行之前、执行之后,执行异常,共享上下文数据。 如添加ToDoEventHandlerMonitor: public class ToDoEventHandlerMonitor : IEventHandlerMonitor { private readonly ILogger<ToDoEventHandlerMonitor> _logger; public ToDoEventHandlerMonitor(ILogger<ToDoEventHandlerMonitor> logger) { _logger = logger; } public Task OnExecutingAsync(EventHandlerExecutingContext context) { _logger.LogInformation("执行之前:{EventId}", context.Source.EventId); return Task.CompletedTask; } public Task OnExecutedAsync(EventHandlerExecutedContext context) { _logger.LogInformation("执行之后:{EventId}", context.Source.EventId); if (context.Exception != null) { _logger.LogError(context.Exception, "执行出错啦:{EventId}", context.Source.EventId); } return Task.CompletedTask; } } 最后,在注册EventBus服务中注册ToDoEventHandlerMonitor: services.AddEventBus(buidler => { // 主键事件执行监视器 buidler.AddMonitor<ToDoEventHandlerMonitor>(); }); 5. 自定义事件处理程序执行器IEventHandlerExecutor Jaina 提供了IEventHandlerExecutor执行器接口,可以让开发者自定义事件处理函数执行策略,如超时控制,失败重试、熔断等等。 如添加RetryEventHandlerExecutor: public class RetryEventHandlerExecutor : IEventHandlerExecutor { public async Task ExecuteAsync(EventHandlerExecutingContext context, Func<EventHandlerExecutingContext, Task> handler) { // 如果执行失败,每隔 1s 重试,最多三次 await Retry(async () => { await handler(context); }, 3, 1000); } } 最后,在注册EventBus服务中注册RetryEventHandlerExecutor: services.AddEventBus(buidler => { // 主键事件执行监视器 buidler.AddExecutor<RetryEventHandlerExecutor>(); }); 文档 您可以在主页找到 Jaina 文档。 贡献 该存储库的主要目的是继续发展 Jaina 核心,使其更快、更易于使用。Jaina 的开发在Gitee上公开进行,我们感谢社区贡献错误修复和改进。 许可证 Jaina 采用MulanPSL-2.0开源许可证。 Copyright (c) 2020-2021 百小僧, Baiqian Co.,Ltd. Jaina is licensed under Mulan PSL v2. You can use this software according to the terms andconditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: https://gitee.com/dotnetchina/Jaina/blob/master/LICENSE THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUTWARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details.

优秀的个人博客,低调大师

BudWk 7.0.1 发布,Java 微服务分布式开发框架

V7.0.1 更新内容 新增基于version版本号的灰度发布功能 项目简介 BudWk 原名 NutzWk ,是基于国产框架 nutz 及 nutzboot 开发的开源Web基础项目,集权限体系、系统参数、数据字典、站内消息、定时任务、CMS、微信等最常用功能,不庞杂、不面面俱到,使其具有上手容易、开发便捷、扩展灵活等特性,特别适合各类大中小型定制化项目需求。 自2012年开源至今,以“在力所能及的情况下,最大限度的提高Web开发人员的生产力”为宗旨,紧跟时代技术发展,发布V1-V7多个版本,也尝试在开源和持续发展的道路上求索。 https://budwk.com官网 https://demo.budwk.comV7演示地址 https://nutzwk.wizzer.cnV5演示地址

优秀的个人博客,低调大师

ElasticSearch+NLog实现.Net Core分布式日志管理

本文转载自微信公众号「UP技术控」,作者conan5566。转载本文请联系UP技术控公众号。 概述 Elasticsearch可广泛应用于日志分析、全文检索、结构化数据分析等多种场景,大幅度降低维护多套专用系统的成本,在开源社区非常受欢迎。在系统中,如果将日志作为文件输出,查看系统日志将非常不便;如果将日志保存到数据库中,又不能进行全文搜索。在这里我们将日志输出到ElasticSearch中,借助Kibana再查找日志。 实现方式 1、配置es服务地址 { "ConnectionStrings":{ "ElasticSearchServerAddress":"http://localhost:9200" }, "Logging":{ "LogLevel":{ "Default":"Warning" } }, "AllowedHosts":"*" } 2、配置nlog.config <?xmlversion="1.0"encoding="utf-8"?> <nlogxmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" internalLogToConsole="true"> <extensions> <addassembly="NLog.Targets.ElasticSearch"/> </extensions> <targets> <!--ElasticSearch保存日志信息--> <targetname="ElasticSearch"xsi:type="ElasticSearch"ConnectionStringName="ElasticSearchServerAddress" index="userapi-${date:format=yyyy.MM.dd}"documentType="doc"includeAllProperties="true" layout="[${date:format=yyyy-MM-ddHH\:mm\:ss}][${level}]${logger}${message}${exception:format=toString}"> <fieldname="MachineName"layout="${machinename}"/> <fieldname="Time"layout="${longdate}"/> <fieldname="level"layout="${level:uppercase=true}"/> <fieldname="logger"layout="${logger}"/> <fieldname="message"layout="${message}"/> <fieldname="exception"layout="${exception:format=toString}"/> <fieldname="processid"layout="${processid}"/> <fieldname="threadname"layout="${threadname}"/> <fieldname="stacktrace"layout="${stacktrace}"/> <fieldname="Properties"layout="${machinename}${longdate}${level:uppercase=true}${logger}${message}${exception}|${processid}|${stacktrace}|${threadname}"/> </target> </targets> <rules> <loggername="*"minlevel="INFO"writeTo="ElasticSearch"/> </rules> </nlog> 3、测试写入日志 //GETapi/values [HttpGet] publicActionResult<IEnumerable<string>>Get() { varresult=newstring[]{"value1","value2"}; _logger.LogInformation(JsonConvert.SerializeObject(result)); returnresult; } 效果

优秀的个人博客,低调大师

分布式监控系统 WGCLOUD,支持进程流量指标监控

WGCLOUD,server端基于springboot开发,agent端使用go编写。支持高并发高性能,核心模块包括:主机监控,ES集群状态监控,CPU监控,CPU温度监控,内存监控,数据监控,docker监控,网络流量监控,服务心跳检测,应用进程管理,磁盘IO监控,系统负载监控,端口监控,日志文件监控,监控告警信息(默认邮件,支持钉钉微信集成)推送。 最新版本WGCLOUD-v3.3.0已经支持主机的总流量指标(接收和发送),进程的总流量指标(读和写) 码云源码下载:https://gitee.com/wanghouhou/wgcloud GITHUB源码下载:https://github.com/tianshiyeben/wgcloud 安装包下载:http://www.wgstart.com

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册