Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

add docs to master (#284) * update version to 2.4.0 * Add version options to config file. * update resource * add message version support for dashboard * add message version support for dashboard * Support using version to isolate messages. #220 * update mongo unit tests * update unit tests * update unit tests * Set default versions for consumer groups * solve the problem of issue#181 (#237) * Issue#235 (#238) * solve the problem of issue#181 * solve the problem of issue#235 * refactor * Fix the message persistence bug. #240 * using new CamelCaseNamingStrategy * update packages to .net core 2.2 * update test framework to netcoreapp2.2 * Update .travis.yml * update TargetFramework * Exclude build samples project * update version to 2.4.1 * add samples project to sln for build * update version to 2.4.2 * Fixed PostgreSql version isolation feature bug. (#256) * Fixed spelling errors * modify cap publish Message to rabbitmq slow (#261) * Startup the CAP with the BackgroundService. #265 * update samples * Fixed SQL query bug. #266 * update travis ci config * update travis ci config * adjust dashboard table column width * adjust the consumer execution time to milliseconds * update ignore * add mkdocs.yml * update version to 2.4.3 * add about.md docs * add index.md docs * add docs * add docs * add docs * add docs * add docs * add docs * add docs * add docs * add docs * add docs * add docs * Fix resource files * add docs * add docs * add docs * Create readme.md * add markdown extensions supports * update about.md * add CNAME fiel * add img * update docs * Update README.zh-cn.md
5 лет назад
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. **1、有CAP学习QQ群吗?**
  2. CAP没有群。
  3. 原因是我希望培养大家独立思考和遇到问题时候的解决能力。
  4. 使用时候遇到问题先尝试看文档和独立解决,如果解决不了,可以提ISSUE或者发邮件。
  5. QQ群有效沟通太低,浪费时间。
  6. **2、CAP要求发送者与接收者必须使用不同的数据库吗?**
  7. 没有要求,要求不同的实例使用不同的数据库。不同实例的意思为,不同代码的两套程序。
  8. 但是如果你真的需要在不同的实例使用相同的数据库,那么可以参考下面3的答案。
  9. **3、CAP如何在不同的实例中使用相同的数据库?**
  10. 如果想在不同的实例(程序)中连接相同的数据库,那么你可以在配置CAP的时候通过指定不同的数据库表名前缀来实现。
  11. 你可以通过以下方式来指定数据库表名前缀:
  12. ```cs
  13. public void ConfigureServices(IServiceCollection services)
  14. {
  15. services.AddCap(x =>
  16. {
  17. x.UseKafka("");
  18. x.UseMySql(opt =>
  19. {
  20. opt.ConnectionString = "connection string";
  21. opt.TableNamePrefix = "appone"; // 在这里配置不同的实例使用的表名前缀
  22. });
  23. });
  24. }
  25. ```
  26. 注意:相同的实例不需要指定不同的表名称前缀,他们在接收消息的时候会进行负载均衡。
  27. **4、CAP可以不使用数据库吗? 我仅仅是想通过她来传递消息,我可以接受消息丢失的情况**
  28. 目前是不可以的。
  29. CAP 的设计目标即为在不同的微服务或者SOA系统中来保持数据一致性的一种解决方案,保证这种数据一致性方案的前提是利用了传统数据库的 ACID 特性,如果离开了数据库,那么CAP仅仅是一个消息队列的客户端封装,这没有任何意义。
  30. **5、使用CAP时候,业务出现错误怎么回滚?**
  31. 不能回滚,CAP是最终一致性的方案。
  32. 你可以想象你的场景为在调用第三方支付,假如你在进行一项第三方支付的操作,调用支付宝的接口成功后,而你自己的代码出现错误了,支付宝会回滚吗? 如果不回滚那么是又应该怎么处理呢? 这里也是同理。