You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

configuration.md 5.3 KiB

5 years ago
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 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. ## 配置
  2. CAP 使用 Microsoft.Extensions.DependencyInjection 进行配置的注入,你也可以依赖于 DI 从json文件中读取配置。
  3. ### Cap Options
  4. 你可以使用如下方式来配置 CAP 中的一些配置项,例如
  5. ```cs
  6. services.AddCap(capOptions => {
  7. capOptions.FailedCallback = //...
  8. });
  9. ```
  10. `CapOptions` 提供了以下配置项:
  11. NAME | DESCRIPTION | TYPE | DEFAULT
  12. :---|:---|---|:---
  13. DefaultGroup | 订阅者所属的默认消费者组 | string | cap.queue+程序集名称
  14. SuccessedMessageExpiredAfter | 成功的消息被删除的过期时间 | int | 3600 秒
  15. FailedCallback| 执行失败消息时的回调函数,详情见下文 | Action | NULL
  16. FailedRetryInterval | 失败重试间隔时间 | int | 60 秒
  17. FailedRetryCount | 失败最大重试次数 | int | 50 次
  18. CapOptions 提供了 `FailedCallback` 为处理失败的消息时的回调函数。当消息多次发送失败后,CAP会将消息状态标记为`Failed`,CAP有一个专门的处理者用来处理这种失败的消息,针对失败的消息会重新放入到队列中发送到MQ,在这之前如果`FailedCallback`具有值,那么将首先调用此回调函数来告诉客户端。
  19. FailedCallback 的类型为 `Action<MessageType,string,string>`,第一个参数为消息类型(发送的还是接收的),第二个参数为消息的名称(name),第三个参数为消息的内容(content)。
  20. ### RabbitMQ Options
  21. CAP 采用的是针对 CapOptions 进行扩展来实现RabbitMQ的配置功能,所以针对 RabbitMQ 的配置用法如下:
  22. ```cs
  23. services.AddCap(capOptions => {
  24. capOptions.UseRabbitMQ(rabbitMQOption=>{
  25. // rabbitmq options.
  26. });
  27. });
  28. ```
  29. `RabbitMQOptions` 提供了有关RabbitMQ相关的配置:
  30. NAME | DESCRIPTION | TYPE | DEFAULT
  31. :---|:---|---|:---
  32. HostName | 宿主地址 | string | localhost
  33. UserName | 用户名 | string | guest
  34. Password | 密码 | string | guest
  35. VirtualHost | 虚拟主机 | string | /
  36. Port | 端口号 | int | -1
  37. TopicExchangeName | CAP默认Exchange名称 | string | cap.default.topic
  38. RequestedConnectionTimeout | RabbitMQ连接超时时间 | int | 30,000 毫秒
  39. SocketReadTimeout | RabbitMQ消息读取超时时间 | int | 30,000 毫秒
  40. SocketWriteTimeout | RabbitMQ消息写入超时时间 | int | 30,000 毫秒
  41. QueueMessageExpires | 队列中消息自动删除时间 | int | (10天) 毫秒
  42. ### Kafka Options
  43. CAP 采用的是针对 CapOptions 进行扩展来实现 Kafka 的配置功能,所以针对 Kafka 的配置用法如下:
  44. ```cs
  45. services.AddCap(capOptions => {
  46. capOptions.UseKafka(kafkaOption=>{
  47. // kafka options.
  48. // kafkaOptions.MainConfig.Add("", "");
  49. });
  50. });
  51. ```
  52. `KafkaOptions` 提供了有关 Kafka 相关的配置,由于Kafka的配置比较多,所以此处使用的是提供的 MainConfig 字典来支持进行自定义配置,你可以查看这里来获取对配置项的支持信息。
  53. [https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md](https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md)
  54. ### EntityFramework Options
  55. 如果使用的 Entityframework 来作为消息持久化存储的话,那么你可以在配置 CAP EntityFramework 配置项的时候来自定义一些配置。
  56. ```cs
  57. services.AddCap(x =>
  58. {
  59. x.UseEntityFramework<AppDbContext>(efOption =>
  60. {
  61. // entityframework options.
  62. });
  63. });
  64. ```
  65. 注意,如果你使用了 `UseEntityFramework` 的配置项,那么你不需要再次配置下面的章节几个针对不同数据库的配置,CAP 将会自动读取 DbContext 中使用的数据库相关配置信息。
  66. NAME | DESCRIPTION | TYPE | DEFAULT
  67. :---|:---|---|:---
  68. Schema | Cap表架构 | string | Cap (SQL Server)
  69. Schema | Cap表架构 | string | cap (PostgreSql)
  70. TableNamePrefix | Cap表前缀 | string | cap (MySql)
  71. ### SqlServer Options
  72. 注意,如果你使用的是 EntityFramewrok,你用不到此配置项。
  73. CAP 采用的是针对 CapOptions 进行扩展来实现 SqlServer 的配置功能,所以针对 SqlServer 的配置用法如下:
  74. ```cs
  75. services.AddCap(capOptions => {
  76. capOptions.UseSqlServer(sqlserverOptions => {
  77. // sqlserverOptions.ConnectionString
  78. });
  79. });
  80. ```
  81. NAME | DESCRIPTION | TYPE | DEFAULT
  82. :---|:---|---|:---
  83. Schema | Cap表架构 | string | Cap
  84. ConnectionString | 数据库连接字符串 | string | null
  85. ### MySql Options
  86. 注意,如果你使用的是 EntityFramewrok,你用不到此配置项。
  87. CAP 采用的是针对 CapOptions 进行扩展来实现 MySql 的配置功能,所以针对 MySql 的配置用法如下:
  88. ```cs
  89. services.AddCap(capOptions => {
  90. capOptions.UseMySql(mysqlOptions => {
  91. // mysqlOptions.ConnectionString
  92. });
  93. });
  94. ```
  95. NAME | DESCRIPTION | TYPE | DEFAULT
  96. :---|:---|---|:---
  97. TableNamePrefix | Cap表名前缀 | string | cap
  98. ConnectionString | 数据库连接字符串 | string | null
  99. ### PostgreSql Options
  100. 注意,如果你使用的是 EntityFramewrok,你用不到此配置项。
  101. CAP 采用的是针对 CapOptions 进行扩展来实现 PostgreSql 的配置功能,所以针对 PostgreSql 的配置用法如下:
  102. ```cs
  103. services.AddCap(capOptions => {
  104. capOptions.UsePostgreSql(postgreOptions => {
  105. // postgreOptions.ConnectionString
  106. });
  107. });
  108. ```
  109. NAME | DESCRIPTION | TYPE | DEFAULT
  110. :---|:---|---|:---
  111. Schema | Cap表名前缀 | string | cap
  112. ConnectionString | 数据库连接字符串 | string | null