精华内容
下载资源
问答
  • CAP 以协同的组织、人员、状态、结果的行为过程为基础,全新构造工作、业务信息化 的模型,与专业化软件的计算能力、专业模型能力相配合而不是竞争,成为基础业务活动的 入口和工作场所,是对业务场景的信息化,...
  • CAP常见问题 Version 1.0, May 9th 2013 By: Henry Robinson / henry.robinson@gmail.com / @henryr 0.这是什么文件? 对于分布式系统工程师来说,没有一个主题比经常引用,经常被误解的CAP定理更具争议性。 该...
  • MicroCap_12cd.zip

    2020-10-24 18:48:06
    MicroCap_12 已经开源免费,是一款用于模拟和数字电路原理图设计和仿真的软件。Micro-Cap为交互式设计和仿真电路提供电子环境。Micro-Cap不断扩展其功能。目前,该软件是一个现代化,简单,用户友好的界面和许多用于...
  • MicroCap 学习资源

    2018-09-07 09:10:25
    两个MicroCap应用的视频,主要介绍如何使用MicroCap进行声学仿真;2.几个图片文件,是我学习声学仿真所收集到的资料。因为很多资料是花钱购买的,不方便直接分享,这里只是截图一下,给个名称列表,有兴趣的可以...
  • CAP4密码分析软件下载

    2020-12-01 10:17:04
    经典密码与现代密码这本书中用到的密码分析工具 CAP4,试验打开直接使用即可,学习密码安全相关的小伙伴可以试验下。
  • CAP505.exe

    2019-10-12 11:40:15
    CAP505工具适用于WIN7 32位的版本。服务RE_541_3_5系列保护、SPAJ140、SPAM150系列保护和REX521保护。
  • CAP4加密分析软件

    2020-06-16 22:25:22
    利用CAP软件实现几种常用密码加密和解密;利用CAP软件对密文进行分析。用于分析一写常见的加密算法,例如Hill、Vigenere算法。
  • CAP

    千次阅读 2019-07-15 11:29:43
    CAP是什么 CAP是一个处理分布式事务的解决方案,遵循最终一致性并基于消息队列实现的分布式事务中间件。 CAP原理 消息持久化 CAP使用本地数据库“Cap.Published”表持久化发布的消息。 消息成功发布到消息队列后...
    1. CAP是什么

    CAP是一个处理分布式事务的解决方案,遵循最终一致性并基于消息队列实现的分布式事务中间件。

     

    1. CAP原理
    1. 消息持久化
    1. CAP使用本地数据库“Cap.Published”表持久化发布的消息。
    2. 消息成功发布到消息队列后“Cap.Received”表会更改状态为“Successed”,CAP启动消息队列持久化功能。

     

    1. 消息向MQ发送
    2. 消息从MQ消费
    3. 订阅者方法执行

     

    1. 应用场景
    1. 分布式事务中的最终一致性(异步确保)的方案
    2. 具有高可用性的 EventBus

     

    1. 如何使用CAP
    1. 引用CAP的NuGet包

    PM> Install-Package DotNetCore.CAP

    1. 根据使用的不同类型的数据库,来引入不同的扩展包:

    PM> Install-Package DotNetCore.CAP.SqlServer

    PM> Install-Package DotNetCore.CAP.MySql

    PM> Install-Package DotNetCore.CAP.PostgreSql

    PM> Install-Package DotNetCore.CAP.MongoDB

    1. 根据使用的不同类型的消息队列,来引入不同的扩展包:

    PM> Install-Package DotNetCore.CAP.RabbitMQ

    PM> Install-Package DotNetCore.CAP.Kafka

    1. 启动配置

    在 ASP.NET Core 程序中,你可以在 Startup.cs 文件 ConfigureServices() 中配置 CAP 使用到的服务:

    public void ConfigureServices(IServiceCollection services)

    {

           services.AddCap(x =>

                {

                    //配置Cap的本地消息记录库,用于服务端保存Published消息记录表;客户端保存Received消息记录表

     

                    // 此方法默认使用的数据库Schema为Cap;2,要求最低sql server2012(因为使用了Dashboard的sql查询语句使用了Format新函数)

                    //x.UseSqlServer("Integrated Security=False;server=服务器;database=cap;User ID=sa;Password=密码;Connect Timeout=30");

     

                    // 配置Cap的本地消息记录库,用于服务端保存Published消息记录表;客户端保存Received消息记录表

                    // 此方法可以指定是否使用sql server2008,数据库Schema,链接字符串

                    x.UseSqlServer((options) =>

                    {

                        //数据库连接字符串

                        options.ConnectionString = "数据库连接字符串";

                        //标记使用的是SqlServer2008引擎(此处设置的是2008,因为192.168.1.109数据库是2008)

                        options.UseSqlServer2008();

                        //Cap默认使用的数据库Schema为Cap;此处可以指定使用自己的数据库Schema

                        options.Schema = "CAPTest";

                    });

     

                    //使用Kafka作为底层之间的消息发送

                    x.UseKafka("192.168.1.100:9092,192.168.1.101:9092,192.168.1.102:9092");

                    //x.UseKafka(options =>

                    //{

                    //    options.Servers = "192.168.1.230:9092,192.168.1.231:9092,192.168.1.232:9092";

                    //});

     

                    //使用Dashboard,这是一个Cap的可视化管理界面;默认地址:http://localhost:端口/cap

                    x.UseDashboard();

     

                    //默认分组名,此值不配置时,默认值为当前程序集的名称

                    x.DefaultGroup = "DefaultGroup";

     

                    //失败后的重试次数,默认50次;在FailedRetryInterval默认60秒的情况下,即默认重试50*60秒(50分钟)之后放弃失败重试

                    //x.FailedRetryCount = 10;

     

                    //失败后的重拾间隔,默认60秒

                    //x.FailedRetryInterval = 30;

     

                    //设置成功信息的删除时间默认24*3600秒

                    //x.SucceedMessageExpiredAfter = 60 * 60;

     

                    //失败之后的回调函数:达到失败重试的上线时才触发此事件

                    x.FailedThresholdCallback = FailCallBack;

                });

    }

     

    1. 发布消息,使用ICapPublisher接口中的Publish<T>或者PublishAsync<T>方法来发送消息:

    public class PublishController : Controller{

        private readonly ICapPublisher _capBus;

     

        public PublishController(ICapPublisher capPublisher)

        {

            _capBus = capPublisher;

        }

     

        //不使用事务    [Route("~/without/transaction")]

        public IActionResult WithoutTransaction()

        {

            _capBus.Publish("xxx.services.show.time", DateTime.Now);

     

            return Ok();

        }

     

        //Ado.Net 中使用事务,自动提交    [Route("~/adonet/transaction")]

        public IActionResult AdonetWithTransaction()

        {

            using (var connection = new MySqlConnection(ConnectionString))

            {

                using (var transaction = connection.BeginTransaction(_capBus, autoCommit: true))

                {

                    //业务代码

     

                    _capBus.Publish("xxx.services.show.time", DateTime.Now);

                }

            }

            return Ok();

        }

     

        //EntityFramework 中使用事务,自动提交    [Route("~/ef/transaction")]

        public IActionResult EntityFrameworkWithTransaction([FromServices]AppDbContext dbContext)

        {

            using (var trans = dbContext.Database.BeginTransaction(_capBus, autoCommit: true))

            {

                //业务代码

     

                _capBus.Publish("xxx.services.show.time", DateTime.Now);

            }

            return Ok();

        }}

     

    (6)消息补偿

    有时候当发送一条消息出去之后,希望有一个回调可以获得消费方法的通知,用来补偿发送方做的业务操作,那么可以使用下面这个重载。

    PublishAsync<T>(string name,T object, string callBackName)

    这个重载中 callbackName 是一个回调的订阅方法名称,当消费端处理完成消息之后CAP会把消费者的处理结果返回并且调用指定的订阅方法。

    在一些需要业务补偿的场景中,我们可以利用此特性进行一些还原的补偿操作。例如:电商系统中的付款操作,订单在进行支付调用支付服务的过程中如果发生异常,那么支付服务可以通过返回一个结果来告诉调用方此次业务失败,调用方将支付状态标记为失败。 调用方通过订阅 callbackName(订阅参数为消费方方法的返回值) 即可接收到支付服务消费者方法的返回结果,从而进行补偿的业务处理。

    下面是使用方法:

    // 发送方_capBus.Publish("xxx.services.show.time",DaateTime.Now,"callback-show-execute-time");

    [CapSubscribe("callback-show-execute-time")]   //对应发送的 callbackName

    public void ShowPublishTimeAndReturnExecuteTime(DateTime time)

    {

    Console.WriteLine(time); // 这是订阅方返回的时间

    }

    //------------------------------------------------------------

    //订阅方[CapSubscribe("xxx.services.show.time")]

    public DateTime ShowPublishTimeAndReturnExecuteTime(DateTime time)

    {

        Console.WriteLine(time); // 这是发送的时间

    return DateTime.Now; // 这是消费者返回的时间,CAP会取该方法的返回值用来传递到发送方的回调订阅里面

    }

    1. 订阅/消费

    注意:框架无法做到100%确保消息只执行一次,所以在一些关键场景消息端在方法实现的过程中自己保证幂等性。

    使用 CapSubscribeAttribute 来订阅 CAP 发布出去的消息。

    1

    2

    3

    4

    5

    [CapSubscribe("xxx.services.bar")]public void BarMessageProcessor(){

    }

    这里,你也可以使用多个 CapSubscribe[""] 来同时订阅多个不同的消息 :

    1

    2

    3

    4

    5

    6

    [CapSubscribe("xxx.services.bar")][CapSubscribe("xxx.services.foo")]public void BarAndFooMessageProcessor(){

    }

    其中,xxx.services.bar 为订阅的消息名称,内部实现上,这个名称在不同的消息队列具有不同的代表。 在 Kafka 中,这个名称即为 Topic Name。 在RabbitMQ 中,为 RouteKey。

    例外情况

    这里有几种情况可能需要知道:

    ① 消息发布的时候订阅方还未启动

    Kafka:

    当 Kafka 中,发布的消息存储于持久化的日志文件中,所以消息不会丢失,当订阅者所在的程序启动的时候会消费掉这些消息。

    RabbitMQ:

    在 RabbitMQ 中,应用程序**首次启动**会创建具有持久化的 Exchange 和 Queue,CAP 会针对每一个订阅者Group会新建一个消费者队列,由于首次启动时候订阅者未启动的所以是没有队列的,消息无法进行持久化,这个时候生产者发的消息会丢失

    针对RabbitMQ的消息丢失的问题,有两种解决方式:

    i. 部署应用程序之前,在RabbitMQ中手动创建具有durable特性的Exchange和Queue,默认情况他们的名字分别是(cap.default.topic, cap.default.group)。

    ii. 提前运行一遍所有实例,让Exchange和Queue初始化。

    我们建议采用第 ii 种方案,因为很容易做到。

    文档:

    http://cap.dotnetcore.xyz/user-guide/zh/getting-started/quick-start/

    源码:

    https://github.com/dotnetcore/CAP/tree/master/samples

     

     

     

    展开全文
  • 晶振load cap计算方法

    2020-11-20 10:48:06
    原来晶振里面的load capacitance的值是跟外界的电容值是不一样, 这个我找到的计算方法,供参考。
  • IC-CAP 2016与 IC-CAP 2018安装文件
  • 这是我为数字通信系统类创建的 Simulink 模型。 它演示了无载波幅度相位 (CAP) 调制并使用升余弦脉冲来实现 16-QAM 调制解调器。
  • CAP4 V4.3应用定制平台发布文档.pdfCAP4 V4.3应用定制平台发布文档.pdfCAP4 V4.3应用定制平台发布文档.pdfCAP4 V4.3应用定制平台发布文档.pdfCAP4 V4.3应用定制平台发布文档.pdf
  • 在Linux某种特殊情况下 ping命令报错cat_set_proc 该文档源码层级分析核心原因 帮忙学习Linux权限、用户等
  • micro cap11.pdf

    2019-07-09 11:25:34
    这是官方的用户手册,希望对mimicro cap 初学者有一琔的帮助。
  • 基于投射式电容(p-cap)传感器技术的小型触摸屏的需求量持续大幅攀升。这种传感器技术已在便携式消费品领域取得成功,现在,该技术也有望在工业与企业应用中大放光彩。不过,对消费类设备适用的触控技术不一定对...
  • VideoCap.zip

    2018-01-25 16:31:10
    摄像头预览工具,小巧好用,绿色,能看到摄像头参数,非常好
  • npm install --save @lykmapipo/cap-consumer 用法 import { fetchAlerts } from '@lykmapipo/cap-consumer' ; const optns = { url : 'https://cap-sources.s3.amazonaws.com/tz-tma-en/rss.xml' } ; fetchAlerts ...
  • 常熟开关CAP2系列自动转换开关说明书pdf,CAP2系列自动转换开关电器(以下简称为装置)为PC级三段式自动转换开关电器,主要用于交流50Hz,额定电压400V及以下,额定工作电流至630A的两路中性点接地电源系统(常用电源...
  • 经典密码学CAP4 CAP4

    2020-11-18 11:00:09
    经典密码学CAP4
  • standard-10-5-cap385.elp

    2021-04-20 20:00:27
    国际标准10-5系统脑电通道定位文件
  • 用于 Rust 的 Cap'n Proto文件博客介绍Cap'n Proto是分布式系统的类型系统。使用 Cap'n Proto,您可以在架构文件中描述您的数据和接口,如下所示:@0x986b3393db1396c9 ;structPoint { x@0:Float32 ; y@1:Float32 ...
  • 使用STM32F103ZET6实现信号的边沿捕获
  • 致远 CAP 应用定制平台 V4.0 白皮书致远 CAP 应用定制平台 V4.0 白皮书
  • 常熟开关CAP1系列自动转换开关说明书pdf,CAP1系列自动转换开关(以下简称为装置),适用于额定工作电压AC400V50Hz、额定工作电流32A至400A的两路中性点接地的电源系统(常用电源和备用电源或常用电源和发电电源)中...
  • Core 4.0~5.2:L2CAP、HCI、无线部分 A2DP AVCTP AVDTP AVRCP BIP BNEP CGMP CPS CSS CTN CTS DIS DUN FTP GATT GAVDP GOEP GPP HDP HID HSP IRDA LLS MAP MESH OPP PAN PBAP PXP RFCOMM SPP VDP 等等
  • 什么是 CAP 关于 CAP 理论的背景介绍已经很多,这里不过多介绍,我们谈谈如何理解它的问题。 用通俗易懂的话解释三个名词: 一致性 如果刚刚向一个节点写入,那么之后,从另外一个节点读取的必须是刚刚写入的数据,...
  • 思科AP AIR-CAP1602I-C-K9瘦转胖
  • 这款 399 美元的 CAP7 入门级开发工具包是首个配有‘ARM7加FPGA’ 的开发工具包,提供了评测设计和验证 CAP7 概念的低成本替代方案,而且无任何NRE费用和风险。 爱特梅尔公司 (Atmel:registered: ...
  • Atmel现已推出面向其CAP可定制微控制器(MCU)产品系列的入门级开发工具,名为AT91CAP9A-STK入门包。CAP入门工具包不但成本低,而且无风险,是评测CAP MCU定制功能的理想工具,它将专用IP构件映射到FPGA中,再仿真CAP...
  • cap2det谷歌结合文字信息进行弱监督检测,Cap2Det:Learning to Amplify Weak Caption Supervision for Object Detection: This article exploits whole caption sentences to do weakly supervised object detection ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 185,603
精华内容 74,241
关键字:

CAP